当前位置: 首页 > article >正文

Harness Engineering:用“确定性“驾驭AI的“不确定性“

上一篇 SDD 系列收尾时留了一句话“如何驾驭 AI 来赋能整个软件开发周期将是另外一个值得深入探讨的话题。” 到现在有将近一个月没更新期间除了偷懒五一跑高速添堵之外主要的原因是这个问题没怎么想透。SDD 解决了怎么让 AI 尽可能准确地完成一个开发任务的问题但整个开发周期呢这个月一直在薅那稀疏的头发也一直在实际项目里摸索着。从今年3月份开始有一个词开始反复出现 —— 不管是在顶级博客、行业文章、集团大会还是内部分享汇报里这个词叫Harness Engineering。有意思的是每个人所说的 Harness Engineering 好像听起来都不太一样。一、不确定性的来源变了SDD 系列解决的是一个相对小的问题怎么让 AI 确定性地完成一个任务——用 Spec 约束意图再由 AI 验证 AI 生成的结果。初步的实践数据看起来还行。但一个任务搞定了整个开发周期呢测试谁来写验证谁来做架构怎样确保代码腐化谁来管如何持续改进这些问题 SDD 没回答因为它们本来就不在单任务的范围内。回头想想这些焦虑的本质可能指向同一个问题软件工程一直在跟不确定性作斗争但这次不确定性的来源变了。•软件工程从来都不是天然确定的—— 需求会变、并发会冲突、网络会抖动、分布式系统会脑裂。软件工程的本质工作恰恰是用工程化手段锁、类型系统、测试、CI/CD、一致性协议把这些不确定性驯服为可预测的确定性结果。说白了就是同样的输入 同样的初始状态 必须得到同样的输出。• 而LLM 的本质是概率性输出——同一个 prompt 跑两次结果可能不同。以前的不确定性在外面需求变化、运行时环境、网络故障你用工具去管它们。但现在不确定性跑到了生产线本身上——写代码的那个家伙AI它自己就是概率性的。AI 不是不靠谱而是“靠谱的概率”还不够高。Harness Engineering 就是想把这个概率逼近 100% 的一整套工程实践。这意味着我们手里那套老工具箱——锁、类型系统、CI/CD、一致性协议——并没有失效但不够用了。因为它们是为管住运行时的不确定性设计的而现在你要管住的是生产过程本身的不确定性。需求的探索、原型的设计、代码的产出、测试的生成执行这些流程的主体从人变成了 AI——你需要为这个新的不确定性来源设计新的工程手段。举个真实的例子我用 AI agent 来做 Code Review。第一次它找到2-3个需要修改的安全问题。可是我重启一个 chat session同样让它对同一个改动做 Code Review这次它没给出安全问题而是给了一些重构优化的意见。这就是缺少 Harness 的代价每一次成功的 AI 输出都感觉是在开盲盒。二、那 Harness 到底是什么对于 Harness 的定义有很多个人觉得比较清晰的是 LangChain 提出的这个广义的公式Agent Model HarnessModel 提供智能推理、理解、生成Harness 是 Model以外的一切——工具、规则、编排、权限、反馈回路。德国的 AI 码农 Philipp Schmid 在1月份的博客上发表了《The importance of Agent Harness in 2026》, 他在文中将 Agent Harness 与计算机做了一个类比计算机AI 编程作用CPULLM提供算力/智力内存Context Window工作记忆、上下文操作系统Harness资源调度、权限管理、错误恢复应用程序Agent面向用户的产品没有操作系统的 CPU 什么也干不了——它能计算但不知道该算什么、结果放哪、出错了怎么办。没有 Harness 的 LLM 也是一样它能生成代码但不知道该遵循什么规范、怎么验证自己的输出、哪些文件不该碰。所以 Harness Engineering 不是“更高级的 Prompt Engineering”Prompt 只是 Harness 的一小块。它也不是“多接几个 MCP 工具”工具只是 Harness 的另一小块。Harness Engineering 是一整套让 AI 的不确定性被系统工程方式“管起来”的实践。三、一张图让工具各就各位如果你跟我一样觉得“Harness 是 Model 以外的一切”这个定义还是太泛了那 Thoughtworks 的 Birgitta Böckeler 在 Martin Fowler 网站上发的《Harness engineering for coding agent users》给了一个非常好用的坐标系。她把 harness 的组成拆成两个维度第一个维度控制的时机•Guides前馈/Feedforward——在 AI 动手之前就缩小它的错误空间。比如 AGENTS 文件、Instructions、MCP 工具、架构文档、设计实现限制。本质是让它尽量别犯错。•Sensors反馈/Feedback——在 AI 产出之后验证结果并触发自我修正。比如 Linter、单元测试、end-to-end 测试、AI Code Review、运行日志。本质是犯了错马上抓住甚至要记下来避免相同的问题再次出现完成一个闭环。第二个维度执行的方式•Computational确定性工具—— CPU 跑的快、便宜、结果可靠。Type checker、structural test、coverage report。跑一千次结果一样。•Inferential推理性工具—— GPU 跑的慢、贵、结果有概率性。LLM-as-judge、AI code review、语义分析。有判断力有创造力但不保证每次一致。把这两个维度组合起来就得到一个 2×2 矩阵这张图的价值在于我们日常做的每一件事——写 instruction、配 linter、跑测试、做 code review——基本都能在这四个格子里找到自己的位置。当我们发现某个象限是空的那有可能就是我们的 Harness 还有缺口的地方。四、为什么每个人讲的 Harness 都不太一样有了以上的定义和坐标系之后再回头看开头那个现象——“人人都在讲 Harness Engineering但听起来像在讲不同的东西”——好像就没那么困惑了因为大家站在矩阵的不同象限里说话。•CEO/CTO关心的是AI 产能能否规模化、如何进行组织的转型——他们在讲 Guides 的战略层面Harness 模板化、组织结构的转型升级。•BA/PM焦虑的是AI 能不能把业务需求写对——他们在讲 Inferential Guidesbusiness context、原型设计、验收标准、业务规则结构化•开发/架构师在意的是怎么让 AI 少犯低级错误别改烂架构——他们在讲如何利用确定性和不确定性的工具来提供前馈和反馈linter、CI、project context、AI Code Review•QA纠结的是AI 生成的测试到底能不能信——他们在讲 Behaviour Sensors端到端验证、行为漂移检测•AI 工具厂商包装的是我们内置了 planning subagents context management——他们在讲产品化的 Harness 组件当把大家的视角放到同一张 2×2 矩阵上大家就能相互 GET 到对方想表达的意思了。Harness Engineering 不是某一个角色的专属领域它是一整个控制系统——每个角色负责其中一个环节。这里还有一个问题值得思考如果 AI 在干活那人干什么Thoughtworks 的 Kief Morris 提出了一个很好的区分人的角色正在从in-the-loop亲自干活变成on-the-loop设计控制系统。以前你是写代码的人现在你是设计“让 AI 正确写代码”的人。你不再检查每一行输出而是设计一套控制系统让问题在你看到之前就被拦截。这就是 Harness Engineering 的本质工作不是替 AI 干活而是设计“让 AI 干对活”的系统。五、Harness 不是一劳永逸的写到这里我想补充一个容易被忽略的点。大多数人听到“Harness”的第一反应是搭好了就可以一直用。把 instruction 写好、把 agent / skill 设计好、把 CI 跑起来 —— 然后坐等 AI 干活。但实际情况恰恰相反。AI 的能力在快速演进AI Coding Agent 的能力也在进化。3个月前你需要用 linter 规则拦住的编译错误今天的模型可能已经不会犯了。半年前你需要在 prompt 里写三段话解释的架构约定今天的 agent 可能从代码结构里就能推断出来。这意味着 Harness 不是一成不变的 ——旧的 Harness 要不断拆除新的 Harness 要不断前移。我把这个过程理解为持续向左 harness• 当模型能力提升某些 Sensors事后检查变得多余 —— 因为 AI 已经不会犯那类错了• 当 agent 框架进化某些 Guides事前指导可以简化 —— 因为 agent 自己能获取上下文了• 但新的风险和新的能力边界会出现你需要在更前面、更高层设置新的控制就像操作系统一样 —— 早期 操作系统 要管内存分配的每一个字节后来有了虚拟内存、有了垃圾回收这些底层 harness 被拆掉了。但 操作系统 并没有消失它在更高层面容器编排、安全沙箱、权限管理继续发挥作用。Harness Engineering 不是搭一次就不动的基建项目而是一个随 AI 能力同步演进的持续实践。Harness 一直都在只是 Harness 的位置在不断左移。写在最后回到开头那个矛盾软件工程需要确定性的输出而AI 天生不确定。Harness Engineering 不是要消灭这个矛盾——概率性输出是目前 LLM 的本质特征消灭不了——而是用工程化的手段把不确定性围起来、管起来、逼退到可接受的范围。有了这个框架之后接下来希望能把几个关键方面逐一展开Context Engineering—— 让 AI 看见你的项目系统地管理 AI 在项目中能获取到的所有上下文。AI 驱动的测试—— 谁来验证 AI 的输出探索能否让 AI 生成的测试验证 AI 生成的代码。反馈闭环—— 让 Harness 越跑越聪明。不是配好了就不动而是每一次 AI 的使用都在改进整个系统。首发于微信公众号 二牛技术参考源清单1. Birgitta Böckeler (Thoughtworks) —— Harness Engineering for Coding Agent Users, 2026.042. Birgitta Böckeler —— Context Engineering for Coding Agents, 2026.023. LangChain —— The Anatomy of an Agent Harness, 2026.034. Kief Morris (Thoughtworks) —— Humans and Agents in Software Engineering Loops, 2026.035. OpenAI —— Harness Engineering: Leveraging Codex, 2026.02

