Skip to content

Commit 1897258

Browse files
📝 Revise Agent documentation with updated design theories and development trends
- Enhanced the structure of the Agent section, introducing clearer headings and improved formatting for better readability. - Updated content to reflect the evolution of Agent design theories, including detailed descriptions of various development stages (Agent 1.0 to Agent 2.5). - Added a new section on multi-agent LLM system failure reasons, providing insights into common issues and their frequencies. - Included case studies on building proactive and collaborative agents for practical applications in various scenarios.
1 parent c535e5e commit 1897258

File tree

1 file changed

+62
-69
lines changed

1 file changed

+62
-69
lines changed

docs/docs/大模型部署与应用/Agent开发.md

Lines changed: 62 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -17,78 +17,27 @@ Agent的三个核心板块:模型、工具、流程。
1717

1818
单一智能体各家都可以实现,因此技术选型主要集中在如何快速构建多智能体流程,尤其在于:记忆管理(分组、长短记忆、修剪与同步)、human-in-the-loop、智能体切换逻辑。
1919

20-
| 开发方式 | 代表产品/框架 | 优点 | 缺点 |
21-
|----------|--------------|------|------|
22-
| 低代码/无代码开发 | Coze | • 简单易用 | • 功能有限• 收费昂贵• 云端执行非自主(必须联网)• 不可控• 不同平台差异大,不易迁移• 插件大多需要独立的Token• 平台可用的大模型有限 |
23-
| 框架开发 | LangChain、AutoGen、MG等 | • 功能强大• 可以满足复杂需求• 代码可以灵活复用 | • 需要一定的技术门槛 |
20+
| 开发方式 | 代表产品/框架 | 优点 | 缺点 |
21+
| ----------------- | ------------------------ | ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
22+
| 低代码/无代码开发 | Coze | • 简单易用 | • 功能有限• 收费昂贵• 云端执行非自主(必须联网)• 不可控• 不同平台差异大,不易迁移• 插件大多需要独立的Token• 平台可用的大模型有限 |
23+
| 框架开发 | LangChain、AutoGen、MG等 | • 功能强大• 可以满足复杂需求• 代码可以灵活复用 | • 需要一定的技术门槛 |
2424

25-
## Agent 开发与变化趋势
25+
## Agent 设计理论
2626

27-
### 规则时代
28-
```bash showLineNumbers
29-
# 规则化的自然语言,一切基于有穷的规则(正则表达式关键词识别)。
30-
小爱同学,关灯
27+
### Agent 开发与变化趋势
3128

32-
在传统的场景中,如果不触发指定的关键词,或者关键词不明确,则无法执行。
29+
| 时代 | 主要特点 | 示例 | 局限性 |
30+
|------------|--------------------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------|
31+
| 规则时代 | 基于预定义规则和关键词匹配,无法理解语言深层含义。 | 用户说“小爱同学,关灯”,必须精确匹配关键词才能执行。 | 无法处理复杂语义;智能化提升依赖于编写更复杂的规则。 |
32+
| Agent 1.0 | 利用语义理解处理自然语言变体和歧义,但仅限于单个任务。 | 用户说“帮我给张总打电话”,即使通讯录中是“张三总”,也能正确识别并拨打。 | 不能串联多个任务或处理复杂工作流程。 |
33+
| Agent 2.0 | 能将多个任务串联成工作流程,自动规划和执行,但依赖于提供的函数或API。 | 用户说“查询明天天气并给某联系人发邮件”,Agent能自动完成整个过程。 | 无法处理未提供工具的任务;类似智能驾驶只能在特定路段自动驾驶。 |
34+
| Agent 2.5 | 具备多模态理解,如视觉,能使用通用工具执行任务,不再局限于特定API。 | 用户说“用PS调整这张照片的对比度”,或“识别森林摄像头中的多种珍稀动物”。 | 相较于职业熟练度顶级的人类,执行速度较慢;特定任务效率低于传统方案。 |
3335

34-
例如:小爱同学,我要睡觉了。
35-
```
36-
37-
如果想要提升模型的智能化能力,只能是工程师编写更多更复杂的关键词判断逻辑才能提升智能水平,且提升幅度有限。不能理解复杂的语义。
38-
39-
### Agent 1.0
40-
41-
能理解语义,但是不能串联任务。
42-
43-
```bash showLineNumbers
44-
帮我给张总打电话
45-
46-
在传统的场景下,如果想要执行这个任务,则需要用户明确地告诉小爱同学,我要给张总打电话。并且你的通讯录中的人名需要是张总。不能有丝毫差异。
47-
48-
在通讯录的备注中,如果你的备注是:张三总,另一个人叫张三,则无法识别。或拨打错误,但是在大模型的加持下,可以识别出张三总,并拨打成功。
49-
```
50-
51-
### Agent 2.0
52-
53-
继承1.0时代的所有能力的同时,能够串联起多个任务,并根据任务的依赖关系,自动调整任务的执行顺序并自动执行。
54-
55-
```bash showLineNumbers
56-
如果你有一个发送邮件的API、一个查询天气的API,你希望执行一个任务:查询明天天气并给某个联系人发邮件,邮件内容为天气预报。
57-
58-
传统场景下,你必须明确的把这个流程编写出来,然后通过关键词触发执行。
59-
60-
在Agent的场景下,你只需要告诉Agent,你的需求,并编写对应的函数。Agent会对零散的函数自动生成一个流程,并执行这个流程。
61-
```
62-
63-
如果想要提升Agent的复杂任务处理能力,那么需要更多的函数,以及大语言模型更强大的上下文理解能力,属于半规则化。类比智能驾驶只能在特定路段自动驾驶。
64-
65-
例如你希望给钉钉好友发送消息,那么你需要编写一个发送消息的函数,并告诉Agent,你的需求。Agent会自动生成一个流程,并执行这个流程。
66-
67-
可以理解为有大脑和手脚,但是只能用专门提供提供的工具,例如API。
68-
69-
### Agent 2.5
70-
71-
继承2.5时代的所有能力的同时,多模态大模型可以基于视觉理解,并执行通用任务。
72-
73-
例如帮我用PS给这个照片调整对比度,如果没有API,传统场景下只能依赖人力完成,但是通过通用视觉理解Agent,可以自动完成这个任务。
74-
75-
例如你是一个生物学家,有一个复杂的识别任务,在国家森林的摄像头中识别多种珍稀动物。
76-
77-
传统场景下,你需要雇佣大量的人力,对动物标注,并且往往一种识别模型只能识别一种动物。识别多种动物,需要多种识别模型。
78-
在 Agent 2.0,也需要先拥有识别多种动物的模型,然后才能识别。
79-
80-
在Agent 2.5 时代,你只需要利用通用视觉理解,可以使用人类的工具,例如浏览器(区别于传统基于规则的自动化测试、自动化爬虫)。
81-
82-
- 相较与职业熟练度顶级的人类,速度依然较慢。
83-
- 对于特定的任务效率相比传统场景的解决方案依然较低。
84-
85-
主要应用方向:重复且简单的工作、复杂的工业化、日常复杂性工作。一个入口,多个工具。一条指令,自动执行。
86-
87-
## 大模型调用工具
36+
### 大模型调用工具方式
8837

