Claude 官方发布《Agent 构建指南》,附 PDF 下载

AITNT-国内领先的一站式人工智能新闻资讯网站
# 热门搜索 #
AITNT-国内领先的一站式人工智能新闻资讯网站 搜索
Claude 官方发布《Agent 构建指南》,附 PDF 下载
8094点击    2024-12-23 10:20

Anthropic 最新发布了一篇关于 Agent 的博客文章,得出了一个引人深思的结论:


AI 开发的未来,在于“Less is More”。


接下来小鹿和大家一起看看智能体开发的“大道至简”之道。


Agent 的定义


提到 Agent,很多人以为它是 LLM 的产物,但其实不是。


Agent 的现代定义,是在 20 世纪 50 年代伴随着 AI 发展逐渐形成的,究其根源,可以追溯到更早的哲学思考和科学探索。


在 1950 年,阿兰·图灵在其论文《计算机器与智能》中提出了“高度智能有机体”的概念,并引入了著名的图灵测试。


1972 年,美国学者 Marvin Minsky 在麻省理工学院建立了人工智能实验室,并正式提出了“代理”(Agent)的概念,认为 AI Agent 应该具备感知世界、进行推理和执行动作的能力。


Anthropic 将 Agent 系统分为两大类:工作流 (Workflows) 和 智能体 (Agents)


  • 工作流:指的是通过预定义的代码路径来编排 LLM 和工具的系统。它更像是一个精心设计的流程,每一步都清晰可控。
  • 智能体:则是由 LLM 动态地指导自身流程和工具使用的系统。它更像是一个自主的决策者,能够根据环境反馈灵活调整行动。


关键区别在于 LLM 是否能够动态控制自身流程和工具使用。


框架的迷思:回归 LLM API 本质


在构建 LLM 应用时,应遵循“简单至上”的原则:能简单就简单,只有在必要的时候才增加复杂度。


只有当简单的方案无法满足需求时,才考虑引入更复杂的 Agent 系统。因为 Agent 系统往往以更高的延迟和成本为代价,换取更好的任务性能。


那如果一定要用呢?


  • 什么时候用“工作流”? 当任务非常明确,而且可以分解成一系列固定的步骤时,就像流水线上的工作一样,用“工作流程”就足够了。
  • 什么时候用“智能体”? 当任务需要很大的灵活性,而且需要模型自己做决策时,就像一个需要随机应变的指挥官,这时候“智能体”就更适合。


但其实,对于大多数应用来说,优化一下单大语言模型的调用,再结合一些检索和上下文的例子,通常就足够了。


就像人类平时解决问题一样,先用最简单的方法试试,不一定非要用复杂的工具。


市面上涌现出各种 Agent 框架,比如:


  • LangGraph(LangChain 的工具):就像一套功能强大的乐高套件,可以用来搭建各种复杂的 Agent 系统。
  • Amazon Bedrock 的 AI Agent 框架:就像一个专业的工具箱,提供了各种构建 Agent 系统的工具和组件。
  • Rivet(拖放式 GUI LLM 工作流构建器):就像一个可视化编辑器,可以通过拖拽的方式来构建 LLM 的工作流程,非常方便。
  • Vellum(复杂工作流的构建和测试工具):就像一个高级的实验室,可以用来构建和测试复杂的工作流程。


这些框架确实简化了 LLM 调用、工具定义等基础任务,氮素,同时也引入额外的抽象层,这可能会模糊底层的提示和响应,从而使调试更加困难。


Anthropic 的建议开发者,从直接调用大语言模型的 API 开始:


“许多模式可以用几行代码实现。如果你确实要使用框架,请确保你理解底层的代码。对底层原理的错误假设是客户错误的常见来源”。


大道至简,Less is More


Anthropic 特别强调了 "简单性" 这一核心理念,总结了构建有效智能体的由简至繁的开发路线,


优先使用基础构建块:增强型 LLM(具备检索、工具使用、记忆等能力),其次是工作流模式:提示链(Prompt Chaining)、路由(Routing)、并行化(Parallelization)、编排者-执行者(Orchestrator-workers)、评估者-优化者(Evaluator-optimizer),最后是自主 Agent,能够独立规划和执行复杂任务。


Agent 系统的基础是增强型 LLM,它具备检索、工具和记忆等能力。


