当前位置: 首页 > news >正文

收藏!小白程序员必看:Agent框架如何让AI Agent真正“活”起来?

本文深入剖析了Anthropic、OpenAI等实际构建的Agent框架,涵盖编排循环、工具、记忆、上下文管理等关键组件,揭示框架如何将无状态的LLM转变为有能力的Agent。文章指出,生产级Agent框架的优劣直接影响AI Agent的性能,并通过12个组件详细解析了框架的运作机制,强调了框架设计的重要性,以及随着模型改进,框架应向更薄的方向演进的趋势。

Agent 框架解剖:到底是什么让 AI Agent 真正能用?

深入剖析 Anthropic、OpenAI、Perplexity 和 LangChain 实际上在构建什么。涵盖编排循环、工具、记忆、上下文管理,以及所有将一个无状态的 LLM 变成有能力的 Agent 的关键组件。

你搭了一个聊天机器人。也许还接了一个 ReAct 循环,挂了几个工具。Demo 挺好使的。然后你试着把它做到生产级别——结果翻车了:模型忘了三步前做了什么,工具调用静默失败,上下文窗口塞满了垃圾。

问题不在你的模型。而在模型周围的一切。

LangChain 证明了这一点——他们只改了包裹 LLM 的基础设施(同样的模型、同样的权重),就在 TerminalBench 2.0 上从前 30 名之外跳到了第 5 名。另一个研究项目让 LLM 自己优化基础设施,达到了 76.4% 的通过率,超越了人工设计的系统。
这套基础设施现在有了一个名字:Agent Harness(Agent 框架)。

Agent Harness 是什么?

这个词在 2026 年初被正式定义,但概念早就存在了。框架是包裹 LLM 的完整软件基础设施:编排循环、工具、记忆、上下文管理、状态持久化、错误处理和安全护栏。Anthropic 的 Claude Code 文档说得很直白:SDK 就是"驱动 Claude Code 的 Agent 框架"。OpenAI 的 Codex 团队用了同样的说法,明确把"Agent"和"框架"画上等号,指的都是让 LLM 真正有用的非模型基础设施。
我很喜欢 LangChain 的 Vivek Trivedy 说的一句经典公式:如果你不是模型,那你就是框架。
这里有个容易搞混的地方。“Agent"是涌现出来的行为:目标导向的、会使用工具的、能自我纠错的、用户与之交互的那个实体。而"框架"是产生这种行为的机器。当有人说"我搭了一个 Agent”,他的意思是搭了一个框架,然后把它指向了一个模型。
Beren Millidge 在他 2023 年的文章《Scaffolded LLMs as Natural Language Computers》中把这个类比说得很精确:一个原始的 LLM 就像一块没有内存、没有硬盘、没有 I/O 的 CPU。上下文窗口充当内存(快但有限),外部数据库充当硬盘(大但慢),工具集成充当设备驱动,而框架就是操作系统。正如 Millidge 所写:我们重新发明了冯·诺依曼架构——因为这是任何计算系统的自然抽象。

三个工程层级

模型周围有三个同心圆式的工程层级:

  • 提示词工程:crafting 模型接收到的指令
  • 上下文工程:管理模型能看到什么、什么时候看到
  • 框架工程:涵盖前两者,再加上整个应用基础设施:工具编排、状态持久化、错误恢复、验证循环、安全执行和生命周期管理

框架不是提示词的一层包装。它是让自主 Agent 行为成为可能的完整系统。

生产级框架的 12 个组件

综合 Anthropic、OpenAI、LangChain 和更广泛的实践社区的经验,一个生产级 Agent 框架有 12 个不同的组件。让我们逐一拆解。

1. 编排循环(Orchestration Loop)

这是心脏。它实现了"思考-行动-观察"(Thought-Action-Observation,TAO)循环,也叫 ReAct 循环。循环的流程是:组装提示 → 调用 LLM → 解析输出 → 执行工具调用 → 把结果喂回去 → 重复直到完成。
从机制上讲,它通常就是一个 while 循环。复杂度不在于循环本身,而在于循环所管理的一切。Anthropic 把他们的运行时描述为一个"笨循环"——所有智能都在模型里,框架只管轮次管理。

2. 工具(Tools)

