构建可靠LLM应用的设计原则
12-Factor Agents是一套方法论,就像软件开发领域的"12-Factor App"原则一样,它把传统软件工程里经过验证的最佳实践,创造性地用到了大模型驱动的Agent开发里。其核心目标是弥补Agent从原型开发到生产级应用的鸿沟,让Agent在可靠性、可伸缩性、可维护性、可调试性和安全性上,达到企业级应用的标准。
将用户自然语言指令结构化转换为API调用,利用LLM的意图识别能力
开发者应完全控制LLM的提示词,提示词应像代码一样被设计、版本控制和测试
主动管理和构建传递给LLM的上下文信息,包含LLM决策所需的一切信息
Agent中工具调用的本质是LLM生成的结构化数据,触发确定性代码执行
简化并统一执行状态和业务状态,Agent执行状态可从上下文窗口推断
为Agent提供简单、直观的API接口,方便各种系统轻松交互
LLM通过工具调用明确与人工交互,而不是直接输出自然语言请求
开发者应完全控制Agent的控制流,而不是依赖框架的预设流程
将错误信息压缩并整合到上下文窗口中,以便LLM能够理解和处理错误
构建小型、专注的Agent,每个Agent负责特定任务,而不是大型多功能Agent
Agent应能从各种渠道触发,并在用户所在的地方交互
Agent应设计为无状态的reducer,接收输入状态并返回新状态