12-Factor Agents 是由 HumanLayer 团队提出的一套构建可靠大型语言模型(LLM)驱动软件的工程原则,旨在帮助开发者将 LLM 应用部署到生产环境中。
项目背景
随着 LLM 技术的发展,许多开发者尝试将其集成到软件系统中。然而,简单地将 LLM 与工具结合并循环执行,往往难以满足生产环境对可靠性、可维护性和可扩展性的要求。
12 个核心原则
- 自然语言到工具调用:将自然语言输入转换为结构化的工具调用,确保操作的可预测性和可控性。
- 掌控提示词:对提示词进行版本控制和管理,确保模型行为的一致性。
- 管理上下文窗口:合理管理模型的上下文,避免信息过载或缺失。
- 工具即结构化输出:将工具的输出标准化,便于解析和后续处理。
- 统一执行状态与业务状态:确保模型的执行状态与业务逻辑状态的一致性。
- 简单的 API 控制:通过简单的 API 实现任务的启动、暂停和恢复。
- 通过工具调用联系人工:在关键节点引入人工审核,增强系统的可靠性。
- 掌控控制流程:明确模型的控制流程,避免不可预期的行为。
- 将错误压缩到上下文中:在上下文中记录错误信息,便于模型理解和处理。
- 小型、专注的代理:构建专注于特定任务的小型代理,提升系统的模块化和可维护性。
- 随处触发,满足用户需求:支持从任何位置触发代理,满足用户的多样化需求。
- 使代理成为无状态的归约器:设计无状态的代理,简化系统的状态管理。
应用场景
- AI 系统开发:为开发者提供构建可靠 LLM 应用的指导原则。
- 系统架构设计:帮助架构师设计可扩展、可维护的 AI 系统。
- 团队协作:促进团队在开发 LLM 应用时的协作与规范统一。