Hermes Agent 的 /goal 跑偏,通常不是命令本身坏了,而是目标写得太像愿望、太少验收标准。正确做法是:先写清楚最终产物、完成条件、禁止动作和检查方式,再用 /subgoal 在运行中补充新要求。
/goal 是 Hermes Agent 用来锁定长期目标的机制,官方在 v0.13 里把它称为让 agent 跨多轮保持目标的能力,v0.14 又加入了 /subgoal,可以给正在运行的目标追加成功条件。它适合“持续推进直到达标”的任务,不适合一句话模糊吩咐。
什么样的 /goal 容易跑偏
- 只写“帮我优化项目”,没有说优化哪一块。
- 只写“修好报错”,没有给复现命令和通过标准。
- 允许它自由大改,但没有限制不要改数据库、配置、依赖。
- 让它边研究边实现,却没有要求先汇报计划。
这类目标会让 Hermes Agent 一直寻找“可能有用”的工作,最后看起来很勤奋,结果偏离你真正要的结果。
更稳的写法
可以把 /goal 写成四段:目标、范围、验收、边界。例如:修复登录页按钮点击无响应;只允许改前端表单和 API 调用层;通过 npm test 和手动登录验证;不要改数据库 schema,不要升级依赖。这样 Hermes Agent 的判断空间更小,跑偏概率会低很多。
如果任务中途发现新条件,不要重新开一轮长任务,直接用 /subgoal 补充,例如“追加条件:移动端 375px 宽度不能出现横向滚动”。这比在聊天里随口提醒更稳定,因为它会进入当前目标的判断条件。
什么时候不要用 /goal
如果只是问一个概念、改一行配置、生成一段文案,普通对话就够了。/goal 适合有明确终点的长任务:修 bug、清理一批文件、完成一次迁移、把测试跑绿。官方仓库地址是 https://github.com/NousResearch/hermes-agent,涉及版本功能时建议以 release 说明为准。