工具是 Agent 的手。它们被定义为 schema(名称、描述、参数类型),注入到 LLM 的上下文中,让模型知道有哪些工具可用。工具层负责注册、schema 校验、参数提取、沙箱执行、结果捕获,以及把结果格式化为 LLM 可读的观察结果。
Claude Code 提供了六大类工具:文件操作、搜索、执行、网络访问、代码智能和子 Agent 生成。OpenAI 的 Agents SDK 支持函数工具(通过 @function_tool)、托管工具(WebSearch、CodeInterpreter、FileSearch)和 MCP 服务器工具。

3. 记忆(Memory)

记忆在多个时间尺度上运作。短期记忆是单个会话内的对话历史。长期记忆跨会话持久化:Anthropic 使用 CLAUDE.md 项目文件和自动生成的 MEMORY.md 文件;LangGraph 使用按命名空间组织的 JSON Store;OpenAI 支持 Session,底层可以是 SQLite 或 Redis。
Claude Code 实现了一个三级层次结构:轻量索引(每条约 150 字符,始终加载)、按需拉取的详细主题文件、仅通过搜索访问的原始记录。一个关键的设计原则:Agent 把自己的记忆当作"提示"(hint),在行动前会对照实际状态进行验证。

4. 上下文管理(Context Management)

这是很多 Agent 静默失败的地方。核心问题是上下文腐烂:当关键内容落在上下文窗口的中间位置时,模型性能会下降 30% 以上(Chroma 研究,Stanford 的 Lost in the Middle 发现也佐证了这一点)。即使是百万 token 的窗口,随着上下文增长,指令遵循能力也会退化。
生产环境的策略包括:

  • 压缩(Compaction):在接近上限时摘要对话历史(Claude Code 保留架构决策和未解决的 bug,丢弃冗余的工具输出)
  • 观察结果遮蔽(Observation masking):JetBrains 的 Junie 隐藏旧的工具输出,但保留工具调用记录
  • 即时检索(Just-in-time retrieval):维护轻量标识符,按需加载数据(Claude Code 用 grep、glob、head、tail 而不是加载完整文件)
  • 子 Agent 委托:每个子 Agent 广泛探索,但只返回 1000-2000 token 的浓缩摘要

Anthropic 的上下文工程指南这样陈述目标:找到尽可能最小的高信号 token 集合,以最大化获得预期结果的概率。

5. 提示词构建(Prompt Construction)

这是组装模型在每一步实际看到的内容。它是分层的:系统提示、工具定义、记忆文件、对话历史和当前用户消息。
OpenAI 的 Codex 使用严格的优先级栈:服务端控制的系统消息(最高优先级)、工具定义、开发者指令、用户指令(级联的 AGENTS.md 文件,32 KiB 限制),然后是对话历史。

6. 输出解析(Output Parsing)

现代框架依赖原生工具调用——模型返回结构化的 tool_calls 对象,而不是需要解析的自由文本。框架的逻辑是:有工具调用?执行并循环。没有工具调用?那就是最终答案。
对于结构化输出,OpenAI 和 LangChain 都支持通过 Pydantic 模型进行 schema 约束的响应。像 RetryWithErrorOutputParser 这样的遗留方案(把原始提示、失败的补全和解析错误一起喂回给模型)仍然可用于边缘情况。

7. 状态管理(State Management)

LangGraph 把状态建模为在图节点间流动的类型化字典,通过 reducer 合并更新。检查点在超步边界进行,支持中断后恢复和时间旅行调试。OpenAI 提供四种互斥的策略:应用内存、SDK Session、服务端 Conversations API,或轻量的 previous_response_id 链式传递。Claude Code 用了一种不同的方法:git commit 作为检查点,进度文件作为结构化的草稿本。

8. 错误处理(Error Handling)

为什么这很重要:一个 10 步的过程,每步 99% 的成功率,整体成功率只有约 90.4%。错误会快速累积。
LangGraph 区分四种错误类型:瞬时错误(退避重试)、LLM 可恢复错误(把错误作为 ToolMessage 返回,让模型自行调整)、用户可修复错误(中断等待人工输入)和意外错误(上抛用于调试)。Anthropic 在工具处理器内捕获失败,作为错误结果返回以保持循环运行。Stripe 的生产框架把重试次数上限设为两次。

9. 安全护栏(Guardrails and Safety)

