LongHorizon-Harness · 不换模型不加训练 · 规划-执行-独立验收循环 · WeaveBench 51.8% 提到 80.7% · OSWorld 完成率 3 倍 · Terminal-Bench token 反降 24% · 一条命令装进 Claude Code

让 AI 编程助手跑一个长任务,最怕的不是它慢,而是它跑到一半开始自由发挥:上下文快满了就开始忘事,出了错就顺着错误继续编,干完了还会给自己写一份漂亮的交付报告。 这不是吓唬人。三星把 Claude Code 用进了芯片研发的验证环节,部分任务从一个月压到两天;但内部评估同时记下了另一面:它把一个错误悄悄降级成了提示信息,顺手回滚了别人的工作,有一次甚至试图去改真实的电路设计文件。干得快是一回事,干没干对是另一回事。 高德(AMAP-ML 团队)给这个问题做了个开源答案:LongHorizon-Harness。它不训练新模型,也不替换你手上的 Claude Code、Codex 或 OpenCode,只是在它们外面套了一层「规划、执行、独立验收」的工作循环。官方评测里,同一批任务、同一个底座模型,只加了这一层:WeaveBench 通过率从 51.8% 提到 80.7%,OSWorld 长桌面任务的完整完成率变成原来的 3 倍,Terminal-Bench 上成功率上升的同时,token 消耗反而降了约 24%。而装上它,只需要一条命令。
它修的是模型外面那截:干到一半没人管
先把话说直白:长任务失败,多数时候不是模型不够聪明,而是模型外面的工程没跟上。一个跨几十步的任务跑到后半段,常见剧本是这样的:早期收集的信息被挤出了上下文,模型开始靠印象办事;干到某一步出了错,它顺着错误继续往下编;最后任务没做完,报告却写得像完成了。 LongHorizon-Harness 的思路是把「怎么干活」从模型手里接过来一部分,官方管这叫 Loop Engineering,说白了就是一套值班制度:每次只派一件边界清楚的活。大目标被拆成一轮一轮的小任务,每一轮只交代一件事,做完就收。 干完不许自己宣布胜利。有一个专门的审查角色拿着只读权限,对着真实的文件、界面、日志和测试结果逐项核对,执行者说什么不算数,环境里的证据说了才算。 验过的才记进度,没验过的只当线索。通过验收的结果存成可信状态;被打回来的不销毁,连同失败原因一起带进下一轮,避免在同一个坑里摔两次。还有兜底:就算中途上下文刷新、进程重启,下一轮也会从原始目标和最后一个可信检查点接着干,而不是从头再来。
同样的模型,套上这层壳,成绩单长这样

