三、Agent 应用开发与落地全景 ——《动手学Agent应用开发》学习心得
==================================================================================
最近参加了Datawhale开源组织举办的组队学习。本篇的学习内容是Task02:Agent 应用开发与落地全景
【教程地址】
https://gitlink.org.cn/datawhalechina/build_good_agents
==================================================================================
1、智能体(agent)定义
现状:从学术界到产业界,大模型领域仍然处于快速发展的阶段,还没有明确的具体共识。
任何一个非单次大模型调用的系统,都有可能被其开发者称为“agent”。
1.1、OpenAI的AGI五级分类
- Level 1: Conversational AI,仅限于语言对话,能力有限
- Level 2: Reasoners,在专业领域能够独立推理,不需外部工具
- Level 3: Agents , 能长时间自主行动执行任务
- Level 4: Innovators,产生新思路,推动科技突破
- Level 5: Organizers,能管理协调整个组织
1.2、不同提出人对agent的定义
| 提出者 | 定义 | 核心要素 |
|---|---|---|
| OpenAI | AGI五级分类中的Level 3 | 能长时间自主行动执行任务 |
| 翁荔 (Lilian Weng) | Agent = LLM + 记忆 + 主动规划 + 工具使用 | 四大核心组件 |
| Harrison(LangChain) | 使用LLM决定应用程序控制流的系统 | LLM驱动的控制流 |
| 吴恩达 & Harrison | 具备"agentic"属性的系统 | 渐进的智能属性 |
1.3、"Agentic"程度可以不同:渐进的智能属性
类似自动驾驶汽车的 L1-L4 分级, 一个 agentic system 的智能程度是可以有不同等级的,取决于LLM对系统行为的决策权重。

| Human-Driven | Code:完全由人写代码决定。 LLM Call:有一次大模型调用。 Chain:链式结构,有多次的大模型调用。 Router:路由模型,大模型决策行动方向,但不支持成环(no cycies)。 |
| Agent-Executed | State Machine:成环后,在计算机术语里面就是一个自动机。 Autonomous:完全由LLM决定,没有人类参与。 |
2、智能体系统(Agentic System)的划分
从架构上看,agentic system可以分为两大类系统:
| 类型 | 特点 | 适用场景 |
|---|---|---|
| 工作流(Workflow): 通过预定义代码路径编排LLM和工具 |
侧重于流程固定和可预测性 | 适用于任务明确、步骤可预定义的场景 |
| 自主智能体(Autonomous Agent): LLM动态控制决策和工具使用,自主规划任务 |
侧重灵活性与自我决策 | 适用于任务步骤难以预知、需长期自主规划的场景 |
首先,有些场景(比如 DeepSeek App 中的聊天对话)可能完全不需要 agentic system
当确实需要复杂方案时,才会考虑 工作流或者 自主智能体。
对很多场景,通过RAG和prompt优化可能已经足够,增加系统复杂度会伴随延迟和成本,需权衡利弊!
3、智能体系统(Agentic System)组成模块
3.1、基础构建模块:增强型 LLM

智能体系统的基础是具备检索、工具使用和记忆能力的增强型LLM
- 复杂应用使用的模型能力都是基于 API,建议一定要搞清楚大模型接口逻辑
- 开发时建议优先直接使用 API,只在必要时借助高级框架
3.2、工作流(Workflow)的常见模式:
3.2.1、提示链 Prompt Chaining

- 按顺序拆分任务,每一步由 LLM 生成内容
- 可以在任意中间步骤添加程序检查(见下图中的“gate”)以确保整个过程依然按计划执行
场景示例:
- 先生成市场营销文案,再将其翻译成另一种语言。
- 编写文档提纲、检验提纲是否符合某些标准,然后再根据提纲写出完整文档。
3.2.3、路由 Routing