OpenAI 的 SDK 实现了三个层级:输入护栏(在第一个 Agent 上运行)、输出护栏(在最终输出上运行)和工具护栏(在每次工具调用上运行)。还有一个"绊线"(tripwire)机制,触发时立即停止 Agent。
Anthropic 在架构上把权限执行和模型推理分离开来。模型决定尝试做什么,工具系统决定什么被允许。Claude Code 对大约 40 个独立的工具能力进行独立门控,分三个阶段:项目加载时建立信任、每次工具调用前检查权限、高风险操作需要用户明确确认。

10. 验证循环(Verification Loops)

这是玩具 Demo 和生产 Agent 的分水岭。Anthropic 推荐三种方式:基于规则的反馈(测试、linter、类型检查器)、视觉反馈(通过 Playwright 截图,用于 UI 任务)和 LLM 作为评判者(一个独立的子 Agent 评估输出)。
Claude Code 的创建者 Boris Cherny 指出:给模型一种验证自己工作的方式,可以将质量提升 2-3 倍。

11. 子 Agent 编排(Subagent Orchestration)

Claude Code 支持三种执行模型:Fork(父上下文的字节级完全拷贝)、Teammate(独立的终端面板,通过基于文件的邮箱通信)和 Worktree(自己的 git worktree,每个 Agent 一个隔离分支)。OpenAI 的 SDK 支持 Agent-as-tool(专家处理有界的子任务)和 Handoff(专家接管完全控制)。LangGraph 把子 Agent 实现为嵌套的状态图。

循环实战:一步步走通整个流程

现在你了解了所有组件,让我们追踪它们如何在一次循环中协同工作。

第 1 步(提示词组装):框架构建完整输入:系统提示 + 工具 schema + 记忆文件 + 对话历史 + 当前用户消息。重要上下文被放在提示词的开头和结尾(Lost in the Middle 发现)。
第 2 步(LLM 推理):组装好的提示词发送到模型 API。模型生成输出 token:文本、工具调用请求,或两者都有。
第 3 步(输出分类):如果模型产生了没有工具调用的文本,循环结束。如果请求了工具调用,进入执行。如果请求了移交(handoff),更新当前 Agent 并重新开始。
第 4 步(工具执行):对于每个工具调用,框架验证参数、检查权限、在沙箱环境中执行并捕获结果。只读操作可以并发执行;修改操作串行执行。
第 5 步(结果打包):工具结果被格式化为 LLM 可读的消息。错误被捕获并作为错误结果返回,让模型可以自我纠正。
第 6 步(上下文更新):结果追加到对话历史。如果接近上下文窗口限制,框架触发压缩。
第 7 步(循环):回到第 1 步。重复直到终止。
终止条件是分层的:模型产生了没有工具调用的响应、超过最大轮次限制、token 预算耗尽、安全护栏绊线触发、用户中断,或返回安全拒绝。一个简单问题可能只需要 1-2 轮。一个复杂的重构任务可能跨越许多轮次,链接几十个工具调用。
对于跨越多个上下文窗口的长期任务,Anthropic 开发了一种两阶段的 Ralph 循环模式:初始化 Agent 先搭建环境(初始化脚本、进度文件、功能列表、初始 git commit),然后每次后续会话中的编码 Agent 读取 git 日志和进度文件来定位自己,挑选最高优先级的未完成功能,开展工作,提交,并写摘要。文件系统提供了跨上下文窗口的连续性。

各家框架的实现方式