8938
大模型本身不具备执行能力,需要调用工具。其本质都是将工具封装后传入大模型上下文,然后大模型返回需要调用的工具的名称与参数。再由系统执行。
9039

91-
### 提示词工程
40+
#### 提示词工程
9241

9342
```python showLineNumbers
9443
import openai
@@ -160,7 +109,7 @@ if __name__ == '__main__':
160109
print("直接回答:", model_reply)
161110
```
162111

163-
### function calling
112+
#### function calling
164113

165114
function calling 是 OpenAI 推出的一个功能,允许开发者将大模型的输出结果作为函数调用,并执行函数。一定程度上简化了代码。
166115

@@ -231,11 +180,55 @@ if __name__ == '__main__':
231180

232181
```
233182

234-
### Mcp
183+
#### Mcp
184+
185+
MCP 是 工具调用的一种新范式,是传统API接口加上适合AI阅读的描述。提供让AI可以更方便地调用工具的方式。
235186

236187

237-
## 智能体流程编排
188+
189+
### 智能体流程架构类型分析
238190

239191
![alt text](https://langchain-ai.github.io/langgraph/concepts/img/multi_agent/architectures.png)
240192

241-
参考文章:https://langchain-ai.github.io/langgraph/concepts/multi_agent/
193+
参考文章:https://langchain-ai.github.io/langgraph/concepts/multi_agent/
194+
195+
### 多智能体LLM系统失效原因
196+
197+
专门微调一个验证规则代理。拥有图片识别能力,浏览器操作能力
198+
199+
以下表格总结了多智能体系统失效分类体系(MASFT)及其失效模式的发生频率:
200+
201+
| 失效类别 | 发生频率 (%) | 失效模式 | 发生频率 (%) |
202+
| ------------------ | ------------ | -------------------- | ------------ |
203+
| 规范与系统设计失效 | 37.2 | 违背任务规范 | 15.2 |
204+
| | | 违背角色规范 | 5.5 |
205+
| | | 步骤重复 | 7.59 |
206+
| | | 对话历史丢失 | 1.57 |
207+
| | | 未意识到终止条件 | 6.54 |
208+
| 智能体间对齐失效 | 31.4 | 对话重置 | 2.09 |
209+
| | | 未能寻求澄清 | 6.02 |
210+
| | | 任务偏离 | 5.5 |
211+
| | | 信息隐瞒 | 9.16 |
212+
| | | 忽略其他智能体的输入 | 8.64 |
213+
| | | 推理-行动不匹配 | 2.36 |
214+
| 任务验证与终止失效 | 31.4 | 过早终止 | 13.61 |
215+
| | | 无或不完全验证 | 4.71 |
216+
| | | 验证不正确 | 13.09 |
217+
218+
219+
参考文章: https://www.aimodels.fyi/papers/arxiv/why-do-multi-agent-llm-systems-fail
220+
221+
## 案例分析
222+
223+
### 构建能主动提问的智能体
224+
225+
常用于医疗咨询、商城导购、智能客服等场景。
226+
227+
### 构建Human-in-the-loop的智能体
228+
229+
常用于需要人工介入的场景,例如:购买商品需要人工确认、需要人工介入的复杂任务。
230+
231+
### 构建多智能体协作的智能体
232+
233+
常用于需要多个智能体协作的场景,例如:狼人杀、三国杀、斯坦福小镇等桌面游戏。
234+

0 commit comments

Comments
 (0)