代理停下来的时候,如果记录里只有一句已完成,第二天没人知道它是真做完了,还是步数到了,或是工具报了错。这份教程教你给每一次工具调用留下停止原因,并且只用固定的几个词。

先放在手边的材料

  • 先定五个停止词:做完、需要人看、工具报错、步数到顶、拒绝执行。不要让模型现编一个理由。
  • 每一次调用至少留下工具名、参数摘要、返回摘要、停止词。缺一栏就还不能复盘。
  • 停止词由你的程序写入,不从模型的散文里摘。模型说做完了,但程序没有写入做完,这条就不算做完。

这三条里最容易漏的是:停止词由你的程序写入,不从模型的散文里摘。模型说做完了,但程序没有写入做完,这条就不算做完。

做之前把这三句留在手边:先定五个停止词:做完、需要人看、工具报错、步数到顶、拒绝执行。不要让模型现编一个理由。每一次调用至少留下工具名、参数摘要、返回摘要、停止词。缺一栏就还不能复盘。停止词由你的程序写入,不从模型的散文里摘。模型说做完了,但程序没有写入做完,这条就不算做完。

操作就这四步

列停止词。在记录表的表头写下五个词,旁边各给一句人话解释,避免两个人理解不一样。这一步要留下的是:五个词和解释。这一项没写上,先不要做下一步。

包住调用。工具返回之后,程序立刻写停止词。报错就写工具报错,不要先让模型把错润色掉。这一步要留下的是:停止词来自程序。这一项没写上,先不要做下一步。

截断摘要。参数和返回各留短摘要,长文另存。摘要里保留能对上的编号,不保留整段闲聊。这一步要留下的是:参数摘要和返回摘要。这一项没写上,先不要做下一步。

对一下。抽三条看:模型口头说的状态,和程序写的停止词是不是同一个。不是就以程序为准。这一步要留下的是:口头和程序不一致的例子。这一项没写上,先不要做下一步。

四步都做完时,记录里应同时有:五个词和解释、停止词来自程序、参数摘要和返回摘要、口头和程序不一致的例子。少任何一项,先补记,再往下对照。

记录表怎么填

这一步的情况 说明什么 要改的地方
只写了已完成 看不出是做完还是步数到顶 改成五个停止词之一
理由是模型编的 复盘时无法和日志对上 改为程序写入
返回全文塞进格子 后面的人读不到重点 格子里留摘要,全文另存
报错被写成暂时没有 下次会当成没这回事 停止词写工具报错,原文另附

表里这四种情况,要改的地方依次是:改成五个停止词之一、改为程序写入、格子里留摘要,全文另存、停止词写工具报错,原文另附。

做歪时先看这两处

五个词后来又加了同义词,统计时同一件事被拆成两行。

只在最后写一个停止词,中间几次调用没有自己的词。

收工前对一下

任意一次调用都能看到工具名、两句摘要,以及五个停止词里的一个,并且这个词是程序写的。

这篇只做这一件:Agent教程:一次工具调用记下停止原因。顺序是列停止词、包住调用、截断摘要、对一下。题、口径和工具不要在同一次里一起改。

留下的记录要让另一个人打得开。打不开,就不算已经留下,这次也不能当成做完。

你下次看一条代理记录,先找停止词;找不到五个词之一,就先把这次补记完再谈效果。

常见问题 FAQ

为什么不用模型自己说的完成?

模型常在工具没返回时也说完成。停止词要和程序实际看到的返回绑在一起。

步数到顶算失败吗?

它是一种停止,不是自动等于失败。失败要另看这道题的验收,不要混在一个词里。

摘要留多长?

留得住编号和结果方向即可。全文放在附件,格子里不要贴整段返回。

同义词能不能用?

不能。需要人确认和需要人工复核如果同时存在,统计就会拆开。先合并成一个词。

中间步骤也要写吗?

要。只在结尾写一个词,就看不到是哪一次调用把路带走的。