代码,轻松地将 AI 模型与持续扩展的第三方工具生态系统进行集成。
工作流:提示链
提示链是一种将复杂任务拆解为多个步骤的方法,每个步骤代表调用一次大模型,后一步将基于前一步的结果继续处理。开发者可以在任意中间环节加入程序化的检查点(比如图中的「gate」),以确保流程按预期推进。
提示链工作流。
什么时候更适合用提示链工作流呢?当一个复杂任务能够被清晰地拆分成一系列固定的子任务时,提示链就是最佳选择。这种方法让每个模型只需专注完成一个简单任务,虽然整体响应时间可能会略长,但准确率会得到显著提升。
典型应用案例:
工作流:智能分流
分流技术能够判断输入任务的类型,并将其分配给相应的专门模块。这种设计让每个模块都能针对特定任务进行优化,避免了不同类型任务之间的相互干扰。
如果不采用这种分发机制,仅提升针对某类问题的效果,往往会影响到其他类型问题的处理质量。
智能分流的工作流。
什么时候适合用这种方法呢?当任务有明显的分类特征时,就很比较适合。AI 系统可以通过大语言模型或传统算法,准确识别任务类型并做出分流。
典型应用案例:
工作流:并行
大语言模型可以同时处理任务,并以编程方式聚合输出。这种并行化的工作流主要有两个特点:
并行工作流。
当子任务可以并行执行以提高速度,或需要多角度尝试以获得更高置信度的结果时,并行化的方法非常有效。对于涉及多个因素的复杂任务,让每次调用专注处理特定方面,会获得更好的效果。
典型应用案例:
任务分段:
投票机制:
工作流:领导 — 执行者
在这种工作流中,一个中央大语言模型会动态分解任务,分派给执行者模型,并汇总最终结果。
领导 — 执行者工作流。
这种工作流最适合那些难以提前确定具体步骤的复杂任务。比如在编程中,一个功能需求可能涉及多个文件的修改,而具体要改哪些文件、如何修改,往往要根据实际情况来决定。
虽然这种方式看起来和并行任务很像,但这种工作流更灵活 —— 任务的拆分不是固定的,而是由 AI 系统根据具体情况动态决定的。
典型应用案例:
工作流:评估 — 优化
在评估 — 优化工作流中,一个 LLM 调用生成响应,而另一个提供评估和反馈,形成循环。
评估 - 优化工作流。
何时使用这个工作流:当存在明确的评估标准,并且通过迭代细化可以带来显著价值时,这个工作流特别有效。
有两个显著特点:首先,当人类明确表达他们的反馈时,LLM 的响应可以明显改进;其次,LLM 能够提供这样的反馈。这类似于人类作家在创作一篇精心打磨的文档时所经历的反复修改的写作过程。
典型应用案例:
智能体
智能体在生产中随着 LLM 在关键能力上的成熟而出现,这些能力包括理解复杂输入、进行推理和规划、可靠地使用工具以及从错误中恢复。
智能体的工作始于人类用户的命令,或与人类用户的互动讨论。一旦任务明确,智能体就会独立规划和操作,中途可能需要向人类索取更多信息或让人类做判断。
在执行过程的每一步,从环境中获得「真实情况」(例如工具调用结果或代码执行)以评估其进度至关重要。然后,智能体可以在检查点或遇到阻塞时暂停以获取人类反馈。任务通常在完成后终止,但也通常包含停止条件(例如最大迭代次数)以保持控制。
智能体能够处理复杂的任务,但其实现通常很简单。它们通常只是循环中根据环境反馈来使用工具的大型语言模型。因此,设计工具集及其文档清晰、周到至关重要。作者在附录 2 中扩展了工具开发的最佳实践。
自动智能体。
何时使用智能体:智能体可以用于开放性问题,这种问题往往难以或不可能预测所需的步骤数量,并且你不能硬编码固定路径。LLM 可能会操作多个回合,你必须对其决策能力有一定程度的信任。智能体的自主性使它们成为在受信任环境中 scaling 任务的理想选择。
智能体的自主性意味着成本更高,并且可能存在错误累积的风险。作者建议在沙盒环境中进行广泛的测试,并设置适当的防护措施。
智能体的用途示例:
代码智能体的 High-level flow。
组合、定制这些模式
这些构建块不是规定性的。开发者可以塑造和组合这些构建块以适应不同用例。成功的关键是衡量性能并迭代实现。注意:只有在能够明显改善结果的情况下,你才应该考虑增加复杂性。
总结
在 LLM 领域取得成功并不在于构建最复杂的系统,而是在于为你的需求构建正确的系统。从简单的提示开始,用全面的评估优化它们,同时只有当更简单的解决方案无法实现时才添加多步骤智能体系统。
在部署智能体时,需要尝试遵循三个核心原则:
还没有评论,来说两句吧...