根据输入分类,分配给专门的后续任务
场景示例:
- 不同类型的客户服务请求(常见问题、退款请求、技术支持)进入不同的后续流程、提示词及工具。
- 将 简单/常见问题 路由给 较小的模型,将 困难/罕见问题 路由给 更强大的模型,以优化成本与速度。
3.2.4、并行 Parallelization

同时执行多个任务,然后将它们的输出聚合在一起,有两个主要变体
- 分段(Sectioning):将任务划分为可以并行运行的独立子任务。
- 投票(Voting):对同一任务进行多次执行,从而获得多样化的输出,以进行对比或投票。
场景示例:
- (分段)并行内容审核与主任务处理:一个模型实例负责处理用户查询,另一个模型实例同时对查询进行不恰当内容或非法请求筛查。
- (投票)评估某段内容是否不当:多个提示从不同角度评估,或设定不同的投票阈值以平衡误报与漏报
3.2.5、协调者-工作者 Orchestrator-Workers

- 协调者拆解任务
- 工作者专注子任务
场景示例:
- 多文件代码修改:每次都需要对多个文件进行复杂改动的编程产品。
- 多源信息搜索分析:在多源信息中搜索并分析可能相关的信息来完成搜索任务。
3.2.6、评估-优化循环 Evaluator-Optimizer

- 一个 LLM 生成输出
- 另一个 LLM 进行反馈和优化反复循环
场景示例:
- 文学翻译润色:一些细微的语言差异可能在初稿中并未充分体现,而评估者 LLM 可以指出这些不足并给出改进意见。
- 复杂搜索任务的多轮优化:需要多轮搜索和分析以收集全面信息,由评估者判断是否需要进一步搜索。
3.3、自主智能体(Autonomous Agent)
3.3.1、模式

- 执行过程中获取环境真实反馈(例如工具调用的结果或代码执行情况)
- 支持人工检查点干预(可在检查点或遇到阻碍时暂停,等待人类反馈)
- 设置终止条件(任务通常在完成时终止,但也常常设置停止条件(如最大迭代次数)以保证不会无休止运行)
适用场景: 适用于开放性问题,即当任务步骤数量难以预知或无法预先固定时。
3.3.2、关键组件:
- 规划模块(Planning):
- 子目标拆解:将复杂任务分解为可管理的子目标。
- 反思优化:通过自我评估改进执行策略。
- 记忆系统(Memory):
- 短期记忆(上下文)。
- 长期记忆(外部存储)。
- 工具使用(Tools):
- 获取外部实时信息与功能扩展(mcp)
![image]()
- 获取外部实时信息与功能扩展(mcp)
4、国内外有哪些 Agent 平台、框架、产品
4.1、国内外相关Agent
- 全代码框架
- LangChain & LangGraph
- LlamaIndex
- 低代码平台
- 毕昇
- Dify
- Coze
- FastGPT
4.2、低代码workflow产品设计的思考
- 独立、完备的流程编排框架,才能够覆盖足够复杂的场景
- 不简单是一个被bot调用的工具
- 不需要划分出chatflow和workflow
- Human in the loop特性:中间过程支持灵活的输入/输出和多样的人机交互
- 复杂的业务场景需要人类与AI进行写作,人类也要参与到执行过程的判断和决策
- 节点之间是否支持成环
- 支持成环能够适用更多的场景
5、推荐阅读 & 参考资料
- OpenAI API 文档:https://platform.openai.com/docs/guides/function-calling
- lilian weng:《LLM Powered Autonomous Agents》, https://lilianweng.github.io/posts/2023-06-23-agent/
- Langchain:《What is an AI agent?》,https://blog.langchain.dev/what-is-an-agent/
- Anthropic:《Building effective agents》, https://www.anthropic.com/research/building-effective-agents
相关框架&平台
- langchain:https://www.langchain.com/
- llamaindex:https://www.llamaindex.ai/
- 毕昇 BISHENG:https://bisheng.ai.com/
- Dify:https://cloud.dify.ai/
- Coze:https://www.coze.cn/
