Skip to main content

从提示词到上下文工程:Claude、Codex 与多 Agent 协作的完整心智模型

Rainy
雨落无声,代码成诗 —— 致力于技术与艺术的极致平衡
Rainy
26 MIN READ... VIEWS

很多人第一次使用 Claude Code 或 Codex 时,会把效果差异归结为“提示词写得好不好”。这当然重要,但只解释了很小一部分。

一个真正能持续工作的 AI Agent,不只是在读取一句 Prompt。它还会接收系统规则、项目规范、历史消息、代码与文档、Skill、MCP 工具描述、工具执行结果、长期记忆、子 Agent 汇总以及运行环境状态。随着任务推进,这些信息还会被检索、缓存、裁剪、压缩、持久化和重新装配。

因此,今天更准确的问题已经不是:

“我应该怎样写一句更神奇的提示词?”

而是:

“在 Agent 每一次决策前,应该让模型看到哪些信息,允许它调用哪些能力,怎样保留状态,又怎样证明任务真的完成?”

这就是从 **Prompt Engineering(提示词工程)**走向 **Context Engineering(上下文工程)**的关键变化。

本文基于截至 2026 年 9 月 4 日的 Claude 与 Codex 官方资料,建立一套不依赖具体产品界面的通用模型,并重点回答五个问题:

  1. Prompt、Context、Cache、Memory、Skill、MCP 到底有什么区别?
  2. Claude Code 与 Codex 如何组织项目上下文?
  3. 一个 AI Agent 从接收任务到完成验证,内部经历了什么流程?
  4. 多 Agent 为什么有时更强,又为什么经常更贵、更乱?
  5. 怎样写一份真正适合 Agent 执行的任务提示?

一、先建立正确模型:LLM 只有“当前工作台”,Agent 才有“工作系统”

模型本身在一次推理时能使用的,是一个有限的 Context Window(上下文窗口)。Anthropic 的上下文窗口文档明确指出,系统提示、消息历史、文档、图片、工具定义、工具结果以及当前输出都会占用窗口。窗口很大,不代表把所有信息塞进去就会更好;信息越多,相关内容越容易被噪声淹没。

Agent 则是在模型外面增加了一套 Harness(运行支架):它负责组装上下文、暴露工具、执行工具调用、保存状态、控制权限、循环调用模型,并在适当的时候压缩或切换上下文。

可以把两者理解成:

  • LLM 是大脑:根据当前看到的 Token 做判断;
  • Agent Harness 是工作系统:决定大脑看到什么、能做什么、结果存到哪里、何时继续或停止;
  • Sandbox 是双手工作的房间:文件、终端、浏览器、网络和权限都发生在这里;
  • Artifacts 是外部事实:代码、测试、任务清单、数据库记录和报告不会因为聊天窗口结束而消失。

这张图里最重要的是回路:Agent 不是一次生成,而是“观察—决策—行动—反馈—验证”的循环。


二、上下文栈:十个看似相近、实际职责完全不同的部分

把 Agent 能使用的信息分层后,许多概念就不再混乱。

解决的问题典型载体是否长期存在是否直接占用当前上下文
System / Developer Prompt这个 Agent 是谁,必须遵守什么系统指令、开发者指令通常随产品配置
User Prompt这一次要完成什么用户消息、任务合同当前任务
Project Instructions在这个仓库里应如何工作CLAUDE.mdAGENTS.md、Rules随项目版本存在加载后占用
Skill某类任务应按什么方法执行SKILL.md、脚本、模板、参考资料可复用通常按需加载
Tools / MCPAgent 可以读取或改变哪些外部系统Tool Schema、MCP Server配置级描述与返回结果会占用
Retrieval / RAG从大资料库里挑出当前相关内容向量检索、关键词检索、文件搜索资料长期存在只有检索结果进入窗口
Conversation State这次任务刚才发生了什么消息、工具调用、工具结果会话级
Memory过去任务中哪些经验值得以后再用自动记忆、人工记忆、Memory Tool跨会话被召回时占用
Cache相同前缀能否少算一次、少花一些Prompt Cache短期基础设施状态Token 仍在窗口中
Compaction / Context Editing窗口快满时怎样保留重点摘要、压缩项、删除旧工具结果会话延续机制用更少 Token 替代旧内容

