评论

Anthropic:Agents 最佳实践指南

Agents 实战指南

本章基于 Anthropic 最新发表的《Building effective agents》总结,这篇文章主要记录 Anthropic 与在最近一年中与多个行业团队的合作经验,其中包含了 Agent 实施的最佳实践和实用建议。以下为文章核心内容:

agents 的定义和分类

  1. agents(智能体) 的定义
  • 完全自主的系统:在扩展时间段内独立操作,使用各种工具完成复杂任务。
  • 预定义工作流程的实现:遵循预定义的工作流程。
  1. agents(智能体) 与 workflows(工作流) 的区别
  • Workflows(工作流):大模型和工具通过预定义的代码路径进行编排。
  • Agents(智能体):大模型动态指导其自身的过程和工具使用,保持对任务完成的控制。

如何使用 agents ?

  1. 使用场景
  • 复杂任务:当需要灵活性和规模化的模型驱动决策时,Agents(智能体)是更好的选择。
  1. 不使用场景
  • 简单任务:当任务可以清晰分解为固定子任务时,工作流程提供了可预测性和一致性。

框架的使用

  1. 常用框架
  • LangGraph:用于简化LLM调用、定义和解析工具以及链接调用的框架。
  • Amazon Bedrock的AI Agent框架:简化代理系统实现的框架。
  • Rivet:拖放GUI LLM工作流程构建器。
  • Vellum:用于构建和测试复杂工作流程的GUI工具。
  1. 使用框架的建议
  • 初学者使用LLM API:许多模式可以用几行代码实现。
  • 理解底层代码:确保理解框架的底层代码,避免错误的假设。

构建blocks、workflows 和 agents

  1. augmented LLM(增强型大模型)
  • 基本构建块:增强型LLM具有检索、工具和内存等增强功能。
  • 关键方面:定制这些功能以适应特定用例,并确保为LLM提供易于使用且有良好文档的接口。

The augmented LLM

  1. Workflow(工作流)
  • Prompt chaining(提示链):将任务分解为一系列步骤,每个LLM调用处理前一个调用的输出。

案例:

  • 生成营销文案,然后翻译成不同的语言。
  • 编写文档的大纲,检查大纲是否满足特定条件,然后根据大纲编写文档。
  • Routing(路由):对输入进行分类并将其引导至专门的后续任务。

案例:

  • 将不同类型的客户服务查询(一般问题、退款请求、技术支持)引导到不同的下游流程、Prompt 和工具中。
  • 将简单/常见问题路由到较小的模型,将困难/不寻常的问题路由到功能更强大的模型,以优化成本和速度。
  • Parallelization(并行化):LLMs可以同时处理任务,并聚合其输出。

案例:

  • 任务拆分
  • 一个模型实例处理用户查询,而另一个模型实例筛选用户查询是否存在不适当的内容或请求。这往往比使用相同的 LLM 调用同时处理响应的性能要好。
  • 评估 LLM 性能,其中每个 LLM 调用都会评估模型在给定 Prompt 下性能的不同方面。
  • 投票
  • 检查一段代码是否存在漏洞,如果发现问题,则几个不同的 Prompt 会检查并标记代码。
  • 评估给定的内容是否不合适,多个 Prompt 评估不同的方面或要求不同的投票阈值来平衡误报和漏报。
  • Orchestrator-worker(协调器-工作者):中央 LLM 动态分解任务并将其委托给 worker LLMs ,然后综合结果。

案例:

  • 每次对多个文件进行复杂更改的产品。
  • 涉及从多个来源收集和分析信息的搜索任务。
  • Evaluator-optimizer(评估器-优化器):一个LLM调用生成响应,另一个提供评估和反馈。

案例:

  • 文学翻译,译者 LLM 最初可能无法捕捉到细微差别,但评估者 LLM 可以提供有效建议。
  • 复杂的搜索任务,需要多轮搜索和分析以收集全面的信息,其中评估者 LLM 决定是否需要进一步搜索。

Agents

用于开放式问题,难以预测所需的步骤数量,无法硬编码固定路径。

总结

  1. 核心原则
  • 保持 agents 设计的简洁性:避免不必要的复杂性。
  • 透明性:展示 agents 的计划步骤。
  • 精心设计 agent-computer interface(ACI):通过彻底的文档和测试设计工具。
  1. 框架的使用建议
  • 快速启动:框架可以帮助快速启动,但不要害怕减少抽象层并使用基本组件进行生产。
  1. 实际应用
  • 客户支持:结合聊天机器人界面和工具集成,适用于更开放的 agents。
  • 编程辅助:特别是在软件开发领域,agents 特别有效,因为代码解决方案可以通过自动化测试进行验证。


原文地址

https://www.anthropic.com/research/building-effective-agents

相关文章:

更多相关文章

全面解读Agent,斯坦福顶尖学者综述

2024 Agent AI综述,14位顶尖学者(来自微软、斯坦福等)联合撰写!

为什么 AI 能一句话操作手机和电脑?(GUI Agent 最新综述)


最后一次编辑于  2024-12-27  
点赞 1
收藏
评论
登录 后发表内容