相关文章:

Harness Engineering:用“确定性“驾驭AI的“不确定性“

上一篇 SDD 系列收尾时,留了一句话:“如何驾驭 AI 来赋能整个软件开发周期,将是另外一个值得深入探讨的话题。” 到现在有将近一个月没更新!期间除了偷懒,五一跑高速添堵之外,主要的原因是这个问题没怎么想…...

FPGA异构计算与模块化SoM:赋能边缘智能与工业应用实战

1. 项目概述:一次行业深度交流的契机最近,我作为Enclustra团队的一员,有幸受邀参加了今年的嵌入式计算大会。这不仅仅是一次简单的行业聚会,更是一个观察技术风向、碰撞思想火花、探寻合作机会的绝佳窗口。对于所有深耕于嵌入式系…...

国产LDO CN86L028实战:解决图像传感器电源噪声,兼容BL8062

1. 项目概述与核心需求解析最近在折腾一个老式录像机的修复与升级项目,目标很明确:提升其图像采集的稳定性。这台设备在运行中,画面时不时会出现条纹干扰,声音里也夹杂着微弱的底噪,尤其是在电源波动较大的环境下&…...

AI 写作进入长篇记忆时代,AI让小说创作更可控

AI 写小说最常被讨论的问题,是写得快不快、文笔好不好。但对于真正写长篇的作者来说,还有一个更重要的问题:AI 记不记得住。 一部网文写到几十章、几百章后,人物关系会越来越复杂,伏笔会越来越多,世界观设…...