1. Prompt:描述目标,不负责保存世界

Prompt 是进入上下文的指令。好的 Prompt 应该定义目标、成功标准、约束、可用证据、输出形式与停止条件。它不应该承担数据库、知识库或项目历史的职责。

提示词最常见的失败,不是“不够华丽”,而是缺少任务合同:

  • 只说“优化一下”,没有说明优化什么指标;
  • 只说“修复问题”,没有给出复现路径;
  • 只要求“写完”,没有定义验证方式;
  • 给了详细步骤,却没有说明哪些步骤只是建议、哪些约束不可违反;
  • 让 Agent 自主工作,却没有声明权限和停止边界。

2. Project Instructions:每次都应该知道的规则

项目指令适合存放稳定且高频的事实,例如仓库结构、构建命令、编码规范、安全要求和验收门禁。

Claude Code 使用 CLAUDE.md.claude/rules/ 等文件承载这类上下文;Codex 使用分层的 AGENTS.md。它们不是“更长的用户 Prompt”,而是仓库随代码共同演进的工作契约。

原则很简单:

  • 每次任务都必须生效的规则,放项目指令;
  • 只有某类任务需要的复杂流程,放 Skill;
  • 只与本次请求有关的信息,留在用户 Prompt;
  • 从过去工作中总结出的可变经验,放 Memory。

3. Skill:可按需加载的“操作手册”

Skill 是可复用的任务能力包,通常包含说明、脚本、模板、参考资料和资源。它回答的是:“遇到这种工作,应该怎样可靠地完成?”

Claude Code 与 Codex 都支持基于 SKILL.md 的按需能力加载。OpenAI 的Skills 文档把这种机制称为 progressive disclosure:启动时只暴露 Skill 的名称和描述,真正命中任务后再读取完整说明,从而避免所有操作手册同时挤进上下文。Claude Code 的Skills 文档也采用相似思路:Skill 正文仅在使用时加载。

Skill 与 Prompt 的区别是复用,Skill 与工具的区别是“知道怎样做”而不是“真的能做”。一个部署 Skill 可以规定检查清单与回滚流程,但实际访问 Kubernetes、Vercel 或云平台,仍需要工具或 MCP。

4. MCP:连接外部世界的协议,不是知识本身

Model Context Protocol 让 Agent 以统一方式发现和调用外部工具、资源与提示模板。Claude Code 和 Codex 都可以通过 MCP 访问浏览器、设计工具、工单系统、数据库或内部文档。

可以用一句话区分:

MCP 提供“通道与能力”,Skill 提供“方法与流程”。

例如,GitHub MCP 可以提供读取 PR、创建 Issue、发表评论的能力;Code Review Skill 则规定先看风险、再看测试、怎样分级问题、最终输出什么格式。两者组合后,Agent 才既“能操作”又“知道如何正确操作”。

MCP 也会带来上下文压力。工具描述、参数 Schema 和大段工具结果都会消耗 Token。因此现代 Agent 会使用工具搜索、延迟加载、输出截断和结果摘要,而不是在每轮把数百个工具完整塞给模型。Codex 的MCP 文档与 Claude 的工具上下文管理文档都把“按需暴露工具”作为关键优化方向。

5. RAG:检索相关事实,不负责形成长期经验

RAG 的职责是从大量外部资料中找出当前问题最相关的片段。它适合产品文档、历史工单、知识库、代码索引与业务记录。

Memory 与 RAG 经常共用检索技术,但语义不同:

  • RAG 回答“外部资料里与当前问题有关的事实是什么”;
  • Memory 回答“这个用户、项目或 Agent 过去学到了什么”;
  • Project Instructions 回答“无论过去发生过什么,这次都必须遵守什么”。

6. Memory:跨会话的经验层,不是强制规则层

