乐于分享
好东西不私藏

AI Agent技术架构

AI Agent技术架构

AI Agent 技术架构深度解析:从原理到实现

写在前面:本文不讨论"Agent要取代程序员"这类焦虑话题,只聚焦技术本身。如果你关心的是架构设计、核心组件、业界实践,这篇文章值得仔细阅读。


01 为什么需要 Agent?

传统的 LLM 调用模式是这样的:

用户输入 → 模型生成 → 输出结果 → 结束

这叫 Completion(补全),模型做一件事就结束。

但现实任务往往复杂得多:

• 查天气需要先调 API → 拿到数据 → 再组织回答

• 写报告需要先搜索资料 → 整理信息 → 再撰写内容

• 订机票需要比价 → 选航班 → 填信息 → 确认支付

单一模型调用根本无法完成。

Agent 的出现,就是为了解决这个问题:让模型具备"使用工具"和"规划任务"的能力。


02 Agent 的核心架构

一个完整的 Agent,通常由四个核心组件构成:

2.1 规划(Planning)

任务分解

:把复杂任务拆成多个子任务。

典型方法:

| 方法 | 描述 | 代表模型 |

|



|



|




-|

| CoT (Chain of Thought) | 逐步推理,每步输出思维链 | GPT-4 |

| ToT (Tree of Thoughts) | 探索多条推理路径,选取最优 | GPT-4 |

| ReAct | 结合推理 + 行动,循环执行 | 主流 Agent |

ReAct 模式详解

Thought: 需要查北京天气

Action: 调用天气 API

Observation: 北京今天晴,28度

Thought: 天气很好,适合出行

Action: 输出最终回答

这是目前最流行的推理框架,Claude Agent、GPT Agent 都在用。

2.2 记忆(Memory)

Agent 需要"记住"两类信息:

| 类型 | 说明 | 实现方式 |

|



|



|




-|

| 短期记忆 | 当前对话上下文 | Context Window |

| 长期记忆 | 跨会话信息存储 | 向量数据库 |

关键问题

:上下文窗口不是无限的。

当对话很长时,模型会"遗忘"早期内容。解决方案:

1. 摘要压缩:定期把对话压缩成摘要

2. 向量检索:把历史信息存入向量库,用时检索

3. 分层记忆:短期 → 长期 → 永久,分层管理

2.3 工具调用(Tool Use)

这是 Agent 的核心能力:让模型决定何时调用外部工具

技术实现上,分为三步:

1. Function Calling:模型输出调用格式

2. Tool Execution:执行工具,返回结果

3. Result Integration:将结果合并到上下文中

GPT-4 的 Function Calling 示例

json

{

"name": "get_weather",

"arguments": {

"location": "北京",

"unit": "celsius"

}

}

模型并不真正"调用"API,而是输出符合格式的 JSON。实际调用由外部代码完成。

主流工具类型

• 搜索 API(Web Search)

• 代码执行(Code Interpreter)

• 文件读取(File Reader)

• API 调用(REST API)

• 数据库查询(SQL)

2.4 评估(Evaluation)

每个 Action 执行完后,Agent 需要判断:

✅ 任务是否完成?

❌ 结果是否符合预期?

• 🔄 需要重试还是调整策略?

这一步叫 Self-Reflection(自我反思),是 Agent 区别于普通脚本的关键。


03 业界实践:主流 Agent 架构对比

3.1 Claude Agent(Anthropic)

Claude Agent 的架构特点:

先规划,后执行:不急着调用工具,而是先制定完整计划

安全优先:每次工具调用前做安全评估

MCP 协议:支持 Model Context Protocol,统一工具接口

python

伪代码展示 Claude Agent 流程

while not task_complete:

plan = agent.plan(task) # 制定计划

for step in plan:

result = agent.execute(step) # 执行每步

if not agent.validate(result): # 验证结果

plan = agent.replan(task, result) # 重规划

3.2 GPT Agent(OpenAI)

OpenAI 的 Agent 方案:

ReAct 驱动:基于 ReAct 框架,推理 + 行动循环

代码解释器:内置 Python 执行环境

结构化输出:支持 JSON Schema 严格定义输出格式

3.3 Gemini Agent(Google)

Google 的方案:

Gemini 2.0 原生工具调用:模型直接生成可执行代码

多模态原生:图像、视频、音频直接作为输入

Google 生态集成:搜索、地图、日历等自有工具


04 MCP: Agent 的通信协议

MCP(Model Context Protocol)

是今年最值得关注的 Agent 基础设施。

4.1 解决的问题

以前,每个 Agent 都要单独对接各种工具:

Agent A → 写一个天气插件

Agent B → 写一个天气插件

Agent C → 写一个天气插件

重复造轮子,生态割裂。

4.2 MCP 的思路

MCP 定义了一套标准:

Client(模型) ←→ MCP Server(工具) ←→ 真实服务(API/DB/文件系统)

只要实现了 MCP Server,任何 MCP Client 都能直接使用这些工具。

4.3 现状

✅ Anthropic 强力推动,Claude Desktop 内置 MCP

✅ 主流工具(如 Slack、Notion、GitHub)已有 MCP Server

• ⚠️ OpenAI 尚未官方支持,但社区方案已存在

• ⚠️ 生态还在早期,标准尚未完全收敛


05 技术挑战与未来方向

5.1 当前瓶颈

| 挑战 | 描述 |

|



|



|

| 幻觉 | Agent 可能会错误调用工具,传入错误参数 |

| 长任务 | 10+ 步的任务,错误累积导致最终失败 |

| 成本 | 每次工具调用都是一次 API 支出 |

| 评估 | 如何自动评估 Agent 输出的质量? |

5.2 未来趋势

1. Agent 编排:多个 Agent 协作,分工明确

2. 持久记忆:真正的长期记忆,而不是靠上下文硬撑

3. 原生 Agent 模型:专门为 Agent 任务训练的模型,而不是用 Chat 模型魔改

4. Agent 评测基准:像 MMLU 之于 LLM 一样的 Agent 评测标准


06 总结

Agent 的本质,是让 LLM 从"回答问题"变成"解决问题"

核心技术栈:

规划:CoT、ToT、ReAct 等推理框架

记忆:Context Window + 向量检索

工具:Function Calling + MCP 协议

评估:Self-Reflection + 验证机制

理解了这些,你才能真正读懂 Agent 的能力边界——它不是什么魔法,而是工程化的产物。


*如果想看更具体的实现细节(比如如何用 Python 写一个最小 Agent),评论区告诉我。*