生产级 AI Agent 的六项原则

一份动态交互式文章摘要

原则一:投资你的系统提示词 (System Prompt)
  • 放弃“魔法咒语”式提示词。现代LLM需要的是清晰、详尽、无矛盾的指令,而非技巧性诱导。
  • 遵循模型供应商的最佳实践文档(如 Anthropic, Google)。
  • 用研究型LLM(如 Deep Research)生成初版提示词,再人工优化,这是一个很好的起点。
  • 将系统提示词设计为大而静态的部分,利用提示词缓存(Prompt Caching)机制提升效率。
原则二:精细化拆分与管理上下文 (Context)
  • 上下文管理是平衡的艺术:上下文过少导致幻觉,过多则导致成本、延迟和“注意力衰减”问题。
  • 采用“最小知识”原则:初始只提供最少信息(如文件列表),并提供工具(如 `read_file`)供 Agent 按需获取详细内容。
  • 对日志等动态内容使用自动化上下文压缩工具,避免上下文爆炸。
  • 像面向对象编程中的“封装”一样,为 Agent 的每个部分提供其绝对需要的最小上下文。
原则三:精心设计你的工具 (Tools)
  • 为 Agent 设计工具比设计人类使用的 API 更严苛,因为 LLM 会毫不留情地利用你设计的任何漏洞。
  • 工具应具备:相似的粒度、少量严格类型的参数、功能专注、经过充分测试、幂等性高。
  • 多数软件工程 Agent 的核心工具少于10个。也可以根据上下文动态加载额外工具。
  • 设计简单、充分、无歧义且不冗余的工具集,是保障 Agent 性能的关键。
原则四:构建强大的反馈循环 (Feedback Loop)
  • 采用“演员-评论家 (Actor-Critic)”模式:让 LLM(演员)自由创造,用确定性规则(评论家)严格验证。
  • 评论家应基于手工制定的标准:代码可编译、通过单元测试、符合Linter规范等。
  • 在任何领域,都要引入该领域的“归纳偏见”(Inductive Bias),即必须遵守的领域规则(如复式记账原则)。
  • 设计明确的恢复策略:对于失败,判断是“尝试修复”还是“直接放弃重来”,这构成了反馈循环的核心。
原则五:用 LLM 驱动错误分析 (LLM-driven Error Analysis)
  • Agent 会产生海量日志,人工分析效率低下。利用“元认知”循环是强大的策略。
  • 建立一个 meta-agentic 循环:1. 建立基线 -> 2. 运行并收集日志 -> 3. **用LLM分析日志**(长上下文模型是关键)-> 4. 根据分析结果改进基线。
  • 这种方法能高效揭示你在上下文管理或工具设计中的盲点。
原则六:令人沮丧的行为往往是系统问题
  • 当 Agent 做出“愚蠢”行为时,先别急着骂模型,这通常是系统设计缺陷的信号。
  • 真实案例:Agent 不用指定的 API,而是使用随机数据,原因是开发者忘了提供正确的 API 密钥。
  • 真实案例:Agent 尝试写入文件却屡次失败,原因是它根本没有被授予文件系统访问权限。
  • Agent 的“愚蠢”行为,很可能是它在当前系统限制下能找到的“最合逻辑”的变通方案。

总结: 构建高效 Agent 的关键不在于寻找某个“银弹”提示词,而在于**系统化的工程设计**。专注于清晰的指令、精简的上下文、鲁棒的工具和自动化的验证循环。当 Agent 的行为让你困惑时,首先调试你的系统。最终目标不是一个永不犯错的 Agent,而是一个**可靠、可恢复、能优雅失败并可持续迭代**的系统。

原文

翻译文章