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: 回复"北京今天..."
```

![image](https://img2024.cnblogs.com/blog/2104219/202604/2104219-20260404095453185-32792238.png)
![image](https://img2024.cnblogs.com/blog/2104219/202604/2104219-20260404095723581-1338059833.png)
![image](https://img2024.cnblogs.com/blog/2104219/202604/2104219-20260404095844719-92734396.png)


#### 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
```


![image](https://img2024.cnblogs.com/blog/2104219/202604/2104219-20260404103743718-2119545088.png)


![image](https://img2024.cnblogs.com/blog/2104219/202604/2104219-20260404103758387-2128335540.png)

### 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原理
posted @ 2026-04-04 10:52  Felix_Openmind  阅读(0)  评论(0)    收藏  举报
*{cursor: url(https://files-cdn.cnblogs.com/files/morango/fish-cursor.ico),auto;}