Memory 用来把过去任务中的有效经验带到未来,例如某个测试需要 Redis、用户偏好 pnpm、某次线上问题的根因、一个模块的真实入口。

Claude Code 的记忆文档区分了人工维护的 CLAUDE.md 与自动生成的 Auto Memory:前者是明确规则,后者是 Claude 从纠正与工作模式中积累的经验。Codex 的Memories 文档也明确建议:强制团队规则应放在 AGENTS.md 或版本化文档中,Memory 只是辅助召回层。

Memory 的工程难点不是“记住越多越好”,而是:

  • 什么值得写入;
  • 记忆属于用户、项目、分支还是某个 Agent;
  • 何时召回;
  • 如何标记来源、时间和置信度;
  • 事实变化后怎样失效或更新;
  • 如何避免把密钥、隐私或 Prompt Injection 永久保存。

7. Prompt Cache:省计算,不增加记忆

Prompt Cache 是最容易被误解的概念。

如果许多请求拥有相同的前缀,例如固定系统提示、工具定义和长文档,服务端可以复用已计算的前缀状态,降低延迟和输入成本。OpenAI 的Prompt Caching 文档和 Anthropic 的Prompt Caching 文档都建议把稳定内容放在前面、动态内容放在后面。

但要注意:

缓存命中的 Token 仍然属于上下文。Cache 降低重复计算成本,不会扩大窗口,也不会让模型跨会话“学会”新知识。

所以 Cache、Memory、Compaction 分别解决三个不同问题:

机制核心目标直观比喻
Cache相同内容不要重复计算把常用资料预热在桌面上
Memory未来任务能找回过去经验把经验写进可检索笔记
Compaction当前任务太长时保留关键状态把厚会议记录压成行动摘要

8. Compaction 与 Context Editing:保留连续性,但接受信息损失

长任务会持续产生消息、文件内容、日志和工具结果。即使窗口足够大,噪声也会让模型注意力下降。

Compaction 会把较长的会话状态压缩成更短的表示,让后续推理继续进行;Context Editing 则更精细地删除已经失去价值的内容,例如旧的工具返回。Anthropic 把服务端压缩视为长对话的主要策略,并用 Context Editing 清理特定历史;OpenAI 的 Responses API 也提供Compaction与 Conversation State 机制。

压缩不是无损存档。可靠做法是把以下状态显式保留下来:

  • 最终目标与验收标准;
  • 已完成动作及其证据;
  • 当前假设与关键决定;
  • 文件、提交、任务、请求等稳定 ID;
  • 未解决问题与下一步;
  • 不能违反的安全边界。

更大的原始结果应写入文件或外部存储,通过引用传递,而不是反复复制进聊天历史。


三、Agent Loop:从一句任务到可验证结果的核心流程

一个生产级 Agent Loop 可以拆成九步。

1. 解析目标与边界

Agent 先识别用户真正要的结果、非目标、权限范围与风险。用户说“帮我看看”通常只授权读取和解释;“修复并验证”才授权修改;“提交并推送”又增加了外部写入动作。

2. 装配最小充分上下文

Harness 合并系统规则、用户消息、项目指令、相关记忆和必要文件。这里的目标不是最大化 Token,而是最大化 每个 Token 对当前决策的价值

3. 制定或更新计划

计划是工作状态,不是仪式。简单任务可以一步完成;复杂任务需要记录依赖、风险、验证点和并行机会。工具结果改变判断时,计划也要更新。

4. 选择 Skill 与工具

Agent 根据任务匹配 Skill,再根据动作选择工具。Skill 规定流程,工具提供能力,权限策略决定动作能否执行。

5. 执行动作

动作可能是读文件、搜索网页、修改代码、调用 API、运行测试、操作浏览器或委派子 Agent。写操作应具备明确目标、尽量小的影响面和可恢复路径。

6. 观察工具结果

工具返回值不是“真相保证”。Agent 仍要判断输出是否完整、是否过期、是否来自正确环境、是否被截断,以及是否包含外部不可信指令。

7. 更新状态与证据