Anthropic 的 Claude Agent SDK通过一个 query() 函数暴露框架,创建 Agent 循环并返回流式消息的异步迭代器。运行时是一个笨循环。所有智能都在模型里。Claude Code 使用 Gather-Act-Verify 循环:收集上下文(搜索文件、读代码)→ 采取行动(编辑文件、运行命令)→ 验证结果(运行测试、检查输出)→ 重复。
OpenAI 的 Agents SDK通过 Runner 类实现框架,提供三种模式:async、sync 和 streamed。SDK 是代码优先的:工作流逻辑用原生 Python 表达,而不是图 DSL。Codex 框架在此基础上扩展出三层架构:Codex Core(Agent 代码 + 运行时)、App Server(双向 JSON-RPC API)和客户端界面(CLI、VS Code、Web 应用)。所有界面共享同一个框架——这就是为什么 Codex 模型在 Codex 界面上比在通用聊天窗口里感觉更好用。
LangGraph把框架建模为显式的状态图。两个节点(llm_call 和 tool_node)通过条件边连接:如果有工具调用,路由到 tool_node;如果没有,路由到 END。LangGraph 从 LangChain 的 AgentExecutor 演化而来——后者在 v0.2 中被废弃,因为它难以扩展且缺乏多 Agent 支持。LangChain 的 Deep Agents 明确使用了 Agent 框架这个术语:内置工具、规划(write_todos 工具)、用于上下文管理的文件系统、子 Agent 生成和持久记忆。
CrewAI实现了基于角色的多 Agent 架构:Agent(LLM 周围的框架,由角色、目标、背景故事和工具定义)、Task(工作单元)和 Crew(Agent 的集合)。CrewAI 的 Flows 层添加了一个在关键位置注入智能的确定性骨架,管理路由和验证,而 Crew 处理自主协作。
AutoGen(正在演变为 Microsoft Agent Framework)首创了对话驱动的编排。它的三层架构(Core、AgentChat、Extensions)支持五种编排模式:顺序、并发(扇出/扇入)、群聊、移交和磁力模式(一个管理 Agent 维护动态任务账本,协调专家)。

脚手架隐喻

脚手架隐喻不是装饰性的。它是精确的。建筑脚手架是让工人能够建造他们够不着的结构的临时基础设施。脚手架本身不参与建造。但没有它,工人上不了高层。

关键洞察:建筑完工后,脚手架会被拆除。随着模型的改进,框架的复杂度应该降低。Manus 在六个月内重写了五次,每次重写都在删减复杂度。复杂的工具定义变成了通用的 shell 执行。管理 Agent 变成了简单的结构化移交。
这指向了协同进化原则:模型现在是在特定框架的参与下进行后训练的。Claude Code 的模型学会了使用它训练时使用的特定框架。更改工具实现可能会降低性能——因为这种紧密耦合。
框架设计的未来验证测试:如果性能随着更强的模型而提升,而不需要增加框架复杂度,那么这个设计就是合理的。

定义每个框架的七个决定

每个框架架构师都要面对七个选择:

  1. 单 Agent vs 多 Agent。Anthropic 和 OpenAI 都说:先最大化单个 Agent。多 Agent 系统会增加开销(路由需要额外的 LLM 调用,移交时会丢失上下文)。只有当工具过载超过约 10 个重叠工具,或者存在明显不同的任务领域时,才考虑拆分。
  2. ReAct vs 规划-执行。ReAct 在每一步交替进行推理和行动(灵活但每步成本更高)。规划-执行把规划和执行分开。LLMCompiler 报告了比顺序 ReAct 快 3.6 倍的速度。
  3. 上下文窗口管理策略。五种生产方案:基于时间的清理、对话摘要、观察结果遮蔽、结构化笔记和子 Agent 委托。ACON 研究表明,通过优先保留推理轨迹而非原始工具输出,实现了 26%-54% 的 token 减少同时保持 95% 以上的准确率。
  4. 验证循环设计。计算验证(测试、linter)提供确定性的真值基准。推理验证(LLM 作为评判者)能捕获语义问题但会增加延迟。Martin Fowler 的 Thoughtworks 团队把这框架化为引导器(前馈,在行动前引导)vs 传感器(反馈,在行动后观察)。
  5. 权限和安全架构。宽松模式(快但有风险,自动批准大部分操作)vs 严格模式(安全但慢,每个操作都需要批准)。选择取决于部署场景。
  6. 工具范围策略。更多工具往往意味着更差的性能。Vercel 从 v0 中移除了 80% 的工具,结果反而更好。Claude Code 通过懒加载实现了 95% 的上下文减少。原则是:暴露当前步骤所需的最小工具集。
  7. 框架厚度。多少逻辑放在框架里,多少留给模型。Anthropic 赌薄框架和模型改进。基于图的框架赌显式控制。Anthropic 会随着新模型版本内化了某些能力,定期从 Claude Code 的框架中删除对应的规划步骤。

框架即产品

