一次会话的回显不是一行结果,而是「一轮指令 → 若干次工具调用 → 一轮总结」。看得懂这个结构,才能判断问题出在哪一层。
典型结构
- 你发出一句话。宿主把它和上下文一起发给模型。
- 模型决定要先调工具(例如读目录),返回一个工具调用请求,而不是最终答案。
- 宿主执行工具,把结果作为新消息追加回上下文,再发给模型。
- 模型拿到工具结果,可能再调一次工具,也可能给出最终回复。
- 最终回复落到界面上,整个循环结束。
关键点:**每多一次工具调用,就多一次完整的模型往返**。所以「等很久」通常是往返次数多,不一定是网速慢。
怎么把它记成一手材料
- 把终端/界面里的完整输出原样复制进一个文本文件,不要只留最后一句话。
- 记下:开始时间、结束时间、工具调用次数、有没有重试。
- 如果同一任务换个说法再跑一次,把两次都留下——对比两次的工具调用次数,比对比总耗时更有信息量。
别只看总耗时。同一任务两次跑,耗时差一倍但工具调用次数一样,那是网络或服务端波动;工具调用次数从2次变7次,那是指令写法的问题,改指令比换网络有用。
什么时候需要它
三个场景:报bug时证明现象可复现、调优时判断是模型还是环境的问题、给自己留一份「当时能跑」的证据。第三条在版本升级后特别有用——升完跑不动了,回头翻这份记录就知道以前是怎么写的。