Agent: 将 harness 工程升级到认知工程

Agent 工程走过了提示词工程、上下文工程、Harness 工程三级台阶,每级都解决了当时的主要瓶颈。本文先讲清楚两个基础概念------认知与元认知,再回顾三级台阶各自做了什么,最后说明认知工程如何以元认知为核心组装这些成果,以及它如何解决垂直领域的问题。认知结构是手段,解决问题是目的。


1. 什么是认知

认知科学的工作定义:认知是获取、加工、储存、运用信息的全过程,涵盖感知、注意、记忆、思维、决策等子系统。它不是单一的官能,而是一条加工流水线:

text 复制代码
外界刺激 → 感知(信号→知觉)→ 注意(选择)→ 工作记忆(意识舞台)
         → 长时记忆(编码 ↔ 提取)→ 思维与决策 → 行动 → 反馈学习

关于这条流水线,有三个经过大量实证的结论,对 Agent 工程直接有用:

  1. 认知是构造,不是录制。 知觉由"自下而上的信号"与"自上而下的预期"共同合成;记忆的每次提取都是重构而非回放。
  2. 认知受瓶颈约束。 感觉输入的信息量巨大,意识能同时处理的只有几个"组块"(工作记忆容量约 4 个组块);突破限制的唯一办法是组块化------用知识结构换容量。
  3. 知识以图式组织。 人靠图式(关于一类事物"长什么样、如何运作"的模板)实现快速理解,图式通过"同化---顺应"循环随经验演化。

把人类认知与当前 Agent 工程并排看,对应关系相当整齐:

人类认知 Agent 工程
注意与感知 输入选择、检索召回
工作记忆(~4 组块) 上下文窗口(稀缺资源)
组块化 结构化任务状态、分区
长时记忆(情景/语义/程序性) 会话日志 / 知识库 / 技能文件
图式 本体
系统 1 / 系统 2 直接生成 / 思维链
遗忘是功能 记忆淘汰对抗噪声

对应的原因朴素:两类系统面对同构的约束------容量有限、信息过载、需要抽象复用;约束相同,解法收敛。 但类比是路标不是证明:LLM 没有海马,同构的是问题结构,不是实现。

2. 什么是元认知

元认知(Metacognition)是"对认知的认知"------Flavell 在 1970 年代提出的概念:监测、评估并调节自身认知过程的能力。它不是又一种认知能力,而是站在认知之上的管理层,经典结构分三块:

成分 内容 人类示例
元认知知识 对自己认知状况的知识:知道什么、不知道什么、哪类任务擅长 "我在人名上记性差,要写下来"
元认知体验 对当前认知状态的感受:把握感、困惑感、确定性直觉 "这题我好像会,但没把握"
元认知调节 对认知的计划、监控与评估:分配资源、选择策略、决定继续或放弃 "这题先跳过,回头检查"

元认知是人类学习者优劣的主要分水岭之一------实证研究表明,元认知能力对学习效果的预测力不亚于智力。它的价值在一个不对称的事实上:在真实环境里,"知道自己不知道"的收益,往往大于"多知道一点"------因为错误的认知配上不自知,会持续产生错误决策;而知道自己不懂,至少可以求证、绕行或求助。

这正是当前 Agent 的核心短板。 模型具备很强的"认知"------理解、生成、推理;但缺少系统化的元认知:

  • 不确定性表达缺失------没有把握的答案和有把握的答案以同样的口吻输出(幻觉的温床)
  • 努力分配缺失------简单步骤与关键决策消耗同样的推理预算,成本与风险不匹配
  • 止损判断缺失------何时继续投入、何时该求助,依赖外部硬编码的轮次与预算上限,而非判断力

对应的工程化形态,就是三条元认知回路:不确定性表达、双过程调度、自主止损(详见第 4 节)。

3. 认知视角下的 Agent 工程:三级台阶各做了什么

