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

Natural-Language Agent Harnesses 论文笔记

背景

Agent 系统的性能越来越依赖 Harness,但这些逻辑通常藏在代码里、框架默认设置里,或者特定运行时的各种约定里。结果就是很难把一个 Harness 移植到另一个系统、拿来比较,或者系统性地研究改进

作者提出把 Harness 的高层控制逻辑从代码中抽出来,用自然语言写成一个可编辑、可移植的文档,叫 Natural-Language Agent Harnesses (NLAH)。然后设计一个共享的运行时 Intelligent Harness Runtime (IHR),让 LLM 直接读懂这个自然语言描述,并按照里面的规则去执行任务

方法

image-20260406190008752

本文认为 Harness 是管理任务族的多个模型或智能体的一个模式层,其指定:控制(如何分解和安排工作);契约(必须生产哪些工件、满足哪些条件、何时停止运行);说明(每个步骤和分支坚持的内容)

(1) NLAH

与 OpenAI 的报告一样,NLAH 是有明确结构的自然语言文档,通常放在类似 harness-skill/SKILL.md 的文件里。具体而言,其包含以下部分:

  • Contracts:定义输入输出格式、验证规则、停止条件、重试次数。比如 "必须输出有效的 Python 代码文件 solution.py,否则重新生成"

  • Roles:给不同子代理分配职责和 prompt,比如 Planner 负责出计划,Solver 负责写代码,Verifier 负责跑测试,Debugger 负责修复

  • Stage Structure:描述工作流拓扑,比如 "先 PLAN → 再 EXECUTE → 然后 VERIFY → 失败就进入 REPAIR,最多重试 3 次"

  • Adapters/Scripts:命名一些确定性的钩子,比如跑测试的脚本、解析输出的工具

  • State Semantics:说明状态怎么持久化(推荐用文件),比如通过路径重新打开 artifact

  • Failure Taxonomy:给常见失败起名字并定义处理方式,比如 "test_failure" 就跳到 REPAIR 阶段,"tool_error" 就重试一次

(2) IHR

具体而言,IHR 是个共享运行时,里面有个 "in-loop LLM" 负责不停解读 NLAH、当前状态和一个叫 Runtime Charter(运行时宪章)的共享规则

  • 它把任务拆成父子代理:父代理轻量级,只管调度;子代理干实际活

  • 状态用文件持久化,放在固定路径下,便于重启和审计

  • 每次行动前都会检查 contracts,失败就按 taxonomy 处理

  • 关键是把运行时通用规则 和 具体任务 harness分开,避免污染

实验

image-20260406214352031

image-20260406214735259

可以看到 Harness 显著改变了行为(工具调用、LLM 调用、运行时间),但 Performance 变化不大;此外,不是所有模块都有用,有些模块(如 verifier)因为 overhead,在小样本上反而没明显提升甚至略降

总结

这篇工作更像是一次显式化 Harness 的初步探索,利用自然语言形态的 Harness 可以增加可解释性和可迁移能力,让 Harness 成功抽象出来。但在小样本实验下,NLAH 虽然显著影响了智能体的运行逻辑,成功率并无显著提升。由于预算有限,作者说后续会在大规模实验来继续探究

http://www.jsqmd.com/news/598904/

相关文章:

  • 开源模组加载器SMAPI全攻略:从新手配置到冲突解决的进阶指南
  • STM32F0实战:基于HAL库开发【4.5】
  • Oracle多租户架构
  • SpringBoot4.X: 彻底消灭 NullPointerException
  • 9篇8章2节:MIMIC 数据库的 CITI 注册与课程选择(2026年版)
  • 实战指南:基于快马平台构建带第三方登录的tk网站登录页
  • 前端 SSE(Server-Sent Events)实现详解:从原理到前端 AI 对话应用
  • WaveTools重构鸣潮游戏体验:突破性能瓶颈的开源解决方案
  • AI率80%和40%降到20%,难度差了多少?
  • 【React】setState 触发渲染的流程
  • 基于STM32的‘水位检测自动控制系统‘:支持超声波模块、DS18B20传感器,包含原理图、P...
  • 基于液压控制的冲床自动送料机的设计【说明书+CAD+外文翻译】
  • Math.js 使用教程
  • 五相电机双闭环矢量控制模型:原理说明、仿真波形及完整版Simulink模型
  • Windows下5种端口连通性测试方法实测对比(附详细命令)
  • Ostrakon-VL-8B多模态运维监控实战:智能日志分析与故障预警
  • e1547:重新定义e621浏览体验的现代化客户端解决方案
  • Golang笔记1-变量与类型
  • 3步优化鸣潮游戏体验:面向全层级玩家的WaveTools工具箱使用指南
  • VI、 UI 和 UX 设计区别,详细介绍
  • # 发散创新:基于Python与OpenCV的手势识别系统实战详解在人工智能快速发
  • 终极指南:使用payload-dumper-go快速提取Android OTA更新包
  • 【VBA】【EXCEL】分类汇总
  • 篡改猴Tampermonkey失效解决方案
  • 单目相机实战:用OpenCV的solvePnP实现物体位姿估计(附Python代码)
  • C++ STL 核心:string 从入门到精通(面试+源码+OJ实战)
  • 100个服装款的PPT商品详情页,我用这三步1分钟搞定
  • 常见网络连接问题分类
  • 基于非对称纳什谈判理论的微网电能共享运行优化策略:合作博弈与P2P交易完美复现的完美电网技术文献实践
  • 2026年二手化工设备二手制药设备厂家最新推荐:二手蒸发器回收、二手离心机回收、二手干燥机回收、二手混合机回收、二手反应釜回收厂家选择指南 - 海棠依旧大