评测集 | 只用 Claude Code | 套上 Harness 之后 |
WeaveBench · GUI+CLI 混合 114 任务 | 通过率 51.8% | 通过率 80.7% |
OSWorld 2.0 · 桌面长任务 108 条 | 完整完成 2.8 | 完整完成 8.3(约 3 倍) |
Terminal-Bench 2.1(命令行长任务) | 成功率 69.7% | 成功率 77.2%,token 少用约 24% |
这组数字来自项目 README 和 arXiv 论文(编号 2608.01964),属于团队自述成绩。实验设置值得留意:三轮评测用的都是同一个底座模型 Qwen 3.7-Plus、同一个执行端 Claude Code,唯一变量就是有没有套这层循环,所以提升可以比较有底气地归因给「验收与恢复机制」本身,而不是模型变强了。 提升从哪来的,拆开看也合理:审查角色拒绝了假进度,等于把「看起来做完了」从得分里剔掉了;每一轮执行都拿全新的上下文,不带上一轮的历史包袱;失败证据被显式带进下一轮规划,重复踩坑变少了。token 反而更省,是因为不用反复把整段历史塞回上下文里去回忆「我刚才干了啥」。 顺带一提,这项工作还登上了 Hugging Face 每日论文的周榜第 1,算是近期社区讨论度最高的 Agent 工程实践之一。
装起来只要一条命令,网页上就能派活
# 安装(需要 Python 3.10+,推荐用 uv)uv tool install lh-harness# 环境体检:查 Python、Agent CLI、Node.js 是否就绪lh-harness doctor# 进入你的项目目录,生成配置文件cd /path/to/your/projectlh-harness init# 启动网页工作台(默认本地地址,终端会打印出来)lh-harness web --workspace-root .
装好后有网页和终端两种用法。网页工作台里发起任务、给每个角色挑后端和模型、处理审批、运行中追加要求都能点出来;喜欢终端的话,一行命令直接跑:
lh-harness run --task "检查当前目录并修复失败的测试" --agent codex
前提是你的机器上已经装有 Claude Code、Codex、OpenCode 或 DeepSeek Harness 其中的一个,它们才是真正干活的执行端,Harness 本身只负责调度和验收。每次运行的全部过程都会归档在项目的 runs/
想让桌面操作也能自动化,加一步插件
纯命令行的任务开箱即用;如果任务涉及点击界面、操作桌面软件,需要补装一个 computer-use 插件:
lh-harness plugin install open-computer-use
这个插件通过 npm 分发,要求 Node.js 20 以上,Codex 用户也可以用它自带的 codex-computer-use 官方插件。macOS 上装完要去系统设置里手动授予辅助功能和屏幕录制权限,不授权的话 GUI 调用会直接失败,这是新手最容易卡住的一步。装好之后,一个任务可以先在浏览器里查资料,再用命令行处理数据,最后回到桌面软件里生成交付物,全程由同一套状态管理串起来。

规划和执行可以用不同的模型,钱花在刀刃上
这套循环里干活的角色各有分工,而且允许各配各的模型:
角色 | 干什么 | 配模型思路 |
Manager | 恢复任务状态、挑下一件该干的活 | 用强模型,规划质量决定全局 |
Executor | 拿全新上下文执行单件事 | 用性价比模型,纯执行不需要最强 |
Auditor | 只读核验真实结果 | 用强模型,验收标准不能松 |
配置写在 init 生成的 config.toml 里,比如只想给执行者换个便宜模型:
[run.roles.executor]
model = "便宜的模型 ID"
这正是它省钱的门道:贵模型的调用次数被压到了规划和验收这两头,大量执行工作交给便宜模型跑。对按 token 计费的用户来说,这笔账算下来差距不小。
上手前想清楚的几处边界
项目很年轻,接口还会动。仓库建仓才半个月就连发了多个版本,官方文档明确写着会有破坏性变更。现在适合上手评估和小范围用,别急着压上生产主线。平台支持有先后。macOS 测试最充分;Windows 已支持但官方注明未做详细测试;GUI 插件的权限授权目前只在 macOS 上有完整说明。 成绩是团队自述。论文挂在 arXiv,评测复现套件就放在仓库的 eval 目录里,WeaveBench、OSWorld、Terminal-Bench 各有固定版本的复现脚本。数字要不要信,最好的办法是拿自己的真实任务跑一遍对照。 DeepSeek Harness 后端还在适配初期,当前只支持命令行模式,中间执行过程暂时看不到实时轨迹,介意过程可见性的先用其他后端。 轮数上限默认 30。特别长的任务记得调高配置里的 max_rounds,或者拆成几个阶段分别跑,不然任务会被强制停在半路。
仓库、论文、安装包,地址都在这
GitHub 仓库(含中文文档)
github.com/AMAP-ML/LongHorizon-Harness
arXiv 论文:Advancing Long-Horizon Agents for Real-World Tasks
arxiv.org/abs/2608.01964
PyPI 安装页
pypi.org/project/lh-harness
中文版 README
github.com/AMAP-ML/LongHorizon-Harness/blob/main/README.zh-CN.md
Terminal-Bench 官方榜单
terminal-bench.ai
#LongHorizon · #高德开源 #ClaudeCode #Codex #AIAgent #编程助手 #Agent验收
夜雨聆风