从零到一:UniApp CLI 实战入门与避坑指南

1. 为什么需要UniApp CLI? 第一次接触UniApp的开发者可能会疑惑:明明有HBuilderX这样完善的图形化工具,为什么还要学习CLI?这个问题我也曾经纠结过。经过多个项目的实战验证,我发现CLI在以下场景中优势明显&#xff1a…...

如何用DS4Windows让PS4手柄在PC上完美运行?3步解锁专业游戏体验

如何用DS4Windows让PS4手柄在PC上完美运行?3步解锁专业游戏体验 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 你是否曾经想过在PC上使用心爱的PS4手柄玩游戏,却发…...

基于ARM核心板的工业无线示教器开发全流程解析

1. 项目概述:当工业机器人遇上“掌上大脑”在工业自动化领域,示教器是人与机器人交互的核心枢纽。传统的示教器,往往体积庞大、线缆缠绕、成本高昂,并且高度依赖特定的控制器硬件。作为一名长期混迹于工控和嵌入式开发一线的工程师…...

workbuddy 来解决 华南x99-4mf 设置avx2的bois信息的问题

baidu 抖音 都搜索不到 华南x99-4mf 设置avx2的bois信息 默认bois没有这个选项,用workbuddy 来解决 The user wants to search for information about the “华南X99-4MF” motherboard, specifically whether it supports AVX2 settings in BIOS, and wants to do…...