从最基础的构建模块增强型 LLM 入手,逐步增加复杂性,从简单的组合式工作流程过渡到自主智能体群。


应用的基石:增强型 LLM


最简单的方法无疑是增强型语言模型。


通过检索、工具和记忆等机制扩展大语言模型的能力,这样大语言模型能够主动运用这些能力——生成自己的搜索查询、选择合适的工具,并决定保留哪些信息。


Claude 官方发布《Agent 构建指南》,附 PDF 下载


大语言模型可以增强的两个关键点:


  • 根据具体用例定制功能
  • 确保大语言模型提供一个简单、文档完善的接口


Anthropic 提出目前市面上已经有很多方法可以实现这些增强功能,但是他们最推荐的还是自家的上下文协议(Model Context Protocol,MCP),该协议允许开发者通过简单的客户端实现与不断增长的第三方工具生态系统集成。


小鹿贴心的给大家准备好了 MCP 的介绍:


Model Context Protocol 介绍:


https://www.anthropic.com/news/model-context-protocol


提示链 (Prompt Chaining)


这种方法是将一个任务分解成一系列步骤,其中的每个大语言模型的调用都会处理前一个调用的输出,这样可以在任何中间步骤中添加程序化的检查(见下图中的“门控 Gate”),以确保流程仍在正轨上。


Claude 官方发布《Agent 构建指南》,附 PDF 下载


如果任务能够轻松且清晰地分解为一系列固定的子任务,那么这个工作流将非常适用!


它通过将复杂任务分解为更简单的步骤,让每个大语言模型调用更容易处理 ~ 氮素,这确实是在牺牲一些时效性的情况下,换取更高的准确性。


路由 (Routing)


这种方法适用于对输入进行分类,并将其引导至相应的专业化后续任务的场景中。当你要处理的任务很复杂,而且可以分成好几个不同的类别,每个类别最好用不同的方法处理时,就可以用路由工作流。


Claude 官方发布《Agent 构建指南》,附 PDF 下载


路由工作流适用的场景:


  • 将不同类型的客户服务查询(一般问题、退款请求、技术支持)导向不同的下游流程、提示和工具。
  • 将简单/常见的问题路由到较小的模型(如 Claude 3.5 Haiku),将困难/不常见的问题路由到功能更强大的模型(如 Claude 3.5 Sonnet),以优化成本和速度。


并行化 (Parallelization)


这种模式是考虑到大语言模型可以同时执行多个任务,并通过程序化方式整合结果。因此,这种并行化工作流就可以用下面两种方式让大语言模型合作:


  • 分段处理: 将任务分解为多个独立的子任务,并同时运行这些子任务。
  • 多重投票: 多次执行相同的任务,以获取多样化的输出结果。


Claude 官方发布《Agent 构建指南》,附 PDF 下载


当子任务可以并行执行以提升速度,或需要从多个角度或多次尝试来提高结果的可靠性时,并行化工作流非常有效。因为,对于涉及多方面考虑的复杂任务,这种模式通常能获得更好的效果!


并行化适用的场景:


  • 分段处理:
  • 构建安全防护机制,其中一个模型实例负责处理用户查询,而另一个模型实例则负责筛选不当内容或请求。这种方式通常比让同一个模型调用同时处理安全防护和核心响应效果更佳。
  • 自动化评估模型性能,其中每个模型调用负责评估模型在给定提示下的不同性能指标。
  • 多重投票:
  • 对代码进行漏洞审查,其中多个不同的提示分别审查代码,并在发现问题时进行标记。
  • 评估内容是否不当,其中多个提示从不同角度进行评估,或采用不同的投票阈值来平衡误报和漏报。


协调者-工作者模式


在这种模式下,一个中央大语言模型会动态地分解任务,并将这些子任务分配给不同的工作者模型,最后再整合所有工作者的结果。这个工作流程特别适用于那些无法预先确定子任务的复杂场景(例如,在编程中,需要修改的文件数量以及每个文件的修改内容通常取决于具体的任务)。


Claude 官方发布《Agent 构建指南》,附 PDF 下载


虽然在结构上与并行化相似,但关键区别在于其高度的灵活性——子任务预先不设定,由协调器根据具体的输入动态决定的。


