3️⃣ 个人 AI 日程助理 (带工具调用)

Article detail

AI

2026/4/13 · 13 分钟阅读

3️⃣ 个人 AI 日程助理 (带工具调用)

![[Pasted image 20260413142934.png]]

  • ScheduleStore:负责读写 schedule.txt

  • TimeParser:把“明天下午三点开会”解析成结构化数据

  • ScheduleTools:封装为 @tool 的函数

  • AgentService:负责 prompt + agent 执行

  • CliApp:CLI 循环入口

    • loop()
  •   核心技能:LangChain AgentAgentExecutor、自定义工具(@tool 装饰器)、系统交互(操作文件)。

  •   项目描述:做一个能帮你“记住事情”和“安排任务”的终端助手。你可以对它说:“明天下午3点提醒我开会”,它就自动把信息写进一个本地的 schedule.txt 文件里;你问它“我明天有什么事”,它能读取文件内容并回答。

  •   难度:⭐ ⭐ ⭐

  •   亮点实现

    *   手写 read_filewrite_file 两个工具,让 LLM 能够自主决定何时调用。

    *   练习 Prompt 如何引导 LLM 正确提取日期和事件信息。

  •   预计耗时:4-5 天

好的,我给你做一个完整项目规划(参考你上面的项目风格),并按“可落地的开发步骤 + 里程碑测试”来组织。你确认后我们再一步步写代码。


个人 AI 日程助理(带工具调用)项目规划

1. 目标与范围  

  • 目标:终端助手可记录/查询日程,自动读写本地 schedule.txt  

  • 交互:自然语言输入(如“明天下午3点提醒我开会”)  

  • 能力:自动解析时间与事项、写入/读取文件、返回查询结果  

  • 模型:本地 Ollama(可选 Qwen3 系列)

2. 核心模块拆分  

  1. 工具层(Tools)

 

  • read_file(path):读取日程文件  

  • write_file(path, content):追加/写入日程  

  • 可选:clear_file(path)list_events(date)

 

  1. 解析层(Parser)

 

  • 解析自然语言时间(如“明天/下周一/下午3点”)  

  • 规范为统一格式(YYYY-MM-DD HH:MM)  

  • 推荐:先用简单规则,后续可加 dateparser

  1. Agent 层(LangChain Agent)

 

  • Prompt 明确:何时调用工具、输出格式  

  • AgentExecutor 调用工具链  

  • 模型与工具绑定

  1. 存储层(Schedule Store)

 

  • schedule.txt 结构规范:

 

  YYYY-MM-DD HH:MM | 事件 | 备注

  1. CLI 层

 

  • 输入循环  

  • 支持退出、清空、查询、添加  

  • 维护 session

3. 里程碑规划(可测试)  

  • M1:工具层(read/write)能正常写入/读取  

  • M2:解析层能识别 5 类常见日期表达  

  • M3:Agent 能选择工具并完成写入/查询  

  • M4:CLI 完整闭环 + 基本错误处理

 

4. 推荐开发顺序  

  1. 先写 tools.py(read/write)  

  2. 再写 parser.py(规则解析)  

  3. 再写 agent.py(Prompt + AgentExecutor)  

  4. 最后 main.py 串联 CLI

 

5. 测试样例  

  • “明天下午3点提醒我开会” → 写入  

  • “我明天有什么事” → 读取并过滤  

  • “清空日程” → 文件清空  

  • “下周一 9:30 体检” → 写入

 


你先确认:  

  1. 解析时间要走 规则 还是 dateparser?  

  2. 输出文件格式是否用 YYYY-MM-DD HH:MM | 事件 这种?  

  3. 是否要支持“清空/删除某条”?

评论

动作测试