纺织行业智能化升级进入深水区:AI验布机从“可选项”变为“必选项”

过去三年,走访过数十家纺织服装企业的行业观察者会发现一个明显的变化:2023年时,AI验布机还是展会上引人驻足的新奇设备;到了2025年,它已经成为越来越多工厂标准配置的一部分。这一转变背后,折射出整个纺织…...

2026届学术党必备的五大降AI率工具解析与推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 每位学者以及学生,在学术研究的这条道路之上,都必然要跨越论文写作这…...

ElevenLabs奥里亚文语音合规性警告:印度《2023语言技术法案》生效后,这4类商用场景必须重做语音备案

更多请点击: https://intelliparadigm.com 第一章:ElevenLabs奥里亚文语音合规性警告的背景与紧迫性 ElevenLabs 作为领先的文本转语音(TTS)服务提供商,近期在其 API 文档与开发者控制台中新增了针对奥里亚文&#xf…...

如何轻松掌握res-downloader:高效下载网络资源的终极指南

如何轻松掌握res-downloader:高效下载网络资源的终极指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否曾…...

Arduino ESP32终极开发指南:从硬件抽象到物联网实战

Arduino ESP32终极开发指南:从硬件抽象到物联网实战 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 ESP32作为物联网开发领域的明星芯片,以其强大的…...

靠谱的微晶电热板机构

在实验设备领域,微晶电热板是一款重要的工具,选择靠谱的机构至关重要。微晶电热板的重要性微晶电热板在环境监测、食品安全、农产品检测等分析实验室中应用广泛。它能够为样品前处理提供稳定的加热环境,保障实验结果的准确性。行业报告显示&a…...

手把手教你用STC89C52单片机驱动DS1302时钟模块(附完整代码)

STC89C52与DS1302时钟模块实战指南:从硬件搭建到代码实现 1. 项目概述与硬件准备 在嵌入式系统开发中,实时时钟(RTC)功能是许多项目的核心需求。STC89C52作为经典的51系列单片机,与DS1302时钟模块的组合,为开发者提供了经济实惠且…...

ESP32+LVGL8.3保姆级教程:搞定ST7789V屏幕和CST816T触摸(附完整代码)

ESP32LVGL8.3实战指南:ST7789V屏幕与CST816T触摸的深度适配 当一块240x280分辨率的ST7789V屏幕与CST816T触摸芯片组合遇到ESP32开发板,如何让LVGL8.3图形库完美驱动这套硬件?本文将带你从零开始,穿越配置迷宫,解决色彩…...

Kubernetes自动化运维最佳实践

Kubernetes自动化运维最佳实践 引言 自动化运维是云原生环境中的重要能力,它可以提高运维效率、减少人为错误、确保系统稳定性。本文将深入探讨Kubernetes中的自动化运维策略和最佳实践。 一、自动化运维架构 1.1 自动化运维层次 ┌────────────────…...

STM32单片机如何用IRIG-B解码模块实现10ns级高精度授时(附完整驱动代码)

STM32单片机如何用IRIG-B解码模块实现10ns级高精度授时(附完整驱动代码) 在工业自动化、电力系统同步、通信基站等对时间精度要求苛刻的领域,微秒级甚至毫秒级的时钟同步已经无法满足需求。IRIG-B作为一种标准时间码格式,通过解码…...

观察Taotoken用量看板如何帮助团队控制API成本

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 观察Taotoken用量看板如何帮助团队控制API成本 作为团队的技术负责人,引入大模型API后,成本的可观测性与可…...

