掌握Harness Engineering:让你的大模型智能体长期稳定运行,小白程序员必备!

张开发
2026/4/3 17:59:01 15 分钟阅读
掌握Harness Engineering:让你的大模型智能体长期稳定运行,小白程序员必备!
文章探讨了智能体长期运行所面临的三大挑战状态管理、环境管理以及智能体管理。介绍了Harness Engineering的概念它整合了上下文工程并引入了项目状态表示、运行时环境以及智能体反馈循环等新元素。文章还详细阐述了编码智能体、双模式与反馈循环、生命周期管理、人在环上、授权、可扩展性、基于文件的持久化、提示模式以及项目结构管理等方面的实践方法。最后文章指出开发者的角色将演变需要具备系统工程、面向智能体的项目脚手架以及代码智能体Harness等方面的能力以构建可靠、一致、可扩展和可观测的智能体系统。Harness Engineering能否破解智能体长期运行的困局引言自主智能体的时代技术演进与范式转变我们正站在人工智能史上的一个关键时刻。过去几年AI工程师们经历了大约每年一次的、持续且重大的技术地震。这些转变如此剧烈以至于许多曾令开发者兴奋不已的技术如今已鲜少使用。2025年11月开源个人智能体ClawdbotOpenClaw的出现引发了全球性的轰动。OpenClaw与Mario Zechner的pi-coding-agent等开源智能体工具包项目集成。虽然模型上下文协议MCP使智能体能够根据描述选择工具并在有限的执行范围内行动但基于编码智能体的行动因其灵活性、即时性而存在风险若其误解用户意图则可能导致灾难性后果。基于终端用户界面TUI的编码助手如Codex CLI、Gemini CLI和Claude Code于2025年初进入市场后其演进速度超乎预期迅速转变为基于AI的全功能IDE例如Google Antigravity。到2025年底许多大型科技公司已开始尝试完全自动化开发流程。这一转变对开发者角色的重塑其深度与广度可能超出当前预期。根据The Information的报道有观点指出该转变更偏向苦涩因为它彻底重新定义了开发者的工作方式以及在这个生成式代码智能体时代他们能做什么、不能做什么。2025年8月OpenAI启动了一项实验旨在测试自动化代码智能体的能力。该实验的目标是在无人类代码编写的情况下创建一个测试版软件产品。研究团队在一个空仓库中以一小套现有模板为指导使用Codex CLI和GPT-5构建了开发脚手架。2026年2月11日OpenAI公布了实验结果在五个月内编写了一百万行代码开启了1500个拉取请求而整个流程仅由三到七名工程师驱动Codex完成。该软件现已被数百名日常用户使用。长时间运行智能体产生的核心问题状态、环境与管理的三重挑战图 1. 模拟城市 (1989)当OpenAI的开发者启动空Git项目实验时其目标并非构建简单的计数器应用而是测试智能体能否构建健壮、大规模的代码项目。此类项目通常涉及数百万行代码而代码量直接带来了功能复杂性数百个变量和函数相互交织必须协同工作以提供更高层次的抽象功能。验证此类大型项目的有效性需确认其是否按预期工作这往往需要整个公司投入数月甚至数年。2026年2月AI工程师Christopher Ehrlich成功利用Codex-GPT-5.3将著名游戏《模拟城市》1989从纯C语言移植至TypeScript。他选择《模拟城市》的原因是该游戏运行在Commodore 64等旧式电脑上其所需资源甚至低于现代Chrome浏览器。值得注意的是Ehrlich本人并不关心代码细节仅通过自然语言引导OpenAI的Codex GPT-5.3使其能够创建出预期成果。这一案例揭示了利用代码智能体的潜力。有分析认为在不久的将来开发者很可能在无需详细知识的情况下编写代码。然而该任务即使对智能体而言也耗时4天。与人类相比这无疑是显著的速度优势但当智能体运行时间从一小时延长至数天时一系列难以预见的问题随之浮现。那么长时间运行智能体究竟会引发哪些系统性挑战状态管理问题这不仅仅是上下文窗口溢出的问题通常可通过上下文压缩缓解。当智能体运行足够长时间以处理大型项目时有必要动态分配上下文以维持对全局的把握。此处的挑战也并非多智能体系统MAS所强调的、由智能体数量引发的复杂性而是如何将上下文和记忆与解决庞大复杂问题的任务目标对齐。环境管理问题OpenAI实验的教训表明模糊的决策边界和不可预测的项目结构可能导致智能体无法完成任务。仅依赖文档无法完全解决此问题。在长期运行场景中管理智能体工作的环境至关重要。智能体管理问题智能体倾向于在项目未完成时过早宣布胜利。然而OpenAI的实验发现对智能体进行微观管理同样无法解决问题。核心挑战在于如何以及何时对智能体进行有效管理。Harness Engineering智能体的导航与控制系统图 2. Harness Engineering作为AI工程师我们需要以系统化、工程化的方式管理状态、环境和智能体。在AI领域术语中这一系列实践被称为Harness Engineering。Harness Engineering是一个比上下文工程更广泛的范畴后者自2025年以来一直是AI领域的热门关键词之一。上下文工程聚焦于信息管理受限于任何给定智能体的固定窗口大小。业界已投入大量努力探索最高效的方法检索增强生成RAG和工具调用是管理输入数据的前沿技术受有限状态自动机FSA启发的有状态智能体编排如LangGraph是动态管理智能体状态的一种方式长期/短期记忆管理技术也是构建可靠智能体的核心主题之一。从上下文工程的视角看智能体与之交互的环境本质上是一个不可控变量它更像一个根据智能体行为产生反馈的固定系统。为了突破智能体性能边界许多开发者正尝试通过控制环境来提升智能体效能。Harness Engineering整合了上下文工程的现有元素并引入了三个尚未被深入探讨、用于启动优化的独特概念项目状态或进度的更抽象表示、运行时环境以及通过智能体反馈循环进行的验证。图 3. OpenAI 的Harness Engineering — 来源 OpenAI智能体管理编码智能体、双模式与反馈循环编码智能体粒度、可验证性与CodeAct方法论模型上下文协议MCP被视为智能体的类API工具。尽管Anthropic引入了MCP且工具调用自2025年以来一直是热门话题但在许多Harness Engineering案例中MCP并不适用。其关键问题之一在于粒度MCP可处理需要通用工具的任务但不适用于需细粒度控制的任务。工具调用对智能体而言仍是强大功能但由于其可解释性要求可能仅适合人在回路中的场景。当需要智能体自动解决复杂问题时这构成了另一障碍。另一核心问题是可验证性如何验证工具调用是否成功即使MCP正常工作其JSON体是否适应当前情境也难以保证。图片图 4. CodeAct代码即行动 — 来源 arxiv这正是由CodeAct方法论驱动的编码智能体成为Harness Engineering关键工具的原因。代码解决方案具有内在的逻辑结构由原子代码逻辑构成因此可为给定指令提供复杂且定制化的解决方案高粒度。此外它们可通过自动化测试轻松验证高可验证性代码返回明确的退出码零表示成功非零则伴随异常及回溯智能体可据此自我验证并解决问题。双智能体模式Anthropic的分解策略2025年11月Anthropic在自动化应用开发实验中也遭遇了长时间运行智能体问题。研究者将其识别为两类具有不同特征的问题① 由单次运行中智能体无法解决的过大问题引起即使耗尽上下文窗口也无法完成任务上下文压缩亦难以顺畅传递进行中的进度导致一致性问题② 当项目接近完成时智能体易过早断定项目已完工找不到剩余任务。这促使Anthropic创建了两种智能体类型以分别应对初始化智能体专门负责构建项目脚手架和初始环境为编码智能体高效完成任务奠定基础。编码智能体采用增量进度策略。每个会话通过Git提交留下结构化更新在维护项目稳定功能的同时推进代码演进。反馈循环结构化更新与静默失败的风险图 5. OpenClaw 的反馈循环Harness Engineering引入的最独特概念之一是智能体反馈循环。鉴于智能体的上下文限制反馈循环已成为其核心架构。循环是实现结构化更新同时为人类开发者维护功能可观测性的有效方法。然而需注意编码智能体虽可验证但仍存在易被忽略的陷阱尽管代码结果检查可覆盖多数问题但有时代码执行可能引发静默失败。图 6. OpenAI Codex 线程循环 — 来源 OpenAI示例代码分析Nanobot的智能体循环实现图片图 7. Nanobot — 来源 GithubNanobot是OpenClaw热潮中广为人知的变体之一其代码库仅4000多行对于希望透彻理解Harness Engineering的AI工程师而言是合适的研究对象。以下是其智能体循环的核心代码片段async def _run_agent_loop( self, initial_messages: list[dict], on_progress: Callable[..., Awaitable[None]] | None None, ) - tuple[str | None, list[str], list[dict]]: 运行智能体迭代循环。 messages initial_messages iteration 0 final_content None tools_used: list[str] [] while iteration self.max_iterations: iteration 1 tool_defs self.tools.get_definitions() response await self.provider.chat_with_retry( messagesmessages, toolstool_defs, modelself.model, ) usage response.usage or {} self._last_usage { prompt_tokens: int(usage.get(prompt_tokens, 0) or0), completion_tokens: int(usage.get(completion_tokens, 0) or0), } if response.has_tool_calls: if on_progress: thought self._strip_think(response.content) if thought: await on_progress(thought) tool_hint self._tool_hint(response.tool_calls) tool_hint self._strip_think(tool_hint) await on_progress(tool_hint, tool_hintTrue) tool_call_dicts [ tc.to_openai_tool_call() for tc in response.tool_calls ] messages self.context.add_assistant_message( messages, response.content, tool_call_dicts, reasoning_contentresponse.reasoning_content, thinking_blocksresponse.thinking_blocks, ) for tool_call in response.tool_calls: tools_used.append(tool_call.name) args_str json.dumps(tool_call.arguments, ensure_asciiFalse) logger.info(工具调用: {}({}), tool_call.name, args_str[:200]) result await self.tools.execute(tool_call.name, tool_call.arguments) messages self.context.add_tool_result( messages, tool_call.id, tool_call.name, result ) else: clean self._strip_think(response.content) # 不要将错误响应持久化到会话历史中——它们可能会污染上下文并导致永久性400循环 (#1303)。 if response.finish_reason error: logger.error(LLM 返回错误: {}, (clean or)[:200]) final_content clean or抱歉我在调用 AI 模型时遇到错误。 break messages self.context.add_assistant_message( messages, clean, reasoning_contentresponse.reasoning_content, thinking_blocksresponse.thinking_blocks, ) final_content clean break if final_content isNoneand iteration self.max_iterations: logger.warning(达到最大迭代次数 ({}), self.max_iterations) final_content ( f我达到了工具调用迭代的最大次数 ({self.max_iterations}) 没有完成任务。您可以尝试将任务分解为更小的步骤。 ) return final_content, tools_used, messages环境管理生命周期、人在环上与安全授权生命周期管理已成为实现流畅智能体循环的关键特性。如图5所示OpenClaw生成异步运行时以运行pi编码智能体期间每个事件被流式传输并转储至事件数据库。生命周期事件包括start、end和error。当任务遭遇意外error状态时Harness系统必须拦截循环并相应处理问题。其他系统功能如healthcheck也需整合以检查异步任务是否返回end或error状态。人在环上正成为Harness Engineering中的重要概念。人类不再主动决定在环中而是在环上通过引导使智能体无缝完成工作。这使得线程生命周期管理至关重要借助循环可在任务进行中拦截以修改计划、挂钩操作通过适当的任务队列管理可并行创建作业以加速更新。队列机制的可靠性已成为Harness Engineering的核心组成部分。授权对Harness系统也日益重要。当前OAuth 2.0提供委托和应用类型的身份验证委托用户授权并允许使用特定应用程序功能级别。应用应用程序本身授予权限应用范围。应用范围的权限因其可能授权访问每位员工的信息而存在较高风险。作为个性化智能体OpenClaw原生支持委托OAuth 2.0授权。若无正确设置授权的敏感密钥信息可能暴露给外部基础模型因此该特性在隐私和安全层面极为关键。图 8. OpenAI Codex Harness 应用服务器集成 — 来源 OpenAI可扩展性同样是环境工程的一部分。理论上任何平台皆可将变量输入Harness应用服务器基于当前资源和环境优化智能体循环效率。OpenAI Codex Harness通过JSON-RPC与各类平台通信类似Jupyter应用程序。OpenAI harness项目的研究者指出智能体在具有严格边界和可预测结构的环境中效率最高因此他们围绕严格的架构模型构建了应用程序。状态管理基于文件的持久化与提示模式除了作为上下文工程一部分的智能体记忆管理此处状态管理特指项目初始化和进度管理。对代码项目而言基于内存或数据库的状态不稳定需维护单独运行时。解决方案何在Pankaj指出基于文件的持久化是完成智能体循环首要维护的知识与数据模块是下一步。Claude Code在文件系统中遗留claude-progress.txt文件以便智能体读取当前实现情况及后续可贡献的进度。提示模式OpenClaw的引导文件结构由GPT 5.4描述的OpenClaw引导提示结构包含以下关键文件AGENTS.md是操作规则手册包含智能体的操作指令及记忆使用方式于每个会话开始时加载。它定义了“如何行动”的指令。SOUL.md定义了角色、语气和边界于每个会话中加载。如果说AGENTS.md是“做什么”SOUL.md就是“你是谁”。IDENTITY.md存储智能体的名称、审美氛围和表情符号在引导仪式期间创建和更新。USER.md捕获用户身份及称呼方式于每个会话中加载使智能体持久了解用户偏好。TOOLS.md保存有关本地工具和约定的说明为模型提供软性上下文。HEARTBEAT.md是可选的心跳运行检查清单应保持简短以避免消耗过多令牌。BOOTSTRAP.md仅存在于全新工作区驱动首次智能体运行的问答仪式随后被删除。MEMORY.md是精心策划的长期记忆决策、偏好和持久事实存入其中日常笔记则进入memory/YYYY-MM-DD.md。若研究OpenClaw项目结构可发现这些具有不同名称的文件。通过基于文件的持久化这些文件旨在超越智能体上下文发挥作用它们被有条件地连接以形成系统提示或由智能体在需要时打开。然而这也意味着每轮对话可能消耗大量令牌在某些场景下构成问题因此部分开发者正致力减少令牌消耗。此外OpenAI研究人员发现单一的巨型AGENT.md不利于机械检查覆盖率、新鲜度、所有权、交叉链接导致漂移不可避免且验证困难。项目结构管理隔离、测试与防漂移工作区隔离至关重要无人希望多个智能体的代码混杂这类似代码智能体间的竞争条件。若无适当计划与结构化更新项目仓库将迅速混乱。因此OpenClaw等带有Harness系统的个人智能体需拥有独立沙箱环境。用于验证的结构化测试和确定性linter同样关键。若期望项目结构健全其不仅应通过单元测试还需通过复合的结构化测试。Anthropic将功能列表保存为文件以防智能体过早宣布胜利。初始化智能体编写此功能列表并保存编码智能体基于此文件增量更新代码。示例如下{ category: functional, description: 新建聊天按钮创建一个全新的对话, steps: [ 导航到主界面, 点击新建聊天按钮, 验证创建了一个新对话, 检查聊天区域是否显示欢迎状态, 验证对话是否出现在侧边栏 ], passes: false }来自初始化智能体的功能列表 — 来源 Anthropic尽管创新想法不断涌现实现智能体完全自主仍面临诸多挑战。OpenAI研究人员发现Codex会复制仓库中已存在的模式——即使是不均匀或次优的。为防止漂移他们每周执行一次垃圾回收。开发者的未来角色从编码者到系统架构师nanobot/├── agent/ # 核心智能体逻辑│ ├── loop.py # 智能体循环LLM ↔ 工具执行│ ├── context.py # 提示构建器│ ├── memory.py # 持久记忆│ ├── skills.py # 技能加载器│ ├── subagent.py # 后台任务执行│ └── tools/ # 内置工具包括 spawn├── skills/ # 捆绑技能github, weather, tmux...├── channels/ # 聊天渠道集成支持插件├── bus/ # 消息路由├── cron/ # ⏰ 计划任务├── heartbeat/ # 主动唤醒├── providers/ # LLM 提供商OpenRouter 等├── session/ # 对话会话├── config/ # ⚙️ 配置└── cli/ # ️ 命令Nanobot 项目结构 — 来源 Github有观点指出这并非开发者的终结而是其角色的演变许多任务只有具备智能体运行时系统基础知识和软件架构宏观视野的软件开发者才能实现。OpenAI指出软件工程师需具备三项新能力系统工程整体理解计算机系统的能力。面向智能体的项目脚手架维护结构健全且可靠代码项目的能力。代码智能体Harness通过最优引导充分发挥编码智能体性能的能力。在另一份分析中OpenAI还建议开发者需从以下维度理解应用一致性和可重复性为每个智能体提供范围明确的上下文。可扩展编排协调单智能体和多智能体系统。可观测性与可审计性通过审查完整的智能体堆栈跟踪。Codex 的完整可观测性堆栈 — 来源 OpenAI最终结论是可靠性必须与能力分开设计。更新、更强大的模型并不会自动产生更可靠、更一致、更可观测的智能体系统。多步骤执行的复合失效数学问题要求架构解决方案如投票、断路器、验证层这些是任何模型改进都无法单独提供的。此外最成功的生产级智能体通常采用带有验证门的直接提示链而非复杂的自主多智能体架构——简单性往往胜出。那么如何学习大模型 AI 对于刚入门大模型的小白或是想转型/进阶的程序员来说最头疼的就是找不到系统、全面的学习资源要么零散不成体系要么收费高昂白白浪费时间走弯路。今天就给大家精心整理了一份全面且免费的AI大模型学习资源包覆盖从入门到实战、从理论到面试的全流程所有资料均已整理完毕免费分享给各位核心包含AI大模型全套系统化学习路线图小白可直接照做、精品学习书籍电子文档、干货视频教程、可直接上手的实战项目源码、2026大厂面试真题题库一站式解决你的学习痛点不用再到处搜集拼凑扫码免费领取全部内容1、大模型系统化学习路线学习大模型方向比努力更重要很多小白入门就陷入“盲目看视频、乱刷资料”的误区最后越学越懵。这里给大家整理的这份学习路线是结合2026年大模型行业趋势和新手学习规律设计的最科学、最系统从零基础到精通每一步都有明确指引帮你节省80%的无效学习时间少走弯路、高效进阶。2、大模型学习书籍文档理论是实战的根基尤其是对于程序员来说想要真正吃透大模型原理离不开优质的书籍和文档支撑。本次整理的书籍和电子文档均由大模型领域顶尖专家、大厂技术大咖撰写涵盖基础入门、核心原理、进阶技巧等内容语言通俗易懂既有理论深度又贴合实战场景小白能看懂程序员能进阶为后续实战和面试打下坚实基础。3、AI大模型最新行业报告无论是小白了解行业、规划学习方向还是程序员转型、拓展业务边界都需要紧跟行业趋势。本次整理的2026最新大模型行业报告针对互联网、金融、医疗、工业等多个主流行业系统调研了大模型的应用现状、发展趋势、现存问题及潜在机会帮你清晰了解哪些行业更适合大模型落地哪些技术方向值得重点深耕避免盲目学习精准对接行业需求。值得一提的是报告还包含了多模态、AI Agent等前沿方向的发展分析助力大家把握技术风口。4、大模型项目实战配套源码对于程序员和想落地能力的小白来说“光说不练假把式”只有动手实战才能真正巩固所学知识将理论转化为实际能力。本次整理的实战项目涵盖基础应用、进阶开发、多场景落地等类型每个项目都附带完整源码和详细教程从简单的ChatPDF搭建到复杂的RAG系统开发、大模型部署难度由浅入深小白可逐步上手程序员可直接参考优化既能练手提升技术又能丰富简历为求职和职业发展加分。5、大模型大厂面试真题2026年大模型面试已从单纯考察原理转向侧重技术落地和业务结合的综合考察很多程序员和新手因为缺乏针对性准备明明技术不错却在面试中失利。为此我精心整理了各大厂最新大模型面试真题题库涵盖基础原理、Prompt工程、RAG系统、模型微调、部署优化等核心考点不仅有真题还附带详细解题思路和行业踩坑经验帮你精准把握面试重点提前做好准备面试时从容应对、游刃有余。6、四阶段精细化学习规划附时间节点可直接照做结合上述资源给大家整理了一份可直接落地的四阶段学习规划总时长约2个月小白可循序渐进程序员可根据自身基础调整节奏高效掌握大模型核心能力快速实现从“入门”到“能落地、能面试”的跨越。第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…扫码免费领取全部内容3、这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多文章