稳定事实进入任务状态:改了哪些文件、测试结果是什么、哪个请求失败、还缺什么。大对象写成 Artifact,小结论留在上下文。

8. 验证与路由

Agent 对照验收标准决定继续、重试、降级、请求用户输入、交给 Reviewer,还是结束。没有验证的“完成”只是生成停止,不是任务完成。

9. 交付与学习

最终输出说明结果、证据、边界和剩余风险。只有对未来任务确实有帮助的经验才进入 Memory;强制规则应升级到项目指令或测试,而不是只留在聊天摘要里。


四、怎样写适合 Agent 的提示词:从“命令句”升级为“任务合同”

Anthropic 的提示最佳实践强调清晰指令、必要上下文、示例与结构化分隔;OpenAI 的模型提示指南更强调 outcome-first:定义结果、成功标准、约束、证据和停止条件,除非执行路径本身是强约束,否则不要用冗长步骤限制模型的搜索空间。

两者可以统一成下面的模板:

角色:
你是这个仓库的资深实现 Agent,负责把请求落成可验证的结果。

目标:
修复移动端登录后偶发跳回登录页的问题。

可用上下文:
- 复现环境:iOS Safari,生产同构配置
- 相关模块:auth、middleware、session refresh
- 错误日志:<附链接或文件>

成功标准:
- 能解释根因,而不只是隐藏症状
- 修复不破坏桌面端和匿名访问
- 相关测试、类型检查与构建通过
- 最终列出修改文件、验证证据和剩余风险

约束与权限:
- 可以修改当前仓库文件并运行测试
- 不要改动无关页面
- 不要读取或输出密钥
- 不要部署、提交或推送

工作方式:
- 先读取项目指令和相关代码
- 信息足够时直接推进;只有缺失信息会实质改变方案时才提问
- 优先使用已有组件和测试工具
- 发现高风险外部写操作时停止并说明

停止条件:
- 验收标准全部满足后结束
- 连续失败时保留错误证据并报告阻塞点
- 不要把“代码已生成”当成“修复已完成”

输出:
先给结果,再给根因、改动、验证和边界。

这份模板并不要求每次都写这么长。它真正重要的不是格式,而是八个字段:

Goal + Context + Success Criteria + Constraints
+ Permissions + Evidence + Stop Rules + Output Contract

提示词里不应该塞什么

  • 可通过工具实时获取的大段数据;
  • 会频繁变化的项目事实;
  • 数十个工具的完整使用说明;
  • 应由权限系统强制执行的安全规则;
  • 应由 Schema、类型或测试保证的输出约束;
  • 希望模型逐字展示的内部思维过程。

能交给代码、权限、Schema、测试和检索系统保证的事情,就不要只靠自然语言祈祷模型每次都遵守。


五、Claude Code 的上下文是怎样组织的

Claude Code 的设计可以理解为“会话上下文 + 仓库状态 + 可插拔能力”的组合。

需求Claude Code 中的主要机制
稳定项目规则CLAUDE.md.claude/rules/
自动积累项目经验Auto Memory
按需工作流Skills
外部系统能力MCP、内置工具
长会话续航Compaction、上下文编辑、外部 Artifact
隔离任务Subagents
Agent 间直接协作Agent Teams(当前仍属实验能力)
并行写代码隔离Git Worktrees

CLAUDE.md 与 Auto Memory

每个 Claude Code 会话都有新的上下文窗口。官方记忆文档说明,跨会话连续性主要来自两部分:人写的 CLAUDE.md 与 Claude 自动积累的 Auto Memory。

这两者都会进入后续会话,但职责不同:

  • CLAUDE.md 写“应该怎样做”;
  • Auto Memory 记“过去发现了什么”;
  • .claude/rules/ 可把规则缩小到特定文件路径;
  • Skill 承载不必每次加载的长流程。

Skills 与 MCP

Claude 启动时不应把所有 Skill 正文和 MCP Schema 全量加载。Skills 按相关性进入会话;MCP 工具可以通过 Tool Search 延迟发现。这样既减少初始上下文,也降低无关工具对决策的干扰。

