很多人不知道该怎么用好 Agent 的 /goal 功能,也就是说给 Agent 一个目标,让它长时间运行,直到目标完成为止。
其实没你想的那么复杂,注意几个点:
1. 你的目标是什么
2. 如何验证结果
3. 停止条件
比如说我这两天做的一个性能优化的任务,Fable 5 帮我把视频转录性能优化了2倍多(图2),提示词很简单(图1):
> /goal 帮我优化当前 cli 的转录大视频的性能,在遇到像这样大体积的视频时,需要优化转录性能,请以 Moss 模型测试这个视频(英文为主,多语言)转录,建立基准,然后分析性能瓶颈,尝试优化,直到你觉得已经没有优化空间了。注意你的主要任务是分析、编排和验证,具体任务尽可能交给 subagent(Opus5)去执行
首先用 /goal 表示这是一个需要长时间执行的任务,需要反复执行,不能运行一会就结束了。
然后给它一个视频让它先自己跑一遍转录,记录一下关键数据,建立基准。
基于转录时收集的数据,Agent 自己可以去分析原因,去自己优化,优化完成后再去跑一遍,记录数据,对照前面的基准看是更好了还是更坏了。
结束条件是它自己觉得已经没有优化空间了就结束。之所以我没给它一个具体指标,是因为我也不知道能优化多少,如果指标太容易达到,它一轮可能就结束了;如果指标太难超出物理极限也没意义,反而可能会出现为了优化去做一些极端的事情。
最后一句让它开subagent执行子任务是因为 Fable 5 太贵,全程 Fable 5 用不了多久就要额度不够了,加了这句就耐用多了,而且质量也挺好。
---
还有些时候,想到一个新的技术方案,但并不知道这方案是不是有效,那也可以让它开个worktree,去验证一下是不是靠谱,看数据是更好还是更坏,如果没提升就没必要做了。(参考图3)
点击图片查看原图
点击图片查看原图
点击图片查看原图