公司动态
Harness 工程:AI 自我改进先从运行系统开始
Harness 工程运行系统概念图谈到递归自我改进Recursive Self-ImprovementRSI很多人的第一反应是模型改自己的权重然后能力一路加速。这个画面很抓人但离今天的工程现场还有点远。更近的入口可能是模型外面的那层东西工作流、工具调用、上下文管理、权限、评估器、文件系统里的状态以及把这些部件连起来的代码。这层运行系统通常可以叫 Harness。把它理解成一段提示词太窄理解成“模型加工具”的包装也不够。它更像一个让模型干活的环境模型看什么、怎么规划、能调哪些工具、失败后从哪里继续、产物放在哪里、什么时候停下来都由这层环境决定。Claude Code、Codex、Cursor 这类产品已经把这一点讲得很明白同一个基础模型放进不同的 Harness做事的手感和上限会差很多。所以近期可见的 RSI 未必从权重开始。更可能先发生在模型周围Harness 变好模型更会做研究、写代码、跑实验模型变强后又能回来改 Harness。这个循环没有“机器突然改写自己大脑”那么戏剧化但更像现在能落地的工程路线。总览Harness 是模型周围的运行系统01PART一、为什么先看 HarnessWHY HARNESS FIRSTI. J. Good 在 1965 年讨论“超智能机器”时关心的是一种能设计出更好机器的机器。Yudkowsky 后来用“递归自我改进”描述更窄的反馈回路AI 用当前智能去改进产生智能的机制。放到今天至少有两层含义。第一层是模型直接改进模型比如重写权重、改训练算法、改数据管线。第二层更工程化模型改进训练、评估、部署和工具系统让自己或下一代模型在任务上表现更好。Harness 属于第二层。基础模型当然要紧但模型和真实任务之间还有一个执行层。它决定模型能不能拿到正确上下文能不能调用合适工具能不能在失败后定位问题也决定它会不会在权限和奖励信号上乱跑。早期智能体框架常被写成一个公式EDITOR’S NOTE摘记智能体 大语言模型 记忆 工具 规划 行动这个公式有用但太静态。Harness 工程更接近运行时设计。它关心能力清单也关心这些能力按什么顺序用、怎么检查结果、状态怎么保存、错误怎么恢复、哪些动作不允许做。好的 Harness 不需要神秘。接口最好简单内部可以复杂一点。它和操作系统有点像把麻烦的部分收进去把稳定的协议露出来。随着更多团队做类似系统工具协议、上下文格式、权限模型和评估接口大概率会慢慢收敛。02PART二、几个已经稳定下来的设计模式PATTERNSHarness 工程还在变化但有些模式已经反复出现。它们解决的是同一个问题怎样让模型从“一次回答”变成“持续执行”。NOTE1. 工作流自动化给模型一个能试错的循环自动化的重点不在一次说对。先让模型跑起来看到结果再改。一个常见循环是明确目标和约束。制定计划。调工具执行。看结果或者跑测试。找失败原因。改方案再执行。达到目标或触发停止条件后结束。工作流自动化从目标到反馈的执行循环Karpathy 的 autoresearch 仓库就是这种思路的清爽版本。它没有押宝某个万能提示词而是把研究任务放进可重复运行的循环。Codex 类编码智能体也差不多模型发起工具调用工具返回观察结果下一轮再根据观察继续走。变化在这里。单次生成只是其中一段整条执行轨迹才是看能力的地方。模型会分析自己的失败调整下一步。工程上要设计的也从提示词模板变成了智能体运行时。METHOD2. 文件系统记忆别把所有东西塞进上下文长周期任务很快会把上下文窗口撑爆。实验日志、代码 diff、论文摘要、错误记录、历史轨迹、中间产物任何一个都可能比当前上下文更长。所以很多系统干脆把持久状态放到文件系统里。文件系统的好处很朴素模型已经很熟悉读文件、写文件、grep、改代码这些动作。文件天然支持增量读写和检索。任务中断后还能恢复。历史记录可以审计不会消失在临时对话里。这不花哨但管用。把记忆做成普通文件比做成一个模型看不懂的黑盒记忆系统更容易调试也更容易吃到基础模型能力提升的红利。INTERFACE3. 子智能体和后台任务并行可以但要留下痕迹复杂任务经常需要并行。主智能体可能要同时验证几个假设跑多组实验或者把某个独立子问题丢给另一个智能体处理免得主上下文被细节淹没。这时 Harness 需要一点进程管理能力启动任务、看日志、停掉失败运行、收集结果再把有用部分合并回主线。并行本身不难难的是让过程能看见。子智能体的输出如果只停在临时对话里很快就没人知道它当时为什么这么做。更稳的做法是把输出落成文件、日志和状态记录。之后无论是模型还是人都能回来查。03PART三、编码智能体已经给出一套接口样板INTERFACE编码智能体特别适合观察 Harness因为软件开发本来就有工具、状态、测试和反馈。Claude Code、Codex、OpenCode、Cursor 风格智能体的接口正在变得相似。它们围绕一个代码仓库工作像带着 IDE、终端和 Git 的开发者。常见工具大致是这些类别典型能力文件系统文件发现、全文搜索、目录浏览、读取文件、批量读取、创建文件、编辑文件、应用补丁Shell 执行运行 Bash、PowerShell 或项目脚本代码智能LSP、类型检查、测试、格式化、构建Git 工具查看状态、查看差异、提交变更、生成补丁外部上下文MCP 工具、Skills、知识库、项目文档网络能力搜索、抓取网页、浏览器自动化产物处理读取文档和图片生成 HTML、图片或报告后台进程创建、查看和删除长期任务智能体委托生成子智能体、恢复任务、等待结果、中断或关闭任务编码智能体的 Harness 接口层有了这些接口模型就不用停在“写一段代码建议”这一步。它可以在仓库里真实开发、运行、调试、验证。代码仓库、测试输出、终端日志和 Git diff 合起来构成了一个可操作的环境。这对 RSI 也有启发Harness 本身是代码代码可以被模型修改。只要 Harness 能执行、能评估、能回滚它就进入了可以被搜索和优化的范围。04PART四、优化对象在往上走OPTIMIZATION过去大家先优化提示词。后来开始优化结构化上下文再后来是工作流、编排代码。再往后连“优化器怎么优化”也会成为对象。可以简单写成EDITOR’S NOTE摘记指令提示词 → 结构化上下文 → 工作流 → Harness 代码 → 优化器代码优化对象从提示词上移到 Harness 与优化器代码提示词当然还在。只是模型越强越会去改“怎样得到答案”这件事。答案本身只是最后一层产物。STACK1. 上下文工程把长提示词改成可维护的手册把所有工具响应和模型输出一直追加到上下文里短任务还能凑合长任务很快失控。上下文工程要做的是把模型需要的信息组织成更短、更准、更容易维护的状态。ACEAgent Context EngineeringZhang 等2025把上下文看成一本会更新的战术手册而不是一条越拖越长的提示词。它有三个角色生成器参考手册执行任务反思器从成功和失败轨迹里总结经验策展器把新经验增量写回手册。ACE 一个聪明的地方是它不让策展器每次重写整段提示词而是输出带标识符的条目再用确定性逻辑合并到上下文日志里。这样可以减少反复重写造成的信息塌缩也不会让提示词越改越像一句空泛口号。MCEMeta-Context EngineeringYe 等2026再往前走一步把“怎么管理上下文”和“上下文里放什么”分开。元层优化技能基础层优化当前任务上下文。一个 MCE 技能 s \in \mathcal{S} 可以写成上下文函数其中\rho_s {\rho_1,\dots,\rho_m} 是静态组件比如提示词、知识库和代码库F_s {F_1,\dots,F_k} 是动态操作比如搜索、选择、过滤和格式化。双层优化可以写成直白一点说内层在当前技能下找好上下文外层找更好的技能。实现上上下文函数可以落到一个目录里里面有 skill.md、上下文文件、数据展开和执行记录。模型用 Read、Write、Edit、Bash、Glob、Grep 这些普通工具操作它们。Meta-HarnessLee 等2026更直接它优化的是决定哪些信息该存、该取、该交给模型的代码。也就是说优化范围包括上下文内容也包括管理上下文的程序。一旦测试框架变成可执行的搜索空间编码智能体就能用工程师熟悉的办法去改它。CONTEXT2. 工作流设计从专家经验到元智能体搜索自动研究系统很能说明工作流的价值。AI ScientistLu 等2026把研究过程拆成想法生成、代码编写、实验运行、结果分析、论文撰写和评审。ScientistOneMeng 等2026把可验证性放在前面要求引用、数值、方法、结论都能追到证据来源并通过证据链检查。AutodataKulikov 等2026让主智能体协调挑战者、弱求解器、强求解器和验证者合成难度“刚刚好”的训练与评估数据强求解器能做出来弱求解器做不出来。挑战者提示词会根据求解器和验证器反馈继续改。这些例子说明工作流本身就是能力的一部分。但工作流空间太大只靠专家手写很难扫完。ADASAutomated Design of Agentic SystemsHu 等2025把智能体设计当成优化问题也就是让元智能体搜索智能体。它从思维链、自我修正这类简单工作流开始维护一个方案存档然后让元智能体参考已有方案用代码写出新的工作流。新方案经过自我反馈、评估和筛选后再放回存档。AFlowZhang 等2025把智能体工作流表示成图节点是大语言模型调用边是代码里的逻辑操作。它用蒙特卡洛树搜索来改工作流用模板初始化起始工作流W_0。按分数和探索策略选择一个节点。让大语言模型根据评估结果修改工作流。执行并评估新工作流。新工作流如果变好就加回搜索树。继续搜索直到分数不再明显上升或预算用完。在问答、代码和数学任务上AFlow 的结果好过人工工作流和 ADAS。这个结论不算神秘如果工作流能被代码表示又能被自动评估搜索就有了抓手。WORKFLOW3. 自我改进 Harness改进器也可以被改进上下文和工作流只是 Harness 的一部分。更完整的做法是把上下文管理、工具接口、权限、评估器、错误恢复策略都放进搜索空间。STOPSelf-Taught OptimizerZelikman 等2023是一个早期例子。它不直接改某个解 s而是改“改进器” I。在 t0 时种子改进器 I_0 接收初始解 s、效用函数 u 和黑盒语言模型 M返回改进后的解再定义元效用递归更新写成STOP 最后发现了不少熟悉策略包括遗传算法、分解改进、多臂提示词赌博机、模拟退火、变温、束搜索和树搜索。更有意思的是这个形式评估框架和改进流程可以被当作对象来优化。不过 STOP 也提醒了一点。递归结构本身不会自动带来进步。使用 GPT-4 时下游平均表现会提升换成较弱模型表现反而下降。基础模型不够强改进机制也会改坏。Self-HarnessZhang 等2026走的是“提出、评估、接受”的路线让大语言模型智能体改自己的评估框架。它先从失败轨迹里挖弱点再提出有边界的 Harness 修改最后在保留集和留出集上验证通过的才合并到 h_{t1}。这里我觉得最该盯住的是“有边界”。模型不能随便改运行环境。哪些文件能动哪些权限不能碰哪些安全层永远在循环之外都要提前说清楚。否则奖励攻击和越权行为会变得很难查。HARNESS4. 演化搜索适合这种又大又怪的空间演化搜索适合两类问题搜索空间很大或者很难用梯度优化但候选方案的质量又能被评估。Harness 搜索差不多就是这种问题。PromptbreederFernando 等2023已经把演化搜索用于提示词工程。它优化任务提示词也让“指导模型怎么变异提示词”的提示词一起演化。GEPAAgrawal 等2025把反思和演化搜索结合用自然语言总结试错轨迹再提出新的提示词。AlphaEvolveNovikov 等2025把这件事推进到代码。系统维护候选程序池让冻结的大语言模型生成差分补丁跑评估留下更好的子代。几个设计细节值得记一下提示词里会放父代程序、执行结果、指令和必要元信息。编码智能体能看整个仓库但可改区域用 # EVOLVE-BLOCK-START 和 # EVOLVE-BLOCK-END 标出来。元提示词也参与演化。消融实验显示上下文、元提示词、全文件进化和模型强度都会影响结果。ShinkaEvolveLange 等2025主要在采样效率上做文章父代选择同时考虑性能和已有子代数量用嵌入相似度过滤太像的候选把成功模式写进元草稿本指导之后的变异。DGMDarwin Gödel MachineZhang 等2025更贴近这里的主题。它从一个编码智能体开始每轮按性能和子代数量选择父代父代查看自己的基准日志修改自身框架代码生成新智能体新智能体经过评估够好才加入种群。在 Claude 3.5 Sonnet 固定不变的情况下DGM 从简单初始 Harness 出发在 SWE-bench Verified 上从 20% 提到 50%在 Polyglot 上从 14.2% 提到 30.7%。这已经接近或超过一些手工设计智能体。当然这类方法最适合自动评估很快、指标清楚的任务比如矩阵乘法、GPU 内核优化、算法竞赛、数据中心调度和软件修复。评估慢、结果模糊、要靠专家判断的领域会麻烦很多。EVOLVE5. 再往前一步把权重更新也放进循环Harness 进化改的是模型周围的非参数系统。更完整的自我改进还会涉及模型权重比如改训练管线或者在测试时持续学习。SIAHebbar 等2026是一个早期尝试。它把三类角色放进同一循环元智能体提出初始 Harness任务智能体执行任务反馈智能体根据最近轨迹决定下一步改 Harness还是改模型权重。这个方向很诱人但证据还早。相关实验里也有一些让结果不太好解释的设计选择例如任务智能体明显弱于元智能体和反馈智能体基线也不够强。更大的问题还在后面训练稳定性、Goodhart 效应、奖励攻击、权限隔离都会一起压上来。05PART五、几个绕不过去的问题RISKSHarness 工程让自我改进变得具体了一些但不等于问题解决了。下面这些麻烦短期内都绕不开。自我改进系统的风险与人类监督位置WEIGHTS1. 评估器经常不够好自我改进循环在可快速验证、指标客观的任务上效果最好。奖励清楚优化就更稳。开放式研究不是这样。科学品味、新颖性、长期价值很难用一个分数概括。一个系统可以写出看似完整的论文却混着伪造引用、实现偏差、薄弱实验或者根本没问对问题。Trehan 和 Chopra2026的实验挺能说明问题。他们给大语言模型很少的脚手架和基本工具让它从研究想法推进到论文。最后只有极少数想法能完整执行。反复出现的问题包括旧库依赖、实现偏差、上下文退化、过度乐观、领域经验不足和科学品味不足。RISK2. 记忆会越长越难管智能体越自主记忆就越长。哪些信息留在短期上下文里哪些写进长期日志哪些需要摘要哪些应该删掉都需要规则。长上下文会继续变强但长上下文不是万能抽屉。没有好的上下文管理模型只是能带着更多杂物往前走。长期任务需要的是可维护的记忆生命周期。RISK3. 失败记录太容易丢研究系统天然偏爱成功案例。论文喜欢正结果训练数据里也更常见“最后成功了”的叙事而不是一堆失败日志。这会影响模型判断何时该放弃假设何时该报告负结果何时该承认实验没跑通。好的研究 Harness 应该认真保存失败尝试。失败不是废料它能帮系统少走重复路。RISK4. 搜索会收敛到相似答案演化循环和强化学习循环都容易利用已知高奖励模式。迭代久了候选方案可能变成同一个想法的不同包装。开放式研究尤其怕这个。早期看起来分数不高的路线可能才是后面有价值的路线。Harness 需要专门维护多样性比如新颖性采样、种群分层、留出任务和反事实评估。RISK5. 奖励攻击不会自己消失自我改进循环会优化它拿到的信号。奖励来自单元测试它可能对测试过拟合奖励来自评判模型它可能学会讨好评判模型奖励来自基准分数它可能利用基准里的缝隙。评估器和权限控制最好放在进化循环外面。留出测试、轨迹审计和需要拍板的节点也不能全省。哪些监督能自动化哪些必须由人看还没有标准答案。RISK6. 短期任务不等于长期成功很多训练目标只覆盖一条轨迹或一个短任务。编程智能体已经能提高日常开发效率但它们不太会照顾大型代码仓库的长期健康。一个补丁今天能过测试半年后可能增加迁移成本打乱所有权边界破坏向后兼容性或者留下很难调的隐患。沙盒里的短期训练很难捕捉这些代价。RISK7. 人类的位置会变但不会消失更强的 Harness 不应该把人类赶出循环。更合理的变化是人类上移到更高抽象层定义问题设定评估标准划权限边界审查奖励设计在需要拍板的地方按暂停键。越强的自我改进系统越需要回答几件朴素的问题它在优化什么谁定义成功谁能叫停出事后谁能追责∞END结语先别急着等“权重魔法”SUMMARYAI 自我改进未必先发生在参数里。眼下更值得看的是工程飞轮Harness 让模型更会研究、编码、实验和评估更强的模型再回来改 Harness。这条路线没有科幻故事那么漂亮但离现实更近。它把 RSI 拆成能看见、能调试的东西上下文、文件、工具、工作流、评估、权限和代码。我更愿意把它看成一门正在成形的软件工程学。问题不再是模型会不会突然“自我修改”而是系统有没有能力改进自己的运行机制并且让人看得懂、拦得住、追得回。CLOSING问题不再是模型会不会突然“自我修改”而是系统有没有能力改进自己的运行机制并且让人看得懂、拦得住、追得回。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】