要再次强调:MCP 的工具返回通常会进入消息历史。数据库导出、浏览器 DOM、构建日志都可能非常大,因此需要限制输出、分页、筛选或写入 Artifact。Prompt Cache 只能降低重复处理成本,不能消除这些 Token。

Subagent 与 Agent Team

Claude Code 的 Subagent 拥有独立上下文和专门工具,完成后向主会话返回摘要,适合搜索、代码探索、测试分析和独立审查。

Agent Teams 文档描述了更强的协作模式:Lead、Teammates、共享任务列表和 Agent 间消息。它适合成员需要彼此讨论、挑战假设和协调依赖的任务,但会消耗更多 Token,且共享文件写入需要额外隔离与分工。


六、Codex 的上下文是怎样组织的

Codex 的核心分层与 Claude 相近,但命名和装配规则不同。

需求Codex 中的主要机制
稳定项目规则分层 AGENTS.md / AGENTS.override.md
跨任务经验Local Memories
按需工作流Skills
外部系统能力MCP、内置工具、插件工具
任务隔离与并行Subagents、独立 Agent Threads、Worktrees
长会话状态产品会话管理;构建自有 Agent 时可使用 Responses API Compaction

AGENTS.md 指令链

Codex 会在工作前读取 AGENTS.md官方文档说明,它从全局范围开始,再从项目根目录向当前工作目录逐层发现指令,离当前目录更近的内容拥有更具体的覆盖作用。

这使大型 Monorepo 可以形成清晰的规则层级:

~/.codex/AGENTS.md # 个人通用偏好
repo/AGENTS.md # 仓库级构建与交付规则
repo/services/AGENTS.md # 服务组约定
repo/services/payment/AGENTS.md # 支付域安全与测试规则

与 Prompt 一样,指令文件进入上下文后也会占用空间。应保持短小、明确,把大型操作手册拆到 Skill 或版本化文档中。

Memories 与 Skills

Codex 本地 Memories 用于从历史任务中召回有价值的上下文,但官方同样强调:Memory 不应成为强制团队规则的唯一来源。稳定规则放 AGENTS.md,可复用流程放 Skill,历史经验才放 Memory。

Codex Skills 使用 progressive disclosure:初始只显示名称、描述和路径,匹配后读取完整 SKILL.md。这种模式本质上是一个 Context Router——先用少量元数据决定“需要哪本手册”,再加载正文。

MCP 与 Subagents

Codex 的 MCP 层负责把第三方文档、浏览器、Figma 和其他开发工具接入 Agent,并允许对服务器和单个工具设置启用范围、审批模式与输出 Token 限制。

Codex Subagents 文档强调两个收益:并行执行,以及把搜索结果、日志、堆栈和大量文件读取隔离在子上下文中。主 Agent 保留需求、决策和最终结果,只接收压缩后的汇总。

需要区分产品与 API 层:Codex 客户端会管理自己的会话上下文;如果你使用 OpenAI Responses API 构建 Codex-like Agent,则还可以显式使用 Conversation State、Prompt Caching 与 Compaction。不要因为底层模型支持某项 API 特性,就假定每个 Codex 界面以相同方式暴露或实现它。


七、Claude 与 Codex:相同目标,不同命名

上下文职责Claude CodeCodex共同原则
全局与项目规则CLAUDE.md、RulesAGENTS.md、Override稳定规则版本化、分层覆盖
自动经验Auto MemoryLocal Memories记忆可审计、可失效,不保存秘密
按需方法SkillsSkills先匹配描述,再加载正文
外部能力MCP、内置工具MCP、内置/插件工具最小权限、限制输出、验证返回值
当前任务历史Session messagesThread / conversation工具结果会持续污染上下文
长任务延续Compaction、Artifacts会话管理;API Compaction压缩保状态,Artifact 保证据
独立委派SubagentsSubagents子上下文隔离噪声,摘要返回主 Agent
多方协作Agent TeamsSubagent workflow / Agent threads并行只用于可独立分解的工作
写入隔离WorktreesWorktrees / 独立环境避免多个 Agent 同时修改同一文件

