智能代理¶
Note: ⚠️ 本文档由 AI 自动翻译。如有任何不准确之处,请参考英文原版。
智能代理节点让你的大型语言模型自主控制工具,使其能够迭代决定使用哪些工具以及何时使用它们。智能代理不是预先规划每一步,而是动态地推理问题,根据需要调用工具来完成复杂任务。

智能代理策略¶
智能代理策略定义了你的智能代理如何思考和行动。选择最适合你的模型能力和任务需求的方法。

函数调用:
使用大型语言模型的原生函数调用能力,通过工具参数直接传递工具定义。大型语言模型使用其内置机制决定何时以及如何调用工具。
最适合像 GPT-4、Claude 3.5 和其他具有强大函数调用支持的模型。
推理与行动 (ReAct):
使用结构化提示词来引导大型语言模型通过明确的推理步骤。遵循**思维 → 行动 → 观察**循环进行透明的决策制定。
适用于可能没有原生函数调用能力的模型,或者当你需要明确推理轨迹时。
Info:
从应用市场 → 智能代理策略安装其他策略,或向社区仓库贡献自定义策略。

配置¶
模型选择¶
选择支持你所选智能代理策略的大型语言模型。更强大的模型能更好地处理复杂推理,但每次迭代成本更高。如果使用函数调用策略,请确保你的模型支持函数调用。
工具配置¶
配置你的智能代理可以访问的工具。每个工具需要:
授权 - 在工作空间中配置的外部服务的 API 密钥和凭据
描述 - 清楚说明工具的作用以及何时使用它(这指导智能代理的决策制定)
参数 - 工具接受的必需和可选输入,带有适当的验证
指令和上下文¶
使用自然语言指令定义智能代理的角色、目标和上下文。使用 Jinja2 语法引用上游工作流节点的变量。
查询指定智能代理应该处理的用户输入或任务。这可以是来自先前工作流节点的动态内容。

执行控制¶
最大迭代次数设置安全限制以防止无限循环。根据任务复杂性进行配置 - 简单任务需要 3-5 次迭代,而复杂研究可能需要 10-15 次。
记忆控制智能代理使用 TokenBufferMemory 记提供更多上下文,但会增加标记成本。这使得对话连续性成为可能,用户可以引用以前的行动。
工具参数自动生成¶
工具可以将参数配置为自动生成或手动输入。自动生成的参数(auto: false)由智能代理自动填充,而手动输入参数需要明确的值,这些值成为工具永久配置的一部分。
输出变量¶
智能代理节点提供全面的输出,包括:
最终答案 - 智能代理对查询的最终响应
工具输出 - 执行期间每次工具调用的结果
推理轨迹 - 逐步决策过程(推理与行动策略特别详细)在 JSON 输出中可用
迭代计数 - 使用的推理循环次数
成功状态 - 智能代理是否成功完成任务
智能代理日志 - 带有元数据的结构化日志事件,用于调试和监控工具调用
用例¶
研究与分析 - 智能代理可以自主搜索多个来源,综合信息,并提供全面的答案。
故障排除 - 诊断任务,智能代理需要收集信息、测试假设,并根据发现调整其方法。
多步数据处理 - 复杂的工作流,其中下一个行动取决于中间结果。
动态 API 集成 - API 调用序列取决于无法预先确定的响应和条件的场景。
最佳实践¶
清晰的工具描述帮助智能代理了解何时以及如何有效使用每个工具。
适当的迭代限制防止失控成本,同时为复杂任务提供足够的灵活性。
详细的指令提供关于智能代理角色、目标以及任何约束或偏好的上下文。
记忆管理根据你的用例要求平衡上下文保留与标记效率。