Agent 的理解

Agent 的组成可以从 架构分层核心模块 两个维度来理解:

一、分层架构视角

plain

复制
┌─────────────────────────────────────┐
│  交互层 (Interface)                  │  ← 用户对话、多模态输入输出
├─────────────────────────────────────┤
│  推理层 (Reasoning)                  │  ← 任务规划、决策、反思
├─────────────────────────────────────┤
│  记忆层 (Memory)                     │  ← 短期/长期记忆、知识存储
├─────────────────────────────────────┤
│  工具层 (Tools/MCP)                  │  ← 调用外部API、数据库、文件等
├─────────────────────────────────────┤
│  安全层 (Guardrails)                 │  ← 权限控制、内容审核、防幻觉
└─────────────────────────────────────┘
 

二、核心模块详解

1. 大脑:LLM(核心推理引擎)

  • 作用:理解意图、生成计划、推理决策
  • 关键能力
    • Chain-of-Thought(思维链)
    • ReAct(推理+行动循环)
    • 函数调用(Function Calling)
  • 选型:GPT-4、Claude、Llama、Qwen 等

2. 记忆系统(Memory)

表格

复制
类型 功能 实现方式
短期记忆 当前对话上下文 滑动窗口、Token 限制管理
工作记忆 任务中间状态、变量 键值存储、临时缓存
长期记忆 用户偏好、历史知识 向量数据库(RAG)、知识图谱
** episodic 记忆** 过往任务经验 案例库、示例学习

3. 规划与任务管理(Planning)

plain

复制
任务分解示例:
"写一份行业分析报告" 
    → 1. 搜索最新行业数据
    → 2. 整理关键指标
    → 3. 分析趋势
    → 4. 生成图表
    → 5. 撰写总结
 
  • 技术方案
    • 单路径规划:Chain-of-Thought、ToT(思维树)
    • 多路径规划:ReAct、Plan-and-Solve、LATS
    • 动态调整:根据工具返回结果,实时修正计划

4. 工具调用系统(Tool Use)

表格

复制
组件 说明
工具注册表 维护可用工具列表(名称、描述、参数Schema)
意图识别 判断是否需要调用工具,选哪个工具
参数填充 从上下文提取/生成工具所需参数
结果解析 将工具返回的原始数据转为可理解的格式
错误处理 超时、失败重试、降级策略
这就是 MCP Server 接入的位置——工具层的具体实现

5. 行动执行循环(Action Loop)

经典 ReAct 模式

plain

复制
Thought(思考)→ Action(行动)→ Observation(观察)→ ... → Answer(答案)
 

plain

复制
示例:
Thought: 用户问北京天气,我需要调用天气API
Action: 调用 weather_tool(location="北京")
Observation: {"temp": 25, "condition": "晴"}
Thought: 已获得数据,可以组织语言回复
Answer: 北京今天晴天,25度,适合出门...
 

6. 安全与管控(Guardrails)

表格

复制
层面 功能
输入安全 提示词注入检测、敏感信息过滤
输出安全 内容审核、事实核查(防幻觉)
权限控制 工具访问权限、数据范围限制
审计日志 记录决策路径,便于追溯

三、典型 Agent 框架对比

表格

复制
框架 特点 适用场景
LangChain 模块化、生态丰富 快速原型、复杂流程
AutoGPT 全自动、目标驱动 长期自主任务
MetaGPT 多Agent协作、SOP化 软件开发、团队协作
Dify/Coze 低代码、可视化 业务快速落地
Claude Code 深度编码能力 编程辅助、代码生成

四、最小可用 Agent 的代码结构

Python

复制
class SimpleAgent:
    def __init__(self):
        self.llm = LLM()           # 大脑
        self.memory = Memory()     # 记忆
        self.tools = ToolRegistry() # 工具注册表(含MCP Server)
        self.planner = Planner()   # 规划器
    
    def run(self, user_input):
        # 1. 加载上下文
        context = self.memory.load()
        
        # 2. 推理决策
        thought = self.llm.think(user_input, context)
        
        # 3. 循环执行
        while not task_complete:
            action = self.llm.decide_action(thought)
            if action.is_tool_call:
                result = self.tools.execute(action)
                observation = self.llm.observe(result)
            thought = self.llm.update_thought(observation)
        
        # 4. 更新记忆 & 返回
        self.memory.save(thought)
        return thought.final_answer
 

总结:Agent = LLM + 记忆 + 规划 + 工具 + 循环

表格

复制
模块 核心问题
LLM 怎么思考?
记忆 记得什么?
规划 怎么做?
工具 用什么做?(MCP Server在这里)
循环 如何持续改进?
MCP Server 只是 工具层 的一种标准化实现方式,而 Agent 是完整的 智能决策系统
 

本文荟萃自,只做学术交流学习使用,不做为临床指导,本文观点不代表数字重症 ICU.CN立场。

(0)
打赏 微信扫一扫 微信扫一扫
Chu的头像Chu
上一篇 2026年2月12日 下午8:40
下一篇 2026年2月12日 下午9:04

相关推荐