两个概念到此立住:认知是加工信息的流水线,元认知是对这条流水线的监测与调节。第 1 节的对应表已经说明:两类系统约束同构,认知科学的结构可以直接作为 Agent 的设计语言。带着"认知流水线 + 元认知"这套镜头回看 Agent 工程的演进,可以看到:每一级台阶都由当时的主要瓶颈定义,也都完整解决了各自的问题------而它们在认知版图上的位置,恰好拼出了下一级的空缺。

3.1 提示词工程:让模型听懂

做了什么:把单次调用的指令结构化------角色、任务、上下文、约束、少样本示例、输出格式;以及思维链(CoT)等推理触发技巧。

解决:模型对意图的理解与遵循。从"能不能答对"到"稳定地按预期答"。

管辖范围:一句话。它优化单次调用的输入质量,不涉及信息供给的系统设计。

3.2 上下文工程:让模型看见该看的

做了什么:把信息供给变成一个系统------RAG 检索、记忆分层、上下文压缩、结构化分区、工具输出治理、Just-in-Time 加载。

解决:模型每次调用看到什么、以什么顺序和形式看到的秩序问题。上下文窗口是稀缺资源,这一级建立了"每条信息都要挣得它的位置"的纪律。

管辖范围:一次调用的输入组装。它不执行动作,也不管理多轮循环。

3.3 Harness 工程:让循环跑稳

做了什么:运转整个循环的机器------主循环(Agent Loop)、工具运行时、分级权限、会话状态与检查点、重试止损、可观测性。

解决:长任务的可靠性。数十轮的工具调用可以稳定完成而不失控。Claude Code、Kimi Code、OpenHands 本质都是 Harness;SWE-agent 的研究表明,同一模型更换"Agent 与计算机的接口",SWE-bench 得分可相差数倍------运行时设计已是主要变量。

管辖范围:运行时。它的目标函数是可靠性------行为稳定、过程可控。

3.4 台阶的共同点与空缺

text 复制代码
提示词工程:说什么          ------ 认知的施力点
上下文工程:给什么看        ------ 认知的工作记忆
Harness 工程:怎么运转      ------ 认知的行动系统

三级台阶分别覆盖了认知流水线的输入端、信息供给与执行端------它们都在为"认知"提供条件,但都未把认知本身作为设计对象:没有一个组件负责判断"这个答案有没有把握"(元认知监测)、"这个任务该花多少推理预算"(元认知调节)、"这个领域的知识边界在哪"(世界模型)。这是正常的工程演进节奏:每一级学科只对当时的瓶颈负责。把认知本身作为设计对象,是下一级台阶的任务。

4. 认知工程:以元认知为核心组装完整架构

Agent 认知工程(Agent Cognitive Engineering) :以认知科学验证过的结构为设计蓝图,在 Harness 之上组装 Agent 的知识系统与自我管理系统的工程学科。一句话版本:Harness 工程制造可靠的躯壳,认知工程让这台躯壳获得与任务匹配的认知结构------其中元认知居于架构的顶层。

参考架构(七个子系统):

text 复制代码
            ┌──────────────────────────────┐
            │     元认知层(顶层)            │
            │   自我监控 · 努力分配 · 止损     │
            └──────────────┬───────────────┘
   ┌────────┬─────────┬────┴─────┬──────────┬────────┐
   ▼        ▼         ▼          ▼          ▼        ▼
 感知注意  工作记忆   长时记忆    世界模型    技能库
 (输入选择) (上下文)  (情景+语义) (本体/图式) (程序性)
   └────────┴─────────┴────┬─────┴──────────┴────────┘
                          ▼
                ┌──────────────────┐
                │  行动系统 = Harness │  ← 三级台阶的成果直接复用
                └────────┬─────────┘
                         ▼ 执行反馈
                ┌──────────────────┐
                │ 巩固系统(任务后)  │  ← 情景压缩、教训蒸馏、
                │                  │     技能沉淀、图式维护、遗忘
                └──────────────────┘

注意它与三级台阶的关系:不是替换,是组装。提示词工程是施力点,上下文工程就是工作记忆,本体是世界模型,Harness 是行动系统------三级台阶的成果全部成为认知架构的部件。

