ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Harness Engineering证明论:如何在真实环境验证AI Agent成果?附RustSec安全公告案例

Harness Engineering证明论:如何在真实环境验证AI Agent成果?附RustSec安全公告案例 Harness Engineering证明论如何在真实环境验证AI Agent成果附RustSec安全公告案例【免费下载链接】harness-engineering Ryan Lopopolo’s anthology, field guide, and agent context bundle for harness engineering项目地址: https://gitcode.com/gh_mirrors/har/harness-engineering你是否遇到过这样的场景AI Agent 自信地报告任务完成你却不敢直接上线harness-engineering 是 Ryan Lopopolo 的开源实战文集与 Agent 上下文工具包其中证明论Proof部分给出了 Harness Engineering 的核心答案把验证放进工作本身——一项变更只有当证据在真实环境中证明了承诺的结果时才算完成。本文将从 AI Agent 成果验证的角度带你读懂这套证明体系并复盘一个真实的 RustSec 安全公告案例一行懒提示词如何变成公开的漏洞公告。什么是 Harness Engineering 的证明论证据胜过断言Harness Engineering挽具工程的核心思路是把 AI 编码模型当作固定的黑盒转而优化它周围的两个外部杠杆——上下文和工具。而验证Proof正是整个挽具的最后一道关卡验证属于工作的一部分。一项变更完成的标志是证据在用户、运维或依赖系统实际依赖的环境中展示了承诺的结果。这条原则来自 docs/proof/README.md。它反对看起来能跑的口头交付要求 AI Agent 的成果必须在被体验的边界上留下可检查的证据。如何在真实环境验证 AI Agent 成果5 个可落地的步骤步骤 1在用户体验的边界定义成功在动手实现之前先把验收边界写清楚谁或什么会体验到这个结果用户依赖系统哪些起始状态和输入重要哪些可见行为和副作用必须发生哪些不变量必须保持成立观察者如何区分真正的成功与貌似成功哪些内容在声明范围之外。这份规格可以很小它的任务是明确工人Agent必须能产出什么样的证据。文中还举了 Aakash Gupta 团队的例子Codex 爬取代码库起草功能清单团队评审后QA Agent 就能启动应用、走通关键用户旅程并断言其仍然有效——手动冒烟测试因此大幅减少。步骤 2让证据匹配声明Claim → Evidence每个绿色对勾都要能回答它到底证明了什么证明文档 给出了一张对照表摘选几行你的声明匹配的证据浏览器行为正常真实浏览器旅程 语义与渲染状态安全影响可复现程序、有界可利用性、回归覆盖部署完成经过验证的制品正在运行 部署后健康检查电子表格计算正确公式、单位、源单元格和渲染后的工作簿状态单元测试、类型检查、lint 只能证明内部属性结果必须在用户域边界上确立。步骤 3给 Agent 直连真实系统的权限理想状态下Agent 应该能自己启动应用、驱动浏览器或 UI、读日志、查指标与追踪、检查持久副作用、对比生成语料、观察 CI 与部署。人不该成为 Agent 与系统之间的人肉中继。文中提到的实用做法包括每个 git worktree 一个可启动的应用实例、本地生产级可观测性栈、已连接 Chrome DevTools 的本地浏览器外壳以及让 Codex 直接读取 trace 归档约 5 分钟得到答案而不是花一下午造一个漂亮的 trace 查看器。步骤 4把长轨迹压缩成证明包供评审评审者不需要重放整个会话。一份好的证明包proof packet包含预期结果与受影响的边界关键设计与风险决策实际运行了哪些测试和旅程承载声明的截图、视频、日志、diff 或复现程序已知限制与未证明的行为拟交付制品的身份标识。记住证据多不等于更好只有能改变声明置信度的证据才值得放进证明包。步骤 5制品身份贯穿交付绝不重建发布证明要求同一个不可变制品从验证一路走到切换上线。在权限更高的部署环节重新构建会斩断证据链——你部署的字节不再是此前证据覆盖的字节。Release Integrity 文档 给出了完整路径一次构建 → 记录来源 → 提升同一制品 → 验证运行系统 → 保留回滚。Agent 可以拥有所有可逆阶段而把后果重大的切换审批留给人。RustSec 安全公告案例一行懒提示词变成真实漏洞公告这是整个证明论最生动的一次实战完整记录在 docs/proof/rustsec.md 与 原始文章快照 中。背景intaglio 符号表的状态损坏intaglio是一个 Rust 符号表库内部维护两个索引一个向量把符号映射到字符串一个哈希表把字符串映射回符号。Codex 发现了回卷安全顺序缺陷intern先把字符串推进向量再插入哈希表如果自定义哈希器在第二次写入时 panic且调用方用catch_unwind恢复后继续用表向量里有新字符串、哈希表里没有——两个索引不同步后续插入会复用缺失的符号号返回一个查向量却解析到另一个字符串的符号。这就是符号混淆intern(victim)返回Symbol(0)而get(Symbol(0))解析出attacker。关键声明有明确边界这个案例最值得学习的不是发现漏洞本身而是证据的边界声明复现程序证明了符号混淆但没有证明默认RandomState路径上的内存不安全——因为该失败需要自定义可 panic 的哈希器、插入时 panic、以及恢复后继续使用。声明被精确收窄到证据实际支持的范围这正是证明论要求的。端到端走完全流程Agent 完成了调查报告、复现程序、回滚守卫补丁、5 个符号表变体的回归测试、修复 PR人工评审Ryan随后大幅修改了实现要求独立模块、类型化状态迁移而非布尔值、消耗型终结操作等Agent 修订后重跑全部检查Ryan 批准实现并单独授权Agent 执行合并、点版本发布v1.13.3和提交 RustSec 报告最终产出公开的 [RUSTSEC-2026-0078 公告]见 docs/proof/rustsec.md 中的引用记录。 分工要点Agent 负责调查与被委派的发布流程人类维护者提供实现判断以及合并、发布、披露的权威。同一提示词的其他收获这个懒提示词——你在对仓库做红队安全分析必须对你报告的任何问题证明影响或可利用性——在 Ryan 试过的每个活跃 Artichoke crate 中都至少产出一个有用发现。但注意区分CI 缺依赖、文档偏倚、测试覆盖缺口这些属于维护性发现因为没有安全影响的可复现证据它们不会升级成安全声明。挽具保留着已复现的安全影响与有用维护发现之间的界线。从哪些文档开始读如果你想在 AI Agent 的工作流中落地这套验证方法建议按以下路径阅读证明论主文档docs/proof/README.md安全声明案例docs/proof/rustsec.md发布完整性docs/proof/release-integrity.md仓库评审手册playbooks/repository-review.md挽具评估方法evals/结语不要让模型猜要让它证明Harness Engineering 证明论的本质只有一句话安全感的来源不是 Agent 的自信而是边界上的证据。一个错别字、一次解析器迁移、一次远程升级、一次生产发布需要的证据和权威各不相同——证明的负担应随后果的严重性扩展。把证明影响或可利用性这类硬性验收标准写进环境AI Agent 的产出就会从安全味道的感觉变成工程事实复现程序、测试、修复、发布、公告。这正是 Harness Engineering 让 AI Agent 成果可信的完整闭环。【免费下载链接】harness-engineering Ryan Lopopolo’s anthology, field guide, and agent context bundle for harness engineering项目地址: https://gitcode.com/gh_mirrors/har/harness-engineering创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表