3️⃣ 个人 AI 日程助理 (带工具调用)
![[Pasted image 20260413142934.png]]
ScheduleStore:负责读写schedule.txtread_all():读所有行- append(line):追加一条
- clear():清空
TimeParser:把“明天下午三点开会”解析成结构化数据parse(text):返回 {date, time, title}
ScheduleTools:封装为@tool的函数read_schedule()/ write_schedule(line) /clear_schedule()
AgentService:负责 prompt + agent 执行build_prompt()build_agent()- run(input)
CliApp:CLI 循环入口loop()
核心技能:LangChain
Agent与AgentExecutor、自定义工具(@tool装饰器)、系统交互(操作文件)。项目描述:做一个能帮你“记住事情”和“安排任务”的终端助手。你可以对它说:“明天下午3点提醒我开会”,它就自动把信息写进一个本地的
schedule.txt文件里;你问它“我明天有什么事”,它能读取文件内容并回答。难度:⭐ ⭐ ⭐
亮点实现:
* 手写 read_file 和 write_file 两个工具,让 LLM 能够自主决定何时调用。
* 练习 Prompt 如何引导 LLM 正确提取日期和事件信息。
- 预计耗时:4-5 天
好的,我给你做一个完整项目规划(参考你上面的项目风格),并按“可落地的开发步骤 + 里程碑测试”来组织。你确认后我们再一步步写代码。
个人 AI 日程助理(带工具调用)项目规划
1. 目标与范围
目标:终端助手可记录/查询日程,自动读写本地
schedule.txt交互:自然语言输入(如“明天下午3点提醒我开会”)
能力:自动解析时间与事项、写入/读取文件、返回查询结果
模型:本地 Ollama(可选 Qwen3 系列)
2. 核心模块拆分
- 工具层(Tools)
read_file(path):读取日程文件write_file(path, content):追加/写入日程可选:
clear_file(path)、list_events(date)
- 解析层(Parser)
解析自然语言时间(如“明天/下周一/下午3点”)
规范为统一格式(
YYYY-MM-DD HH:MM)推荐:先用简单规则,后续可加
dateparser
- Agent 层(LangChain Agent)
Prompt 明确:何时调用工具、输出格式
AgentExecutor 调用工具链
模型与工具绑定
- 存储层(Schedule Store)
schedule.txt结构规范:
YYYY-MM-DD HH:MM | 事件 | 备注
- CLI 层
输入循环
支持退出、清空、查询、添加
维护 session
3. 里程碑规划(可测试)
M1:工具层(read/write)能正常写入/读取
M2:解析层能识别 5 类常见日期表达
M3:Agent 能选择工具并完成写入/查询
M4:CLI 完整闭环 + 基本错误处理
4. 推荐开发顺序
先写
tools.py(read/write)再写
parser.py(规则解析)再写
agent.py(Prompt + AgentExecutor)最后 main.py 串联 CLI
5. 测试样例
“明天下午3点提醒我开会” → 写入
“我明天有什么事” → 读取并过滤
“清空日程” → 文件清空
“下周一 9:30 体检” → 写入
你先确认:
解析时间要走 规则 还是 dateparser?
输出文件格式是否用
YYYY-MM-DD HH:MM | 事件这种?是否要支持“清空/删除某条”?
评论