4.1 元认知的实现:三条回路

元认知不能停留在提示词里写"请谨慎"------那是对认知的请求,不是元认知。它需要作为独立组件实现:

回路① 不确定性表达(元认知知识与体验)

  • 给模型显式的"我不确定"词汇与合法的弃答出口:"根据现有信息无法确定,需要 X"
  • 检索注入上下文时携带置信度与时间戳,让模型知道"这是既往经验,可能过期"
  • 置信度要校准:让输出的把握度与实际正确率对齐(可用历史任务持续校验),避免"流畅但错误"的高置信输出

回路② 双过程调度(元认知调节:资源分配)

  • 默认走 System 1(直接生成),控制成本
  • 满足显式触发条件才升级 System 2(深度推理/验证/搜索):高风险动作、初次失败、元信号异常(连续两次结果相互矛盾)、用户点名
  • 效果:推理深度从常数变成变量,成本与风险匹配

回路③ 自主止损(元认知调节:监控与评估)

  • 预算感知:知道本次任务已消耗与剩余的资源
  • 循环检测:识别"同一策略反复失败",把"我已连续三次用同样方法失败"作为元信号注入
  • 求助判断:评估"继续自主投入的期望收益 < 提问/上报的成本"时,主动带着已尝试的路径与结论求助------从 Harness 时代的硬规则(轮次上限)升级为判断力

4.2 元认知不悬空:支撑结构

三条回路不是孤立开关,它们需要下层子系统供血:不确定性表达需要检索置信度(长时记忆);止损判断需要知道试过什么(情景记忆);努力分配需要知道任务结构(世界模型/本体)。这就是元认知位于七子系统顶层、而非单独插件的原因------没有认知结构的元认知是空转,没有元认知的认知结构是盲开。

4.3 本体建模:世界模型,兼全架构的类型系统

七个子系统中,对应"图式"的本体(世界模型)值得单独说明------它的地位比"七分之一"更重,是三层角色的叠加:

内容层:唯一负责"世界形状"的部件。 其他子系统各管一段------入口、当下、过往、自我管理------本体回答最底层的问题:这个世界由什么构成、概念如何关联、什么组合合法。其他子系统的输出质量以它为上限:记忆没有本体挂靠只是自由文本,元认知不知道边界就无从判断"我不知道什么"。

结构层:全架构的接口语言。 各子系统的实现物共用本体这套词汇:长时记忆的挂靠字段(schema_refs)、任务状态的 schema、元认知的失配信号定义、技能的触发条件、巩固产物的落点、输入分诊的分类。它在认知工程中的工序位置类似编程语言的类型系统------不是某个功能,而是让功能之间能对话的契约;缺少它,七个子系统是七个孤岛。

动力层:认知成长的载体。 认知的成长不在参数变大,而在"失配---重构"循环作用到本体上:同类失败反复出现、检索结果与新事实冲突,触发图式重构------即认知科学"同化---顺应"循环的工程化。本体僵化,系统越用越笨;本体漂移,知识资产失去公信力;两者都要靠版本化治理来防。

三条边界同样要说清:本体管结构,不管真值 ------"选了合法的编码"不等于"选了正确的编码",后者靠检索溯源与人工;它是世界模型的显式部分,不是全部 ------技能与直觉这些隐式知识装不进本体;建模有成本------"按能力问题建、不为建模而建模"的纪律同样适用。

在高约束的垂直领域,这三层角色都会被放大------这正是下一节的主题。

5. 用认知工程解决垂直领域问题

垂直领域(金融、医疗、法律、保险......)对 Agent 有三重结构性约束:

约束 内容
无廉价验证器 没有"跑测试"式的 ground truth;对错靠专家评审或延迟暴露
知识私域化 核心知识在内部文档、数据库、法规里,长尾且持续变化
动作不可逆 下单、改病历、执行交易直接作用于系统记录

在这些约束下,元认知的价值从"重要"上升为"生死攸关":因为缺少外部验证器,"知道自己不知道"几乎是防住恶性错误的第一道也是最后一道闸------一个会弃答、会转人工的系统,在错误率上远优于一个"什么都敢答"的系统。认知工程在垂直领域的落地方案,围绕这一点展开为四件事:

