跳到主要内容

AI Agent 使用心得

深度使用 AI Coding Agent 数月、完整开发 HippoBuddy 后的经验沉淀


前言

过去几个月,借助 AI Coding Agent 从零到一完成了 HippoBuddy 的开发。在这个过程中踩了不少坑,也摸索出一套行之有效的工作方式。以下 17 条经验,涵盖了上下文管理、会话分工、规则防御、判断纠偏、工具风险意识五个维度,希望对同样在深度使用 Agent 的你有帮助。


一、上下文管理

1. 上下文连贯纯净规则

一个会话只做一个相关性任务。 不要把多个不相关的任务塞进同一个会话里。Agent 的上下文有限,混杂的任务会互相干扰,导致 reasoning 质量下降。

2. 注意上下文膨胀

上下文太长之后,模型的思考和响应会变得僵化——思路打不开、容易陷入固定模式、反应也变慢。这是上下文膨胀带来的通病,不分 IDE 和模型。另外,每次工具调用都会把整个上下文一起发出去,上下文越大单次调用的 token 消耗就越大,几十轮下来成本差异可观。当感觉对话开始"转不动"了,就该果断开新会话了。

3. 善用会话分叉

HippoBuddy 每条消息都支持"从此处分叉为新会话"——从这条消息截断,生成一个独立的新会话。之前的上下文不会浪费,模型也不用重新处理。探索不同方案时不用担心上下文丢失。

适合需要分支探索的场景:

  • AI 给了一个方案但拿不准——叉出去试另一条路,当前结果不丢
  • 上下文变重了但前面的关键讨论还想保留——截断到合适位置,轻装上阵
  • 想并行比较不同方向——从同一处反复分叉,对比结果

二、会话分工

4. 总结进展,开新会话

当一段工作告一段落时,让 LLM 帮你总结目前的进展和结果,然后把总结复制到新会话的开头作为背景。这样可以轻装上阵,同时保留关键上下文。

5. 一轮对话分工明确

在一轮对话开始前,想清楚这一轮的目的是探索代码还是执行操作。探索和执行应该分开:

  • 探索阶段:允许 Agent 广泛阅读代码、提出方案
  • 执行阶段:聚焦实施,及时中断 Agent 的过度思考

这样一旦出现问题,回滚和理解 Agent 的意图都更清晰。


三、规则防御

6. 用 Rules 规范模型行为

不要指望模型天然就懂你的项目规范。通过 workspace-level 的 rule 文件,提前告诉模型:

  • 禁止做的事:不要引入新框架、不要修改配置文件、不要擅自升级依赖
  • 必须遵守的风格:命名规范、文件拆分原则、注释风格
  • 项目背景知识:当前技术栈、架构约定、历史决策原因

这样模型在执行任务时就有了硬约束,比你每次在 prompt 里反复叮嘱效果好得多。

7. 合理利用 Skill 弥补模型短板

模型在某些任务上表现很差:

  • 生成复杂文档(Word、PPT、Excel)→ 让模型调用专门的文档库/SDK
  • 高精度 UI 还原 → 让模型参考设计稿或组件库
  • 多步骤数理计算 → 让模型写代码来算,而不是自己算

不要指望模型什么都擅长。 识别模型的弱项,用 skill 或工具链来补齐,效率会大幅提升。


四、判断与纠偏

8. 警惕模型"钻牛角尖"

当模型思考内容过长、陷入怀疑和自我否定的循环时,要停下来判断:

  • 是方向本身错了?
  • 还是 LLM 理解有偏差?
  • 还是你输入的 prompt 意图表达不够清晰?

及时终止无意义的循环,和模型重新对齐目标。

9. 模型有惯性思维

模型倾向于利用当前已有的上下文信息,朝着一个方向死磕。不要一味相信模型的判断,需要人为辨别方向是否正确,及时纠正和止损。

10. 该联网时就联网

模型倾向于用训练知识来回答问题,但对于一些时效性强、专业领域深入的问题,明确要求它联网搜索效果远比闭门造车好。不要默认模型什么都知道。

一个典型场景是配置环境和写配置文件——模型对这些的记忆往往过时、不准确甚至瞎编,联网搜一下官方文档比让它凭空猜靠谱得多。

11. 结合网页版免费 LLM 进行方案讨论

对于架构设计、方案对比等需要头脑风暴的场景,可以打开网页版 LLM(如 ChatGPT 免费版、Claude 等)先做一轮讨论。网页版往往回复更快、更灵活,适合前期方案探索。

12. 陈述句让 AI 迎合你,疑问句让 AI 思考你

向 AI 描述 bug 或问题时,如果用陈述语气下结论("这里有个 bug""这个是错的"),AI 会触发生成模式——它默认你的前提成立,然后去寻找证据验证它。但你的观察可能有偏差,AI 的理解也可能有偏差,结果就是双方在错误的方向上钻牛角尖。

更好的做法是用疑问句提问("这段逻辑是不是有问题?""这里的行为符合预期吗?"),这会触发 AI 的校验模式——它先检查前提是否成立,再给出结论。AI 的逻辑校验能力远比它的"猜测用户意图"能力可靠。这是一种表达技巧——把 AI 当作聪明人,像和人讨论问题一样提问。

例外:当你描述的是客观可验证的事实(报错原文、具体现象)时,用陈述句没问题;真正需要避免的,是对原因或结论的提前断言。

13. bug 反复修不好?加日志排查或开新会话

当一个 bug 经过多轮对话仍未能修复时,强烈建议你主动介入,而不是让 LLM 继续自主尝试。此时 LLM 很可能已经陷入了思维陷阱——它在错误的方向上反复打转,每次的"新方案"只是换一种方式重复同样错误的逻辑。

正确的做法是:叫停 LLM 的自主修复,要求它加上日志去排查。打印关键变量的值、追踪执行路径,让数据说话。日志给出的客观信息远比 LLM 的"猜测式修复"可靠。或者直接新开一个会话,清空上下文,重新从问题本身出发分析。

记住:LLM 反复修不好一个 bug,往往不是 bug 太难,而是它方向已经偏了。方向不对,越努力越糟糕。


五、工具风险意识

14. bash 容易陷入无限循环

Agent 在使用 bash 执行命令时,有时会陷入无限循环(比如不断重试、反复检查)。长时间运行的命令推荐手动在终端中执行,不要在聊天框里让 Agent 跑。

15. read / edit / write 同样有无限循环风险

不要以为只有 bash 会卡住。read、edit、write 这些工具同样可能陷入循环——比如 Agent 反复读同一个文件、反复写入同样的改动。需要人为判断并及时终止。

16. 危险命令有误删风险

bash、delete 工具操作时要格外小心。重要代码及时备份。不怕一万,只怕万一。


六、写在最后

17. 对话不仅仅是完成任务

不要把 Agent 会话当成一次性的工具调用。在对话中多记录、多总结、多更新文档。 任务即会话,会话即文档。充分记录并发挥每一个会话的作用——它们不仅是完成任务的通道,也是你日后回顾、复用的宝贵资产。