我的第一个 Agent 项目复盘:从 demo 到能跑
学了一个月 Agent 理论后,我决定动手做一个真正能用的东西:自动周报 Agent——给它一周的 Git commit 和会议笔记,自动产出周报。这篇复盘记录我从想法到 demo 的全过程。
需求拆解
输入:Git log(本周 commits)+ 我的随手笔记(散乱文本) 输出:结构化周报(本周完成 / 下周计划 / 风险阻塞)
我把它拆成 3 个 Agent:
- Collector:拉取 git log,解析笔记
- Writer:把素材组织成周报初稿
- Reviewer:检查周报是否覆盖所有要点,打回重写
架构选择
一开始想用 LangGraph 画状态机,结果发现复杂度爆炸。改用最简单的串行 pipeline:Collector → Writer → Reviewer → (若不通过则回到 Writer)。先跑通再加复杂度,这是这次最重要的教训。
踩过的三个坑
坑1:上下文太长导致模型跑偏
把整周 git log 全塞进去,模型经常抓不住重点。解决方案:先让一个小 LLM 做摘要,再喂给 Writer。
坑2:Reviewer 永远说"通过"
第一次写 Reviewer prompt 时,它基本不会打回。后来在 prompt 里加了"必须列出至少 2 个改进点",才让评审真的起作用。LLM 默认是讨好型的,prompt 要明确要求它挑刺。
坑3:输出格式不稳定
让模型输出 JSON,偶尔会输出带 markdown 代码块的 JSON,解析直接炸。最后用了 json-repair 库做容错,问题缓解。
最终效果
跑通后,一份周报从原来手写 30 分钟,压到 3 分钟 review + 微调。对一个学生组织的小项目来说,已经够用。
复盘
- 先 MVP 再优化:别一上来就上 LangGraph
- prompt 是核心:每个 Agent 的 prompt 都迭代了 5 版以上
- 加日志:记录每一步的输入输出,debug 神器
做项目比看十篇博客学到的都多。下一步想加上"自动发飞书"功能。