微信扫码
与创始人交个朋友
我要投稿
在硅谷一些技术大牛的访谈中,他们常提到 AI Agent 是“通往 AGI 的道路”(The road to AGI)。
早在之前,我曾制作过一个关于 AI Agent 的分享 Deck。正好在 20 号,Anthropic 发布了一篇题为《Building Effective Agents》的文章(https://www.anthropic.com/research/building-effective-agents)。今天就结合我之前的积累和这篇文章,一起梳理一下 AI Agent 的构建指南。
概念说明
下图是今年李飞飞与微软实验室团队在一篇论文中的内容截图,描述了 AI Agent 的基本概念和框架。以下为参考文献链接:https://www.microsoft.com/en-us/research/project/agent-ai/
功能模块 | 人类 | AI 智能代理 |
---|---|---|
感知(Perception) | 利用感官(视觉、听觉等)获取信息并进行认知处理 | 多模态数据处理模块(文本、图像、音频)转化为 LLM 可理解的表示 |
大脑(Brain) | 通过记忆、推理和决策整合信息(经验和数据)并输出结论 | 基于 LLM 的推理、记忆和决策功能 |
行动(Action) | 使用肢体和工具完成任务,例如递伞或做出指示 | 调用工具或机械系统执行任务,例如生成文本或操作物理设备 |
反馈与迭代 | 通过环境反馈修正认知和行动 | 在每次交互中获取反馈,用于改进决策和后续操作 |
在 Anthropic,统称为 agentic systems(智能代理系统),但从架构上对两者进行了重要区分:
工作流(Workflows):
智能代理(Agents):
在使用 LLM 构建应用时,建议尽量选择最简单的解决方案,仅在确有需要时增加复杂性。这意味着,有时甚至不需要构建智能代理系统。智能代理系统通常以更高的延迟和成本换取更好的任务性能,因此需要根据实际需求权衡这些取舍。
优先选择简单解决方案
工作流的适用场景
智能代理的适用场景
以下内容基于去年看到的一张图《A Basic AI Agent》整理而成,来源:https://lilianweng.github.io/posts/2023-06-23-agent/
核心部分是一个大语言模型(LLM),结合以下关键能力:
记忆力帮助智能代理更智能地工作,并实现任务的递归优化。
记忆的作用:
计划能力分为以下几个子功能:
工具扩展了智能代理的功能,使其可以解决超出 LLM 自身能力范围的问题:
工具的使用:使智能代理能够在真实世界中更高效地行动。
智能代理的行动方式包括:
反思(Reflection) 是智能代理的重要环节,通过对执行行为的反思与调整,提升系统的智能化水平和适应能力。以下内容结合https://lilianweng.github.io/posts/2023-06-23-agent/ 展开说明。
Self-reflection(自反模块,LM)
Trajectory(短期记忆)
Evaluator(评估器,LM)
Actor(执行模块,LM)
Experience(长期记忆)
自我检查能力(Self-examination)
动态行为修改(Dynamically Modify Behavior)
适应性和灵活性(Adaptability and Flexibility)
调试与维护(Debugging and Maintenance)
工具也展开说一下,这部分主要是Anthropic他们的经验。无论构建哪种智能代理系统,工具往往是代理的重要组成部分。工具使 Claude 能与外部服务和 API 交互,通过 API 定义其结构和功能。当 Claude 决定调用工具时,它将在 API 响应中包含一个工具调用块(Tool Use Block)。与整体提示工程类似,工具定义和规范也需要精心设计。
在指定工具时,往往有多种方法完成相同的操作。例如:
diff
文件或重写整个文件来实现。虽然从软件工程角度来看,这些差异只是表面上的,可以无损转换,但对于 LLM 来说,不同格式的书写难度差异明显。例如:
diff
文件需要在新代码之前,提前计算出需要更改的行数。以下是一些选择工具格式的建议:
留出足够的 Token 空间
使用常见格式
减少格式化负担
就像人机交互界面(HCI)需要大量设计投入一样,智能代理与工具交互界面(ACI)也需要同样的关注。以下是一些具体建议:
通过优化工具设计,智能代理能够更好地完成复杂任务。例如,在 SWE-bench 的实现中,Anthropic花费了更多时间优化工具,而非整体提示。这样的投入不仅提高了工具的可靠性,也提升了整个系统的易用性和精确性。
有许多框架可以帮助开发者更轻松地实现智能代理系统,包括:
LangGraph (LangChain)
提供模块化工具链,支持语言模型的功能组合,这个之前写过一系列文章:用 Langchain 写 Agents 模拟多人玩龙与地下城。
Amazon Bedrock 的 AI Agent 框架
通过统一接口构建和部署智能代理。
Rivet
一个拖放式的 GUI LLM 工作流构建器。
Vellum
支持构建和测试复杂工作流的 GUI 工具。
这些框架简化了标准化的低级任务,例如调用 LLM、定义和解析工具、串联调用等,让开发者可以快速入门。但同时,它们也引入了额外的抽象层,可能掩盖底层的提示和响应逻辑,增加调试难度。此外,这些框架可能让开发者倾向于增加不必要的复杂性,而一个简单的设置往往已经足够。
开发建议
从直接使用 LLM API 开始
理解框架的底层逻辑
增强型 LLM(Augmented LLM) 是智能代理系统的基础构建模块。通过集成检索、工具和记忆等增强功能,LLM 能够主动生成搜索查询、选择合适的工具,并决定需要保留的信息。
检索(Retrieval)
工具(Tools)
记忆(Memory)
在实现增强型 LLM 时重点关注以下两方面:
定制化能力
易用性与文档化接口
增强型 LLM 为智能代理系统奠定了坚实的基础,开发者可以根据任务需求灵活扩展这些能力,从而在更广泛的场景中实现高效应用。
以下是 LLM 应用中常见的几种工作流,帮助根据任务需求选择合适的实现方案。
将任务分解为多个步骤,每次 LLM 调用处理前一步的输出,可在中间步骤设置检查点(Gate)确保流程正确。
适用场景
示例
通过分类输入,将任务分流到不同的后续处理路径或工具,适用于需要专门处理的任务类别。
适用场景
示例
同时运行多个任务,最后聚合结果。
分为两种方式:
适用场景
示例
一个中心 LLM 动态分解任务,分配给多个子 LLM 执行,并整合结果。与并行化不同,子任务由输入动态决定。
适用场景
示例
一个 LLM 生成结果,另一个 LLM 评估反馈,循环优化,直至满意为止。
适用场景
示例
以上工作流为不同场景提供了结构化的解决方案,帮助在任务复杂性、准确性和性能之间找到平衡。
随着 LLM 核心能力的成熟——包括理解复杂输入、进行推理和规划、可靠使用工具以及从错误中恢复——Agents(智能代理) 正在生产环境中崭露头角。
任务启动
执行过程
任务终止
能力范围
代理可以处理复杂任务,但实现通常相对简单,主要由 LLM 在反馈循环中根据环境调用工具完成。
设计重点
适用场景
注意事项
以下是Anthropic实际实现中的两个示例,展示了智能代理的实际应用场景:
Coding Agent
“Computer Use” Reference Implementation
代理通过自主规划和反馈机制,展现出强大的灵活性和扩展性,是应对复杂任务的重要工具,但也需要精心设计和严格测试以确保其稳定性和可靠性。
AI Agent 的概念和技术经历了多年的发展,逐渐从理论走向实际应用。以下内容基于 https://arxiv.org/pdf/2308.11432 进行简要回顾:
以下为部分案例与展示内容:https://x.com/omooretweets/status/1740774601876177375。这个Landscape我之前也分享过(AI Agent 应用 Market Map)。
可见,截至 2023 年,AI Agent 的应用已经覆盖了多个领域,展示了其强大的泛化能力和广泛的适用性。2024 年,随着技术的成熟,AI Agent 的应用场景更加多元化,等我回头整理整理。
最近 Anthropic 也给出了今年的示例:
通过与客户的合作,Anthropic发现两类应用场景特别适合 AI Agents。这些场景展示了智能代理在需要结合对话和行动、有明确成功标准、启用反馈循环并融入有效人工监督的任务中所能创造的实际价值。
客户支持结合了熟悉的聊天机器人界面和工具集成增强功能,为更开放的智能代理应用提供了天然契合点:
对话流自然
工具集成
自动化操作
成功可量化
示例
多家公司通过基于使用的定价模型验证了这种方法的可行性,仅对成功解决问题收费,展现了对其代理效果的信心。
软件开发领域展现了 LLM 功能的巨大潜力,其能力已从代码补全发展到自主问题解决。代码代理在以下方面表现出色:
解决方案可验证
反馈驱动优化
问题空间明确
输出质量可衡量
示例
在Anthropic的实现中,代理已能够基于拉取请求描述(Pull Request Description)解决 SWE-bench Verified 基准测试中的实际 GitHub 问题。虽然自动化测试可以验证功能,但人工审查仍然是确保解决方案符合更广泛系统需求的关键。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-05-28
2024-08-13
2024-04-26
2024-08-21
2024-07-09
2024-06-13
2024-08-04
2024-04-11
2024-07-18
2024-07-01