① 确定性分层,逐级放权。

text 复制代码
第 0 层  确定性骨架:状态机 + 本体定义的类型化数据对象
第 1 层  受约束生成区:LLM 输出空间被 schema 锁死
第 2 层  校验闸门:本体一致性推理 + 业务规则 + 置信度门控
第 3 层  受控弹性区:类型化行动空间的 agent 式调查
逃生通道  每层都有确定出口:修复重试 → 模板降级 → 转人工

自下而上放权:先站稳确定性骨架,每上一层吃掉一部分不确定性,上层才有资格要自由度。

② 本体闸门:合成部分验证器。 领域本体(实体 schema、条款结构、监管规则)+ 规则引擎,把每个 LLM 节点从"信任输出"变成"校验输出"。它拦不住"错得漂亮"的输出,但能拦住类型错、规则错、逻辑矛盾的输出------垂直领域的多数恶性事故恰好属于后者。这是在"没有测试套件"的领域人工合成验证信号的方法。

③ 元认知出口作为设计好的工作流。 置信度门控 + 分级转人工(小额自助复核、大额强制人工);"无法确定"是合法输出且必须附缺失信息清单。转人工不是失败兜底,是架构的一等公民。

④ 巩固飞轮。 结案结论经人工确认蒸馏入判例库(带溯源、置信度、命中计数、过期时间),同类案件从此吃到历史经验;失配信号驱动本体版本化演进。飞轮转得慢(结果标签需要人工),但判例库、本体版本史、校准过的置信阈值------这三样积累起来的资产构成垂直 Agent 真正的护城河。

6. Agent 的认知提升与元认知的人工复核

前文讲了认知与元认知的概念与架构。对 Agent 而言,这两样东西如何"提升"?答案与人是同一张图纸:不靠单点变强,靠闭环。

6.1 Agent 的认知提升:方向是减少模型投入

认知成长有一个容易被忽略的箭头方向:不是积累更多,而是思考更少。认知科学的表述是:陈述性知识经过反复成功执行,下沉为程序性记忆------本能与条件反射并不是记忆的对立面,而是记忆的编译产物;System 2 的运算下沉为 System 1 的反射,腾出的认知资源才用于处理新问题。就像学会开车之后,起步换挡不再占用意识,注意力才留给路况。

Agent 的认知提升遵循同一方向。模型参数在部署后冻结,因此提升不发生在训练里,而发生在运行时的工程闭环里------闭环的产出,是把"思考态"逐步编译为"反射态":

认知形态 工程形态 模型投入
思考态(System 2 推理) LLM 深度推理、多轮探索
记忆态(检索复用) 任务前检索教训/判例,省去重新探索
反射态(自动执行) 命中技能直接执行脚本;判断走本体查表/规则 近零

两个编译器加一个调度器:

  • 本体建模把判断编译成查表。 类型化结构与规则引擎让识别、校验、路由成为非模型计算------第 5 节的确定性分层,本质上就是把尽可能多的决策从"生成"下沉到"查表"
  • 技能强化把过程编译成脚本。 成功轨迹去参数化为技能,命中适用条件直接执行;模型只在技能缺席或失效时出场
  • 双过程调度是总调度器。 它不只回答"何时升级 System 2",更回答"如何让越来越多的事不再需要 System 2"------把任务路由到规则、模板、技能、缓存这些便宜路径

与第 1 节人的提升杠杆依然一一对应:提取练习 ↔ 任务前检索、睡眠巩固 ↔ 巩固作业、组块化 ↔ 结构化状态、技能的陈述性→程序性转化 ↔ 技能库、复盘三问 ↔ 收尾三问、校准自信 ↔ 置信度校准(见 6.3)。关键差别不变:人的下沉由生理机制自动发生,Agent 的下沉必须显式建组件------巩固系统、技能库、本体,一个都不能少。

