Anthropic 最新发布了一篇关于 Agent 的博客文章,得出了一个引人深思的结论:
AI 开发的未来,在于“Less is More”。
接下来小鹿和大家一起看看智能体开发的“大道至简”之道。
提到 Agent,很多人以为它是 LLM 的产物,但其实不是。
Agent 的现代定义,是在 20 世纪 50 年代伴随着 AI 发展逐渐形成的,究其根源,可以追溯到更早的哲学思考和科学探索。
在 1950 年,阿兰·图灵在其论文《计算机器与智能》中提出了“高度智能有机体”的概念,并引入了著名的图灵测试。
1972 年,美国学者 Marvin Minsky 在麻省理工学院建立了人工智能实验室,并正式提出了“代理”(Agent)的概念,认为 AI Agent 应该具备感知世界、进行推理和执行动作的能力。
Anthropic 将 Agent 系统分为两大类:工作流 (Workflows) 和 智能体 (Agents)。
关键区别在于 LLM 是否能够动态控制自身流程和工具使用。
在构建 LLM 应用时,应遵循“简单至上”的原则:能简单就简单,只有在必要的时候才增加复杂度。
只有当简单的方案无法满足需求时,才考虑引入更复杂的 Agent 系统。因为 Agent 系统往往以更高的延迟和成本为代价,换取更好的任务性能。
那如果一定要用呢?
但其实,对于大多数应用来说,优化一下单大语言模型的调用,再结合一些检索和上下文的例子,通常就足够了。
就像人类平时解决问题一样,先用最简单的方法试试,不一定非要用复杂的工具。
市面上涌现出各种 Agent 框架,比如:
这些框架确实简化了 LLM 调用、工具定义等基础任务,氮素,同时也引入额外的抽象层,这可能会模糊底层的提示和响应,从而使调试更加困难。
Anthropic 的建议开发者,从直接调用大语言模型的 API 开始:
“许多模式可以用几行代码实现。如果你确实要使用框架,请确保你理解底层的代码。对底层原理的错误假设是客户错误的常见来源”。
Anthropic 特别强调了 "简单性" 这一核心理念,总结了构建有效智能体的由简至繁的开发路线,
优先使用基础构建块:增强型 LLM(具备检索、工具使用、记忆等能力),其次是工作流模式:提示链(Prompt Chaining)、路由(Routing)、并行化(Parallelization)、编排者-执行者(Orchestrator-workers)、评估者-优化者(Evaluator-optimizer),最后是自主 Agent,能够独立规划和执行复杂任务。
Agent 系统的基础是增强型 LLM,它具备检索、工具和记忆等能力。
从最基础的构建模块增强型 LLM 入手,逐步增加复杂性,从简单的组合式工作流程过渡到自主智能体群。
最简单的方法无疑是增强型语言模型。
通过检索、工具和记忆等机制扩展大语言模型的能力,这样大语言模型能够主动运用这些能力——生成自己的搜索查询、选择合适的工具,并决定保留哪些信息。
大语言模型可以增强的两个关键点:
Anthropic 提出目前市面上已经有很多方法可以实现这些增强功能,但是他们最推荐的还是自家的上下文协议(Model Context Protocol,MCP),该协议允许开发者通过简单的客户端实现与不断增长的第三方工具生态系统集成。
小鹿贴心的给大家准备好了 MCP 的介绍:
Model Context Protocol 介绍:
https://www.anthropic.com/news/model-context-protocol
这种方法是将一个任务分解成一系列步骤,其中的每个大语言模型的调用都会处理前一个调用的输出,这样可以在任何中间步骤中添加程序化的检查(见下图中的“门控 Gate”),以确保流程仍在正轨上。
如果任务能够轻松且清晰地分解为一系列固定的子任务,那么这个工作流将非常适用!
它通过将复杂任务分解为更简单的步骤,让每个大语言模型调用更容易处理 ~ 氮素,这确实是在牺牲一些时效性的情况下,换取更高的准确性。
这种方法适用于对输入进行分类,并将其引导至相应的专业化后续任务的场景中。当你要处理的任务很复杂,而且可以分成好几个不同的类别,每个类别最好用不同的方法处理时,就可以用路由工作流。
路由工作流适用的场景:
这种模式是考虑到大语言模型可以同时执行多个任务,并通过程序化方式整合结果。因此,这种并行化工作流就可以用下面两种方式让大语言模型合作:
当子任务可以并行执行以提升速度,或需要从多个角度或多次尝试来提高结果的可靠性时,并行化工作流非常有效。因为,对于涉及多方面考虑的复杂任务,这种模式通常能获得更好的效果!
并行化适用的场景:
在这种模式下,一个中央大语言模型会动态地分解任务,并将这些子任务分配给不同的工作者模型,最后再整合所有工作者的结果。这个工作流程特别适用于那些无法预先确定子任务的复杂场景(例如,在编程中,需要修改的文件数量以及每个文件的修改内容通常取决于具体的任务)。
虽然在结构上与并行化相似,但关键区别在于其高度的灵活性——子任务预先不设定,由协调器根据具体的输入动态决定的。
协调器-工作者模式有用的场景:
在这种模式下,一个大语言模型负责调用生成响应,而另一个大语言模型调用则在一个循环中提供评估和反馈。当有明确的评估标准,并且迭代改进能提供可衡量的价值时,这个工作流程会特别有效。
两个适合这种工作流模式的标志:
Anthropic 形容,类似于人类精雕细琢的过程 ~
评估器-优化器有用的示例:
当 LLM 在理解复杂输入、推理规划、可靠使用工具和从错误中恢复等关键能力上成熟时,智能体开始在生产中崭露头角。智能体可以处理开放式问题,无需预先定义步骤,并能根据环境反馈自主决策。
智能体在执行任务的过程中,经常需要从环境中获取实际的执行结果(例如工具调用结果或代码执行的输出),以此来判断下一步行动并检查任务进度。
因此,系统通常设计了在特定节点或遇到困难时暂停的功能,以便引入人工干预或反馈。任务通常在完成后自动结束,但为了防止无限循环或资源耗尽,通常也会设置停止条件,例如限制最大迭代次数。
当面对步骤不固定、执行路径无法预先规划的复杂问题时,智能体群能够发挥其优势。凭借自主行动的能力,智能体群尤其适合在可控的环境中高效处理大规模任务。
由于智能体群通常通过迭代式推理和执行来完成任务,因此用户需要对其决策能力建立信任。特别是在需要根据任务描述对多个文件进行协同编辑的场景中,智能体群就能展现出强大的能力。
Anthropic 总结了构建有效智能体的三个核心原则:简单、透明、精心设计
这篇博客的核心思想是:在 LLM 领域,成功并非取决于构建最复杂的系统,而是构建最适合需求的系统。 我们应该从简单的提示开始,通过全面的评估进行优化,只有当简单的解决方案不足以满足需求时,才考虑引入多步骤的 Agent 系统。
在将智能体系统投入生产环境时,切记要毫不犹豫地减少抽象层,并使用基本组件进行构建,这样构建出来的智能体系统才是最高效简洁强大的!
最后,在 AI 技术快速发展的今天,这些原则将帮助我们构建出真正可靠、可维护且受用户信任的 Agent 系统。在追求技术创新的同时,记住一点:最好的方案往往是最简单的方案。
添加客服微信 openai178,获取完成PDF
文章来自微信公众号 “夕小瑶科技说”,作者“小鹿”
【开源免费】Browser-use 是一个用户AI代理直接可以控制浏览器的工具。它能够让AI 自动执行浏览器中的各种任务,如比较价格、添加购物车、回复各种社交媒体等。
项目地址:https://github.com/browser-use/browser-use
【开源免费】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/(付费)
【开源免费】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
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0