这里没有绝对的产品胜负。真正影响效果的通常是:

  1. 项目规则是否清楚;
  2. 工具是否可靠、描述是否准确;
  3. 上下文是否只包含当前需要的信息;
  4. 状态是否写进可恢复的 Artifact;
  5. Agent 是否拥有合适权限;
  6. 验收标准是否能被机器或独立 Reviewer 检查。

八、多 Agent 的本质:用多个独立上下文换取并行、隔离与更多推理预算

多 Agent 并不是让几个模型围在一起“开会”。它真正提供的是三种能力:

  • 并行:多个独立方向同时推进;
  • 上下文隔离:大量中间信息不污染主 Agent;
  • 角色分离:生成者、验证者、研究者可以使用不同提示、工具与权限。

Anthropic 在多 Agent Research 系统复盘中把它概括为 Orchestrator-Worker:Lead Agent 规划并创建多个并行 Subagent,Subagent 独立搜索,再返回压缩结果供 Lead 汇总。其收益主要出现在开放式、广度优先、可拆成独立方向的高价值任务;代价则是显著增加 Token 消耗、协调复杂度和错误传播路径。

四种常见拓扑

拓扑适合任务主要风险
Manager–Worker多来源研究、模块探索、批量分类重复劳动、汇总丢失细节
Pipeline阶段明确的生成—验证—发布上游错误逐步放大
Generator–Reviewer代码、文案、设计、风险审查Reviewer 与 Generator 共享盲点
Debate–Judge竞争假设、复杂决策、安全分析成本高,可能只产生更多措辞而非证据

什么任务不适合多 Agent

  • 下一步完全依赖上一步结果的串行任务;
  • 多个 Agent 必须同时修改同一文件;
  • 问题很小,协调成本高于执行成本;
  • 所有 Worker 都需要完整共享同一份巨大背景;
  • 没有明确分工、输出格式与汇总责任;
  • 任务价值不足以覆盖成倍增加的 Token 与运行成本。

给 Subagent 的任务合同

主 Agent 不应只说“去研究一下”。每个委派都至少需要:

objective: 要回答的唯一问题
boundary: 不要处理哪些相邻问题
inputs: 可使用的文件、链接、提交或数据
tools: 允许使用的能力与权限
evidence: 每个结论需要什么证据
output: 返回摘要、结构化数据或 Artifact 路径
stop: 何时完成,何时报告阻塞
ownership: 是否允许写文件,允许写哪些文件

好的委派要让 Worker 之间尽量正交。若三个 Agent 都收到“分析整个系统”,得到的通常是三份重复摘要;若分别负责身份认证、数据一致性和前端状态,则主 Agent 才能覆盖更大的问题空间。

Artifact-first Handoff:不要只靠摘要传话

Agent 摘要一定会损失细节。对代码、报告、数据和设计稿,更可靠的交接方式是:

  1. Worker 把完整结果写入独立 Artifact;
  2. 返回 Artifact 地址、结论、证据索引和未解决问题;
  3. Lead 只把摘要放进主上下文;
  4. 需要复核细节时,再按引用读取原始 Artifact。

这比把数万 Token 从 Worker 复制给 Lead 更便宜,也减少“传话游戏”造成的信息失真。


九、上下文管理的常见反模式

1. 把所有知识都写进系统 Prompt

结果是每一轮都支付 Token,规则彼此冲突,真正重要的信息被埋没。应把稳定规则、按需流程、外部事实和历史经验分别放进 Project Instructions、Skills、RAG 与 Memory。

2. 把 Cache 当 Memory

缓存过期后不会留下经验,也不会自动召回历史事实。它只复用相同前缀的计算。

3. 把 Memory 当数据库真相

记忆可能过时、概括错误或缺少来源。订单状态、价格、权限、生产配置等高变化事实必须回源查询。

4. MCP 工具越多越好

工具越多,选择越难,攻击面越大,Schema 越占上下文。优先按需发现、允许列表、只读默认和最小输出。

