Harness,让 Agent 跑长程任务
核心问题
Coding Agent 处理目标明确、规模可控的任务很成熟,但面对上千文件的批量迁移任务,会遇到上下文耗尽、中断无法恢复、规模放大后行为不可控等问题。
Harness Engineering 的核心设计
任务拆解
把大任务按「可独立执行」的原则拆成子任务。每个子任务有自己的输入、输出、验证标准。
并行执行
多个子任务同时执行,时间成本从串行的 n×T 变成并行的 T。
File As Progress
把每个任务的中间状态写入文件。下次启动时,agent 先读取这些文件,恢复之前的进度,然后继续执行。
多层重试
区分暂时错误和永久错误,采取不同策略。暂时错误(网络问题)重试,永久错误(逻辑问题)记录并继续。
一个关键指标
经过良好设计的 Harness,可以让 Agent 连续运行 21 小时不需要人工干预。中间遇到问题自动重试,失败了记录日志继续前进。
这不是魔法,是工程。