📄️ 架构1:自然语言到工具调用
智能体构建中最常见的模式之一是将自然语言转换为结构化的工具调用。这是一个强大的模式,允许您构建能够推理任务并执行任务的智能体。
📄️ 架构2. 拥有你自己的提示词
不要将你的提示词工程外包给某个框架。
📄️ 架构3. 掌控你的上下文窗口
在任何给定时刻,你在智能体中输入给 LLM 的内容本质上是:“这是到目前为止发生的情况,下一步该怎么做?”
📄️ 架构4. 工具只是结构化的输出
工具不需要很复杂。它们的核心只是来自LLM的结构化输出,用于触发确定性代码。
📄️ 架构5. 统一执行状态与业务状态
即使在AI领域之外,许多基础设施系统也试图将“执行状态”与“业务状态”分离开来。对于AI应用而言,这可能涉及复杂的抽象来追踪诸如当前步骤、下一步、等待状态、重试次数等信息。这种分离带来了复杂性,虽然有时是值得的,但对于你的使用场景来说可能有些过度。
📄️ 架构6. 通过简单的 API 实现启动/暂停/恢复
智能体(Agents)本质上是程序,我们按照既定的期望动、查询、恢复和停止它们
📄️ 架构7. 通过工具调用联系人类
默认情况下,LLM API 依赖于一个根本性的高风险 Token 选择:我们是返回纯文本内容,还是返回结构化数据?
📄️ 架构8. 拥有你的控制流
如果你能掌控自己的控制流,就可以做很多有趣的事情。
📄️ 架构9. 将错误信息压缩至上下文窗口
智能体的优势之一在于“自我修复”——对于短任务,大语言模型(LLM)可能会调用某个失败的工具。优秀的 LLM 有很大概率能够读取错误信息或堆栈跟踪,并在后续的工具调用中找出需要修改的地方。
📄️ 架构10. 小型、专注的智能体 (Agents)
与其构建试图包办一切的大型单体智能体,不如构建小巧、专注、只做好一件事的智能体。智能体只是一个更大的、基本确定的系统中的构建模块之一。
📄️ 架构11. 支持从任何地方触发,在用户所在之处与其互动
1b0-trigger-from-anywhere
📄️ 架构12. 将你的智能体构建为无状态的归约器
1c0-stateless-reducer