5. 让所有 Agent 共享所有历史

这会失去上下文隔离的意义。主 Agent 应持有目标、约束、决定与总状态;Worker 只拿完成自己任务所需的最小背景。

6. 只让 Agent 生成,不让独立系统验收

Agent 说“应该可以”不是证据。测试结果、构建产物、页面截图、数据库状态、API 响应、Diff 与 Reviewer 结论才是证据。

7. 把外部内容当指令

网页、Issue、代码注释、日志和 MCP 返回都可能包含 Prompt Injection。它们应被标记为不可信数据,不能覆盖系统规则和用户授权。

8. 多 Agent 同时写同一工作区

这会产生覆盖、竞态和难以归因的修改。应通过 Worktree、文件所有权、模块边界或只读 Worker 隔离。


十、生产级 Context Engineering 检查表

Prompt 层

  • 目标和成功标准是否可观察?
  • 权限、非目标、输出与停止条件是否明确?
  • 是否只规定必要路径,而不是过度编排每个动作?

Context 层

  • 每轮是否装配最小充分信息?
  • 是否能追踪每段上下文的来源、时间与作用域?
  • 长日志和大文档是否通过检索或 Artifact 按需读取?

Skill 与工具层

  • Skill 是否单一职责、可复用、可测试?
  • 工具描述是否说明用途、参数、副作用、重试安全与错误模式?
  • MCP 是否采用最小权限、允许列表、输出上限与审批策略?

Memory 层

  • 写入是否有价值门槛?
  • 是否避免秘密、个人敏感信息和未经验证的外部内容?
  • 是否记录来源、时间、置信度和失效条件?
  • 强制规则是否已提升为项目文档、策略或测试?

多 Agent 层

  • 子任务是否真正独立,值得并行?
  • 每个 Agent 是否有明确输入、边界、证据和输出?
  • 写操作是否通过 Worktree 或所有权隔离?
  • Lead 是否只接收摘要,并能按引用回查 Artifact?

验证与可观测性层

  • 是否记录每次模型决策、工具调用、权限审批、重试和 Handoff?
  • 是否能区分“模型认为完成”和“验收证据已通过”?
  • 是否评估成功率、延迟、Token、缓存命中率、工具失败率和人工介入率?
  • 是否有回滚、超时、熔断与预算上限?

十一、最后总结:优秀 Agent 的核心不是更长的 Prompt,而是更好的状态流

Prompt Engineering 仍然重要,但它只负责告诉模型“希望发生什么”。一个可用的 Agent 系统还必须回答:

什么信息现在进入上下文?
什么能力现在可以调用?
什么状态必须跨轮次、跨会话保留?
什么内容应被缓存、检索、压缩或删除?
什么工作可以安全地交给另一个独立 Agent?
什么证据能够证明任务已经完成?

Claude Code 与 Codex 的共同方向已经非常清晰:

  • 用项目指令保存稳定规则;
  • 用 Skill 封装按需流程;
  • 用 MCP 连接外部能力;
  • 用 Memory 延续经验;
  • 用 Cache 降低重复计算;
  • 用 Compaction 和 Artifact 穿越长任务;
  • 用 Subagent 隔离噪声并行探索;
  • 用权限、测试和 Reviewer 把生成转化为可信结果。

因此,AI Agent 的真正核心可以浓缩成一条链:

目标进入 → 上下文装配 → 模型决策 → 工具行动 → 状态更新 → 独立验证 → 必要时委派或压缩 → 结果交付 → 有选择地形成记忆。

未来模型的上下文窗口还会继续扩大,但工程问题不会消失。只要 Agent 需要在真实世界中长期行动,信息的相关性、状态的可靠性、权限的边界和协作的成本,就永远比“能塞多少 Token”更重要。


参考资料

Anthropic / Claude

OpenAI / Codex

Logo
RainLib

Exploring the frontiers of technology, design, and distributed systems. Building tools for the future developers.

Suggestions & Feedback

© 2026 RainLib. Built for the Future.
All rights reserved.
System Normal