扬州尊客酒店用品厂:十一年用心,值得信赖

扎根扬州,十一年用心:一家把 “靠谱” 刻进骨子里的酒店用品厂在扬州生态科技新城,有这样一家企业:没有花哨噱头,不玩虚头宣传,只埋头做一件事 —— 把酒店客房里那些不起眼的一次性用品,做到让…...

Dism++实战指南:一站式Windows系统维护的5大专业解决方案

Dism实战指南:一站式Windows系统维护的5大专业解决方案 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language Dism作为Windows系统维护的专业工具&#xf…...

如何用GenshinPlayerQuery深度分析原神账号:3个维度掌握角色成长与战斗表现

如何用GenshinPlayerQuery深度分析原神账号:3个维度掌握角色成长与战斗表现 【免费下载链接】GenshinPlayerQuery 根据原神uid查询玩家信息(基础数据、角色&装备、深境螺旋战绩等) 项目地址: https://gitcode.com/gh_mirrors/ge/GenshinPlayerQuery 你是…...

图像处理入门避坑:拉普拉斯锐化中的‘标定’到底在做什么?用NumPy手撕一遍就懂了

图像处理入门避坑:拉普拉斯锐化中的‘标定’到底在做什么?用NumPy手撕一遍就懂了 当你第一次尝试用拉普拉斯算子锐化图像时,可能会遇到一个令人困惑的现象:明明按照教程写了代码,输出的却是一张全黑或全白的图片。这不…...

2026届学术党必备的降重复率神器实际效果

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 人工智能技术飞速发展着,学术研究和论文创作领域迎来了深刻变革,维普…...

Cesium实战:手把手教你用JavaScript实现5个酷炫的3D地图特效(雷达扫描/淹没分析/动态绘制)

Cesium实战:手把手教你用JavaScript实现5个酷炫的3D地图特效(雷达扫描/淹没分析/动态绘制) 在三维地理信息可视化领域,Cesium凭借其强大的WebGL渲染能力和灵活的JavaScript API,已成为开发者构建沉浸式空间应用的首选引…...

BoltAI 资源网关、Agent 平台重塑工业 AI 底

一、工业 AI 进入“基础设施竞争”新阶段2025—2026年,从单点试点、概念验证,快速走向平台化、规模化、体系化落地。过去“一个场景一个模型”的作坊式开发,成本高、复用差、运维乱,已难以支撑制造、能源、化工、装备等行业的全域…...

ISE FPGA开发全流程实战:从代码到比特流的经典设计指南

1. 项目概述与核心价值如果你正准备踏入FPGA开发的大门,或者已经用了一段时间的Vivado,想看看业界另一个主流工具ISE(Integrated Software Environment)到底怎么玩,那这个系列的内容就是为你准备的。ISE是Xilinx&#…...

基于树莓派的智能直播状态指示器:物联网与API轮询实践

1. 项目概述与核心价值 如果你和我一样,经常在Ustream或Google Hangouts上观看固定的直播节目,或者自己就是一名内容创作者,那你肯定理解那种“直播是否开始了”的焦虑。是继续刷新页面,还是去做点别的?对于家庭或小型…...

从绿光到算法:深入解析PPG信号检测的核心技术与实践挑战

1. 绿光背后的秘密:为什么PPG传感器偏爱这种颜色 你可能已经注意到,市面上大多数智能手表的心率监测功能都会发出幽幽的绿光。这可不是为了好看——绿光在PPG(光电容积脉搏波)技术中扮演着关键角色。让我用一个简单的比喻来解释&…...

JavaScript逆向工程的架构演进:Jsxer如何重新定义二进制脚本反编译

JavaScript逆向工程的架构演进:Jsxer如何重新定义二进制脚本反编译 【免费下载链接】jsxer A fast and accurate JSXBIN decompiler. 项目地址: https://gitcode.com/gh_mirrors/js/jsxer 在Adobe创意生态系统中,ExtendScript脚本的JSXBIN二进制格…...