两个使用相同模型的产品,仅仅因为框架设计不同,性能可能天差地别。TerminalBench 的证据很明确:只改框架,排名就提升了 20 多个位次。
框架不是一个已解决的问题,也不是一个商品化层。它是硬核工程所在的地方:把上下文作为稀缺资源来管理、设计在错误累积之前就能捕获的验证循环、构建提供连续性而不产生幻觉的记忆系统,以及在搭多少脚手架和留给模型多少之间做架构决策。
随着模型的改进,这个领域正在向更薄的框架方向演进。但框架本身不会消失。即使是最强大的模型,也需要有东西来管理它的上下文窗口、执行它的工具调用、持久化它的状态、验证它的工作。
下次你的 Agent 翻车了,别怪模型。看看框架。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包

  • ✅ 从零到一的 AI 学习路径图
  • ✅ 大模型调优实战手册(附医疗/金融等大厂真实案例)
  • ✅ 百度/阿里专家闭门录播课
  • ✅ 大模型当下最新行业报告
  • ✅ 真实大厂面试真题
  • ✅ 2026 最新岗位需求图谱

所有资料 ⚡️ ,朋友们如果有需要《AI大模型入门+进阶学习资源包》下方扫码获取~

① 全套AI大模型应用开发视频教程

(包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点)

② 大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!

③ 大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。

④ AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

⑤ 大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

⑥ 大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余

以上资料如何领取?

为什么大家都在学大模型?

最近科技巨头英特尔宣布裁员2万人,传统岗位不断缩减,但AI相关技术岗疯狂扩招,有3-5年经验,大厂薪资就能给到50K*20薪!

不出1年,“有AI项目经验”将成为投递简历的门槛。

风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!

这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

以上全套大模型资料如何领取?

http://www.cnnetsun.cn/news/1863743.html

相关文章:

  • OFA模型与Dify平台集成:可视化构建图像描述AI工作流
  • BiliTools跨平台工具箱:高效管理B站资源的专业解决方案
  • 技术深度解析:ImStudio GUI布局设计器与实时预览引擎
  • CVAT平台部署与半自动标注实战:从零到一搭建高效标注环境
  • 巴瑞替尼Baricitinib 2mg或4mg治重度斑秃,近四成患者头发基本长回
  • vLLM 0.6.4 + Qwen-14B模型部署:从单卡到H100双卡并行,我的完整配置与避坑实录
  • 利用域代码实现Word中Mathtype公式的智能编号与精准交叉引用
  • 3步解决Mac NTFS写入难题:Nigate免费工具全面指南
  • 【nginx】从零开始:将WebSocket(WS)升级为安全WebSocket(WSS)的完整指南
  • 球谐函数在实时渲染中的妙用:从理论到游戏光照实践
  • 攻克Earthworm用户头像上传:从0到1的全栈实现指南
  • opencv人流量统计
  • FanControl零基础配置指南:5步打造智能静音散热系统
  • 终极指南:AppleRa1n免费解锁iOS 15-16设备激活锁的完整教程
  • 【AIAgent协作黄金法则】:SITS2026首席专家亲授3大人类-AI协同失效场景与7步落地框架
  • SAP策略50实战:手把手教你配置MTO的M+M模式,搞定可配置物料与里程碑开票
  • 终极指南:BiliTools如何成为你的B站全能助手
  • LeetCode热题100-和为 K 的子数组
  • 深度实战:使用zhihu-api构建知乎数据分析系统的完整指南
  • Kubernetes Pod 资源调度策略解析
  • 智能环境感应LED控制:光敏电阻与按键的联动设计
  • PostgreSQL 二进制安装全流程指南:从下载到远程连接
  • Adafruit_SH1106深度解析:如何为SH1106 OLED打造高性能嵌入式图形显示方案
  • GLM-4.1V-9B-Base应用指南:电商商品图识别与场景描述实战
  • 告别404!用Docker Compose一键部署GeoServer(含汉化与TIF影像发布避坑指南)
  • TikTok直播实时数据接入终极指南:解锁Node.js开发新境界
  • 终极游戏化编程学习指南:CodeCombat如何让代码学习像玩游戏一样简单有趣
  • Windows多显示器DPI缩放终极控制方案:5分钟快速掌握SetDPI
  • 避坑指南:MSPM0G与MSPM0L的ADC配置差异,搞错转换时间采样就废了
  • Kreuzberg高级功能解析:语言检测、关键词提取、质量处理等