反射化有三条边界:只在稳定环境成立 ------技能须携带适用条件与过期时间,失配监测不能因为"已经会了"而关闭,过时的反射会绕过意识直接产出错误;反射是编译,编译要质检 ------6.3 的蒸馏质检防的正是"把巧合编译成反射";元认知是唯一不能下沉的部分 ------判断"熟悉还是新异"是反射化的安全阀。因此认知工程的终点不是消灭思考,而是把思考只留给值得思考的部分:新异的、高风险的、图式覆盖不到的。

6.2 人力投向何处:从复核产出到复核元认知

为什么元认知需要人工复核?一个直觉的回答是"元认知由模型产生、会出错"------但系统里每个环节都出自模型,这个理由推不出"优先复核元认知"。真正的原因是稀缺资源的再分配:认知工程让机器接管越来越多的认知层校验,人工精力因此被释放出来,而回报最高的投放位置,就是元认知复核。

以垂直领域为例:传统做法是对产出做人工复核------每份结论都要人看,因为机器产出不可信。认知工程改变了这个局面:

text 复制代码
本体闸门 + 规则引擎 → 接管认知层校验(类型/规则/一致性,由机器判定)
技能反射化          → 接管常规流程执行(命中即执行,产出可预期)
                     → 人工"复核产出"的工作量大幅下降

释放出来的人力投向哪里?元认知复核。三个理由:

  1. 元认知管理的是路由,不是单点产出。 继续、升级、弃答、转人工------路由错误影响的是整个处置策略,它直接管理着系统的错误边界
  2. 元认知是最难自动校准的层。 认知层有本体闸门充当验证器替代品;而"把握度是否属实"没有机器裁判,目前只有人工闭环能够校准
  3. 自动化比重越高,风险越向元认知集中。 反射化率上升、闸门增多之后,系统的安全性越来越取决于"路由是否正确"这一个判断------单点责任上移

复核的对象是三类典型失效:

  1. 置信度失准------过度自信:该转人工的不转,错误直接落地;过度保守:转人工率失控,系统退化为分诊台
  2. 弃答滥用------"无法确定"是合法输出,但可能成为能力偷懒的出口;也可能该弃不弃,硬答酿错
  3. 止损误判------过早放弃(任务其实可解),或该停不停(烧完预算才失败)

这类错误比认知错误更隐蔽:它不产生明显的错误答案,只产生错误的"路由",要在事后统计里才显形------因此需要主动的、专门的复核机制,而不是等问题暴露再补救。设计原则一句话:把人力从"复核产出"转向"复核判断"------认知层交给机器校验,元认知层由人校准。

6.3 人工复核的五个机制

把这一原则落到执行层,是五个具体机制:

  1. 转人工决策抽样------定期审查两类错误:"该转没转"(漏报)与"不该转转了"(误报),统计元认知的路由错误率
  2. 置信度校准曲线------聚合模型自报把握度与实际正确率的对应关系,发现系统性偏移(高把握低正确,或低把握高正确)时调整门控阈值
  3. 弃答质检------抽查"无法确定"的输出:是真不确定,还是偷懒;所附缺失信息清单是否准确------这是判断弃答质量的关键证据
  4. 元认知事件留痕------每次深度升级、止损、弃答记录触发原因与当时信号,路由决策可审计(在受监管领域同时服务合规)
  5. 渐进放权------复核通过率稳定后,逐步下调人工比例、放宽门控。复核是校准手段而非永久配置,目标是把元认知错误率压进受控区间,而不是让人长期成为系统的一环

复核的结论要回流:修正置信阈值、触发条件与教训库,形成**"模型校准认知、人校准元认知"**的闭环。这与第 1 节的结论同构:人靠外部反馈校准自信,Agent 靠人工复核校准元认知------认知科学的图纸,对人对机器是同一张。

7. 落地与验收

在现有 Harness 上按序落地的最小增量:任务收尾三问(实体/教训/技能落盘)→ 任务开始先检索再规划 → 记忆记录加四字段(溯源/置信/时间/命中)→ 双过程触发条件显式化 → 定期抽查蒸馏质量。不需要换模型,不需要训练。