协调器-工作者模式有用的场景:


  • 需要对多个文件进行复杂修改的编码产品。
  • 需要从多个来源收集并分析信息以寻找相关内容的搜索任务。


评估器-优化器模式


在这种模式下,一个大语言模型负责调用生成响应,而另一个大语言模型调用则在一个循环中提供评估和反馈。当有明确的评估标准,并且迭代改进能提供可衡量的价值时,这个工作流程会特别有效。


Claude 官方发布《Agent 构建指南》,附 PDF 下载


两个适合这种工作流模式的标志:


  • 当人类表达他们的反馈时,大语言模型的响应可以被明显改进-
  • 大语言模型可以提供这样持续的反馈


Anthropic 形容,类似于人类精雕细琢的过程 ~


评估器-优化器有用的示例:


  • 文学翻译,比如翻译模型最初可能无法捕捉到的细微差别,但评估器模型可以提供有用的评审意见。
  • 需要进行多轮搜索和分析以收集全面信息的复杂搜索任务,评估器可以用来决定是否需要进一步搜索。


智能体:自主决策的未来


当 LLM 在理解复杂输入、推理规划、可靠使用工具和从错误中恢复等关键能力上成熟时,智能体开始在生产中崭露头角。智能体可以处理开放式问题,无需预先定义步骤,并能根据环境反馈自主决策。


智能体在执行任务的过程中,经常需要从环境中获取实际的执行结果(例如工具调用结果或代码执行的输出),以此来判断下一步行动并检查任务进度。


因此,系统通常设计了在特定节点或遇到困难时暂停的功能,以便引入人工干预或反馈。任务通常在完成后自动结束,但为了防止无限循环或资源耗尽,通常也会设置停止条件,例如限制最大迭代次数。


Claude 官方发布《Agent 构建指南》,附 PDF 下载


当面对步骤不固定、执行路径无法预先规划的复杂问题时,智能体群能够发挥其优势。凭借自主行动的能力,智能体群尤其适合在可控的环境中高效处理大规模任务。


Claude 官方发布《Agent 构建指南》,附 PDF 下载


由于智能体群通常通过迭代式推理和执行来完成任务,因此用户需要对其决策能力建立信任。特别是在需要根据任务描述对多个文件进行协同编辑的场景中,智能体群就能展现出强大的能力。


AI 开发的未来,在于“Less is More”


Anthropic 总结了构建有效智能体的三个核心原则:简单、透明、精心设计


  1. 保持设计的简洁性:避免过度复杂化。
  2. 优先考虑透明度:明确展示智能体的规划步骤。
  3. 精心设计智能体-计算机接口 (ACI):通过完善的工具文档和测试。


这篇博客的核心思想是:在 LLM 领域,成功并非取决于构建最复杂的系统,而是构建最适合需求的系统。 我们应该从简单的提示开始,通过全面的评估进行优化,只有当简单的解决方案不足以满足需求时,才考虑引入多步骤的 Agent 系统。


在将智能体系统投入生产环境时,切记要毫不犹豫地减少抽象层,并使用基本组件进行构建,这样构建出来的智能体系统才是最高效简洁强大的!


最后,在 AI 技术快速发展的今天,这些原则将帮助我们构建出真正可靠、可维护且受用户信任的 Agent 系统。在追求技术创新的同时,记住一点:最好的方案往往是最简单的方案。


添加客服微信 openai178,获取完成PDF


文章来自微信公众号 “夕小瑶科技说”,作者“小鹿”


Claude 官方发布《Agent 构建指南》,附 PDF 下载

关键词: AI , Claude , Agent , 人工智能
AITNT-国内领先的一站式人工智能新闻资讯网站
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
AI代理

【开源免费】Browser-use 是一个用户AI代理直接可以控制浏览器的工具。它能够让AI 自动执行浏览器中的各种任务,如比较价格、添加购物车、回复各种社交媒体等。

项目地址:https://github.com/browser-use/browser-use


2
AI工作流

【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。

项目地址:https://github.com/n8n-io/n8n

在线使用:https://n8n.io/(付费)


【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。

项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file



【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。

项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file

在线使用:https://vectorvein.ai/(付费)

3
智能体

【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。

项目地址:https://github.com/Significant-Gravitas/AutoGPT


【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。

项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md

4
prompt

【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。

项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md

在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0