导读
本文系统回顾企业级 AI Agent 平台的技术演进路径:从大模型先天约束出发,历经 Prompt 工程、Context 工程、Harness 工程三个阶段,最终演化出五层架构的 Agent 操作系统。每一层架构的诞生,均源于前一阶段遇到的技术天花板。(注:内容基于作者个人技术实践与独立思考,仅代表个人观点。)
一、大模型的"先天约束"——为什么需要工程化
在探讨工程方法论之前,必须明确大语言模型存在的四个结构性约束。这些约束不会随模型参数量增加或训练数据增多而消失,所有工程努力均需在此框架内进行。
1.1 上下文窗口是稀缺资源
系统运行在 128K token 上下文窗口内,看似充裕实则脆弱。一个 ReAct Agent 每执行一步至少产生 3 条消息,若涉及复杂技能迭代及大量 JSON 返回,消息队列极易膨胀至物理上限。
简单截断不可行,原因有四:截断导致 JSON 数据残废无法解析;破坏 OpenAI 协议中 tool 与 assistant 的配对结构;LLM 注意力被稀释导致遗忘早期关键信息;压缩数据需保留以满足审计追溯需求。因此,我们需要一套完整的"信息生命周期管理"方案,涵盖产生、压缩、索引到按需恢复的全流程。
1.2 注意力稀释效应——"LLM 越跑越蠢"
实践中发现,同一 Skill 在步骤增加后执行质量显著下降。经分析,随着步骤累积,上下文中充斥大量工具返回的原始 JSON 噪音,真正有效的指令和变量占比极低。LLM 注意力被严重稀释,导致信噪比恶化。
上下文窗口的"物理容量"不等于"有效容量"。塞满噪音的 128K 窗口,其效能不如精心管理的 32K 窗口。这是一个自我恶化的循环:上下文膨胀导致注意力稀释,进而引发工具调用错误率上升,产生更多无效重试,进一步加剧膨胀。解决方案必须从工程层面管理信息质量,而非单纯扩大物理容量。
1.3 数据搬运谬误
在多步骤流程中,让 LLM 充当"数据搬运工"从前序步骤提取并传递数据,极易导致截断、遗漏或幻觉。例如,LLM 可能在搬运长数组时无意中做"摘要",或在传递 UUID 时发生截断混淆。
核心原则应是:让 LLM 专注于理解意图、规划与推理,让系统负责数据搬运、格式转换与精确传递。这一原则成为后续"parameterBindings"声明式绑定设计的基石,旨在将数据搬运从 LLM 职责中彻底移除。
1.4 无状态的先天缺陷
LLM 的无状态特性导致两大问题:单次执行内,进程崩溃即丢失所有中间状态;跨执行间,Agent 无法从历史经验中学习,导致重复犯错。重要的架构决策若不显式记录,将在新会话中被遗忘甚至矛盾重构。
结论明确:原始大模型仅是"高性能 CPU",缺乏内存管理、文件系统与进程调度。要支撑企业级任务,必须在其外围构建"操作系统"级别的基础设施。
二、Prompt 工程阶段——一切从一段文本开始
2.1 从角色扮演到结构化注入
早期做法是将所有信息塞入 System Prompt,随复杂度增加演化为结构化项目上下文文档(如 CLAUDE.md)。通过表格、映射关系和规则列表最大化利用效率,实现轻量级 RAG。但静态文档全量注入占用宝贵上下文空间,且无论是否相关均被加载,为后续"渐进式披露"埋下伏笔。
2.2 Prompt Hack 的标语困境
工程师常在工具描述中注入格式规则(如使用警告标记),但这类似工厂墙上的安全标语。依赖模型"注意到"并"遵守"的体系是脆弱的。实践验证,在多步长链路中,指令遵从率随上下文信息累积而急剧下降,早期标记易被淹没。
2.3 Attention 引导的局限
尝试通过加粗、大写、重复注入等技巧引导注意力,在短对话中有效,但在长链路中依然不可靠。Transformer 注意力是有限资源,随上下文膨胀,任何标记的权重都会被稀释。这是一场无法获胜的"军备竞赛",真正的出路在于系统层面的强制执行,而非 Prompt 层面的反复强调。
2.4 S1(MVP)的三个结构性缺陷
S1 阶段采用"工作流编排 + 单轮对话"架构,虽验证了方向,但暴露三个结构性缺陷:
第一,无容错机制。纯内存执行,一旦中断需从头重跑,且用户端断开后结果无法推送。
第二,上下文无限膨胀。工具返回结果完整塞入上下文,导致注意力稀释与参数错误率上升的恶性循环。
第三,缺乏反思能力。单向管道执行,不检查中间结果合理性,错误在链路中不断放大。
这些缺陷表明,S1 引擎将 AI 视为一次性脚本执行器,而非有状态、能反思的智能运行时,必须重构。
三、Context 工程阶段——"管好上下文就管好了一半"
3.1 核心判断:上下文管理是第一命题
参考 ReAct Loop、Claude Code 及 Codex 等前沿实践,确立核心判断:上下文管理是需要分层防御的系统工程。不同粒度的数据膨胀(单次爆发、累积膨胀、渐进式膨胀)需不同层级的应对机制。
3.2 四层上下文防线:按时间顺序逐层拦截
L1——工具结果压缩(ToolResultRefStore)
针对单次大数据,采用"大结果外置 + 引用替换"机制。当字符数、数组元素超限或处于强制存储模式时,数据存入 MySQL,消息中仅留引用对象及简要摘要。此举消除了 LLM 在搬运大数组时的"优化"(数据丢失)风险。
L2——语义压缩(SemanticCompressor)
针对中等数据,触发 LLM 进行语义压缩,提取关键信息输出高密度结论。采用 temperature=0.3 平衡确定性与质量,并保留原始数据以便按需取回。教训表明,Preview 字段应直接使用 substring 而非 LLM 重写,以避免数据结构前缀改变导致的匹配失败。
L3——对话压缩(Compaction)
针对累积膨胀,当上下文使用率达 85% 时启动压缩,目标降至 30%。压缩产物为结构化交接文档,包含用户原始请求、分阶段执行历史、已放弃路径及数据引用索引。特别强调"已放弃路径"字段,防止模型重蹈覆辙。
L4——数据总线(DataBus)
作为补偿机制,根据步骤依赖分析按需预取数据。小数据直接注入,大数据生成增强摘要。提供 outline、search、context 等轻量工具,遵循"最小必要信息"原则,避免重新膨胀上下文。
3.3 单一表示原则
贯穿全局的宪法条款:同一份上游数据在任一后续 step 的 LLM 上下文中,只允许出现一种表示形态(要么完整结构化对象,要么 artifact_ref)。禁止多种形态共存,以防 LLM 产生幻觉或浪费 Token 进行交叉验证。
3.4 三层记忆:对抗长链路遗忘
State(变量表):确定性数据通道,跨步骤共享 Key-Value,不经 LLM 搬运。
Working Memory:包含 Pinned(任务目标锚点,防漂移)和 Insights(滚动关键发现,逆序注入)。
Transcript:最近 N 条消息,N 随步骤数自适应调整。当 Transcript 压缩时,Working Memory 反向扩张,用结构化知识补偿信息损失。
3.5 Prompt 预算预检:事前治理
将成本控制从事后统计提升为事前治理。调用前估算成本,超预算按固定顺序降级(优先丢弃辅助信息,最后保留核心目标),仍超限则直接失败。这既节省成本,又避免因上下文过长导致的推理质量下降。
3.6 实际效果与设计哲学
该组合使 Token 消耗降低 60%+,Agent 在 30+ 步复杂任务中推理质量稳定。设计哲学提炼为三点:分层拦截优于全能方案;确定性优于智能性;事前治理优于事后修复。
四、Harness 工程阶段——完整的 Agent 运行时工程
Harness 工程围绕 LLM 构建整套"操作系统",涵盖进程调度、文件系统、IPC、安全机制及自我进化能力。
4.1 设计哲学:从防御到赋能
早期 ReAct 引擎采用"防御范式",通过多层修复管道兜底模型错误,导致代码臃肿、性能损耗及进化阻力。新阶段转向"赋能范式":
| 防御范式 | 赋能范式 | 管理学隐喻 |
| 5 层修复管道 | parameterBindings 声明式绑定 | 审批流程 vs 流程设计 |
| 隐式信号判断 | step_control 工具(显式表达) | 猜测想法 vs 建立沟通 |
| 系统控制记忆 | working_memory 工具(自主记录) | 替做笔记 vs 给笔记本 |
| 全量工具暴露 | Action Space 动态裁剪 | 考验自制力 vs 优化环境 |
parameterBindings:消除错误发生条件,声明式绑定数据流转。
step_control:扩展模型语言,使其能显式表达完成、跳过或需帮助。
working_memory:赋予模型自主记录关键发现的能力,利用"生成效应"加深记忆。
Action Space 动态裁剪:根据上下文动态暴露工具,减少诱惑与干扰。
4.2 Agent 运行时引擎
PERO 编排架构
升级为 Plan-Execute-Reflect-Optimize 架构。Plan 预定义步骤,Execute 由 ReAct 微循环驱动,Reflect/Optimize 内嵌于循环中。相比 Tree-of-Thought,ReAct 更适合工具密集型场景。
有状态执行与断点续传
实现执行与推送分离。BackgroundExecutor 独立运行,事件持久化至 DB 作为唯一真相源。支持断点续传,故障后可从最近 checkpoint 恢复,大幅缩短重跑时间。前端思维链视窗改为流式展开与懒加载,优化用户体验。
步骤并行化
引入 Fan-out / Fan-in 模式,对无数据依赖步骤并行执行。通过 Promise.allSettled 隔离错误,Semaphore 控制并发度。强调并行仅用于输入完全确定的子任务。
可靠性防护体系
建立完整 Guardrails,包括最大迭代次数、重复调用检测、RecursionGuard(深度/链路/环检测)、取消机制及敏感字段脱敏等,确保生产级稳定性。
4.3 知识体系
四层记忆架构
按稳定性递减分为:行为记忆(怎么做)、业务知识(知道什么)、个人记忆(给谁说)、工作记忆(正在做什么)。
三层行为记忆与冲突裁决
行为记忆细分为 Policy(硬规则,优先级最高)、Strategy(执行偏好)、Action Chain(高频链路)。冲突裁决顺序:平台协议 > Active Policy > 用户指令 > Active Strategy > Action Chain。Policy 作为"宪法层",不可被单次指令覆盖。
Prompt Compiler 与个人记忆
知识通过 Prompt Compiler 编译为 System Prompt。个人记忆从交互偏好、关注点画像到认知模型三层递进,实现"对每个人说他需要听的话"。
4.4 进化体系
自进化认知闭环
建立 Self-Feedback Engine,包含 Trace Collector、Outcome Evaluator、Root Cause Analyzer、Patch Generator 及 Safety Gate。Agent 在执行后自省,生成结构化 Patch,经灰度或审核后更新知识体系。
4.5 运行时做的事情
Capability Runtime
从 Skill-first 升级为 Capability-first,统一解析 skill、tool、workflow 等多种能力类型,支持动态绑定与权限过滤。
多 Agent 协调
引入多层级树形结构(CEO-主管 - 执行 Agent),通过 SharedBlackboard 实现跨 Agent 状态共享,支持递归循环处理复杂任务。
四层嵌套循环
形成微循环(ReAct)、步骤循环(PERO)、任务循环(Silicon Employee)、组织循环(OODA)四层嵌套,从内到外解决不同粒度的决策与执行问题。
五、宏观架构全景——从 Agent 到 Agent OS
5.1 Agent OS 五层架构
L1 OpenClaw 执行集群层:物理执行底层,负责 Slot 编排、心跳维持及协议转换,实现无状态执行单元的热迁移。
L2 Agent Runtime 层:集大成者,包含自由对话、ReAct Skill、PERO 编排及断点续传,支持执行模式自适应切换。
L3 记忆与语义层:三层记忆体系加 DataProductStore 共享黑板,支持基于意图的语义检索。
L4 Agent OS 认知层:组织大脑,负责感知异常、判断归因、调度任务及评估效果,实施"注意力经济"。
L5 自主进化与治理层:涵盖训练、评测、认证、发布、值班及修正全流程,确保 Agent 像软件一样被治理。
5.2 云端 Agent OS × OpenClaw 双 Agent 平台
顶层设计采用"认知与执行分离"原则。云端 Agent OS 持有认知真相,专注思考;OpenClaw 持有执行真相,专注操作。双方通过 Contract Layer(TaskOrder、StatusReport 等)协作,实现独立演化。
5.3 与 Claude Code 的本质差异
一等对象不同:我们是带业务上下文的执行请求与工作流编排,Claude Code 是 Workspace 与 Session。
数据流转范式不同:我们靠显式状态流转确保零损耗,Claude Code 靠模型记忆。
知识定位不同:我们的知识是强规则执行面,违反即拒绝;Claude Code 的知识是建议性参考。
5.4 五层认知模型:从工具型到认知型
L1 语义层:统一指标口径。
L2 感知层:用代码执行阈值判断,LLM 负责降噪。
L3 推理层:统计先行,LLM 解读,标注置信度。
L4 决策层:提供结构化选项供人类决策。
L5 元认知层:动态调整注意力、校准置信度、发现能力盲区。
六、核心洞察与结语
6.1 五条认知
1. "LLM 越跑越蠢"是工程问题,需优化上下文质量而非盲目换模型。
2. 上下文管理是分层防御系统工程,无银弹。
3. Action Space 必须被治理,能力应渐进式披露。
4. 工具设计有半衰期,系统应能从模型进步中自动减负。
5. 信任建立不能跳过人工确认,需通过 Shadow/Probation 阶段逐步放开。
6.2 一条演进主线
演进主线清晰:从 Prompt 工程(验证方向但受限),到 Context 工程(解决内存管理),再到 Harness 工程(完善进程调度与文件系统),最终迈向 Agent OS(构建完整认知操作系统)。每一层均为下一层提供基础设施。
6.3 结语
Agent 系统设计的本质是为 LLM 创造"犯错成本最低、正确路径最短"的执行环境。从防御到赋能,是从被动修补转向主动设计。未来的目标是从"AI 能做事"进化为"AI 稳定地、大规模地做事",最终成为真正的认知伙伴。大模型的约束不再是天花板,而是构建操作系统的起点。
参考与致谢
本文技术方案基于:ReAct Loop、ReCAP、Anthropic Claude Code Team、OpenAI Codex、OpenCode、Douglas McGregor X/Y Theory、W. Edwards Deming 质量管理理论、Richard Thaler Nudge Theory 及 Ludwig Wittgenstein 哲学思想。

