Agent原理和最简实践
Agent核心概念
Agent = 大模型 + 记忆 + 工具
```
Agent(智能体)是能够感知环境、做出决策并采取行动以实现特定目标的自主实体,和传统程序相比,Agent具备以下特征
* 自主性: 无需人工干预即可独立运行
* 反应性:能对环境变化做出实时响应
* 主动性:主动追求目标而非被动响应
* 社会性:能与其他Agent或人类进行交互
#### 当前主流的Agent架构:
1. ReAct(推理 + 行动)
将思考和行动融合在每个步骤中
通过观察-思考-行动的循环实现决策
适合需要实时响应的动态任务
2. Plan-and-Solve(规划-求解)
先规划再执行的解耦式架构
指定详细计划后严格按照步骤执行
适合需要长远规划的复杂任务
3. Reflection(反思优化)
执行 -> 反思 -> 优化的三步循环
通过自我评估和迭代改进提升质量
适合追求高精度的关键任务
### ReAct架构详解
ReAct(Reasoning + Acting)目前最简洁有效的Agent架构核心思想:
```
观察环境 -> 思考推理 -> 采取行动 -> 观察结果 -> 循环
```
ReAct决策循环:
1. Thought:基于当前观察进行推理
2. Action:选择并执行具体行动
3. Observation:观察行动结果
4. 循环:根据新观察继续思考
##### 示例流程
```
用户:“北京天气如何?”
Thought:用户询问天气,需要获取北京当前天气信息
Action: weather_query(location="北京")
Observation: {"temperature": 25, "condition": "晴"}
Thought: 已获得天气数据,可直接回复用户
Action: 回复"北京今天..."
```



#### Step1 构造大模型
> 创建一个BaseModel类,在这个类中定义一些基本的方法,eg: chat方法,方便以后扩展其他模型
```
class BaseModel
def __init__(self, api_key: str = "") -> None;
self.api_key = api_key
def chat(self, prompt: str, history: List[Dict[str, str]], system_prompt: string="") -> Tuple[str, List[Dict[str,
"""
基础聊天接口
Args:
prompt: 用户输入
history: 对话历史
system_prompt: 系统提示
Returns:
(模型响应,更新后的对话历史)
"""
pass
```


### Q&A
1. Agent架构、强化学习、优化算法3者是什么关系?
agent架构核心是通过大模型来解决问题
强化学习分为两种:1. 乔正大模型回答 大模型对其用户偏好 2. agent强化学习
优化算法:
2. 最值得学习的agent开发框架是什么? langgraph怎么
openai swam框架 agent原理了解
3. 理解Agent原理对企业级Agent应用开发的帮助
了解原理之后会快速实现优化和参数理解
4. 怎么管理长期记忆?
a. 记忆的持久化保存一般使用什么方法?
太长的记忆处理方法(超过最大输入尺寸) -> summary 做前文总结
持久化保存会存为本地文件以RAG支持大模型 可使用命令搜索
5. Agent如何高效且准确的应用记忆?
1. 可使用命令搜索内容
2. 使用RAG管理
6. 调用工具失败,如何处理?
需要写清楚系统提示词
7. 什么agent框架适合入门开发?
eg: 阿里的agentScope
8. 实际工程中使用Agent需要哪些优化或注意的地方?
找到实际的问题 具体问题具体处理
9. 怎么选择Agent?
agentScope或ms agent
10. 一个问题可回答好几分钟,多次搜索,这种Agent是怎么实现的?
Re-Act原理
学而不思则罔,思而不学则殆!

浙公网安备 33010602011771号