验收标准相应扩展。Harness 时代度量单次成功率------有效,但检验不出判断力与经验的增长。认知工程补充:二次任务改进率 (同类问题第二次的解决成本下降多少)、反射化率 (同类任务中由技能/规则/模板等非模型路径完成的占比及其上升曲线------它解释成本为什么下降)、教训召回率 (已解决的问题是否还要重新付费解决)、垂直场景再加一条------转人工率曲线(随判例积累下降,且错误率不升)。

8. 结语

text 复制代码
提示词工程   ------ 说什么          (认知的施力点)
上下文工程   ------ 给什么看        (认知的工作记忆)
Harness 工程 ------ 怎么跑起来      (认知的行动系统)
认知工程     ------ 认知本身的组装:以元认知管理认知,
               让下一个问题被更便宜、更可靠地解决

三级台阶各自完整地解决了各自的问题;认知工程把它们的成果组装为完整的认知架构,并补上一直缺位的那一层:知道自己知道什么、不知道什么,以及因此如何分配自己。

判断一个 Agent 系统处于哪个阶段,不需要看它用什么模型,只需要问一个问题:它对自己的把握,有把握吗?


延伸阅读(一手资料)

认知与元认知(第 1--2 节)

  • Flavell, "Metacognition and Cognitive Monitoring", American Psychologist , 1979 ------ "元认知"概念的原始文献:doi.org/10.1037/000...
  • Kahneman, Thinking, Fast and Slow, 2011 ------ 系统 1 / 系统 2 双过程理论
  • Miller, "The Magical Number Seven, Plus or Minus Two", Psychological Review , 1956 ------ 工作记忆容量的经典研究:doi.org/10.1037/h00...
  • Cowan, "The Magical Number 4 in Short-Term Memory", 2001 ------ 容量修正:www.apa.org/science/abo...
  • Kotseruba & Tsotsos, "A Review of 40 Years of Cognitive Architecture Research" ------ 经典认知架构全景综述:arxiv.org/abs/1610.08...

三级台阶的原始出处(第 3 节)

  • Tobi Lütke 提出 context engineering 一词的推文(X,2025-06-19):x.com/tobi/status...
  • Karpathy 的著名回应(X,2025-06-25,"filling the context window with just the right information"):x.com/karpathy/st...
  • Anthropic, "Building Effective Agents" ------ Harness 工程的实践总结:www.anthropic.com/engineering...
  • Anthropic, "Effective Context Engineering for AI Agents" ------ 上下文工程的工程化论述:www.anthropic.com/engineering...
  • Yang et al., "SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering" ------ 运行时接口设计对 Agent 表现的影响:arxiv.org/abs/2405.15...

认知工程的组件先例(第 4--6 节)

相关推荐
桃西西呀1 小时前
限速 30 和限速 80 只差一个数字,卷积网络怎么分得清?
人工智能·深度学习·llm
Behaviour1 小时前
Sam Altman 预热本周重磅产品发布,或为 GPT-6 Sol
人工智能·chatgpt·aigc·openai·vibecoding
晚安日记wanna1 小时前
Redis 持久化RDB 和 AOF 到底该怎么选
redis·面试·架构
宣宣猪的小花园.1 小时前
【机器学习】过拟合与泛化:模型为什么会“刷题很强、实战失灵”
人工智能·算法·机器学习
7177771 小时前
有没有国产 GitLab?Gitee 与极狐 GitLab 等主流替代方案对比
人工智能·gitee
幂律智能1 小时前
幂律副总裁李融受邀参加新加坡 TechLaw.Fest 圆桌讨论,分享中国法律科技创新实践
人工智能
墨天梦1 小时前
07-KVCache与缓存友好架构
缓存·架构
Zentceh1 小时前
0.001Lux是什么概念
图像处理·人工智能·科技·计算机视觉·车载系统·无人机·智能硬件
梦影_1 小时前
Langchain简单快速上手教程(五)——聊天模型之流式传输
java·数据库·人工智能·python·langchain