简要总结
Transcript Hygiene
这页说明书在讲一个“清洁工”的故事。这个清洁工会在我们的小助手(模型)开始工作前,先帮我们检查一下“对话记录本”(Transcript)。它会按照不同小助手(Provider)的喜好,把记录本整理得干干净净,这样小助手工作时就不会因为记录本太乱而生气啦。比如,它会修好坏掉的玩具(工具调用),把太大的图片变小,还会给一些特殊的对话贴上小标签。
如果你发现小助手工作时出错了,或者你想知道你的对话记录是怎么被整理的,就可以看看这一页。
五岁小孩版解释
想象一下,你有一个记录你和朋友聊天的本子。在你把这个本子拿给一个新朋友看之前,你需要先按照这个新朋友的阅读习惯,把本子整理一下。比如,有的朋友不喜欢看到涂改,有的朋友要求必须一页是你说的,下一页是朋友说的。这个整理的过程,就叫做“Transcript Hygiene”(对话记录清洁)。
这个清洁工作有几个固定的规矩,对所有人都一样:
- 整理大图片:如果本子里贴了太大的照片,清洁工会把它缩小一点。这样,新朋友(模型)在看的时候就不会因为照片太大而看不清楚了。这个最大尺寸可以通过一个叫
agents.defaults.imageMaxDimensionPx的设置来调整,默认是1200。 - 扔掉坏掉的玩具:如果本子里记录着“小助手说要玩一个玩具,但没说怎么玩”,清洁工就会把这条没用的记录扔掉。这样新朋友就不会被搞糊涂了。
- 给内部消息贴标签:有时候,一个小助手会把一句话传给另一个小助手。清洁工会给这种内部传话贴上一个小标签,写上
provenance.kind = "inter_session",并且在前面加上[Inter-session message]的标记。这样,收到消息的小助手就知道,这句话不是外面的人说的,而是另一个小助手传来的。
但是,不同的新朋友(不同的服务商)有不同的怪脾气。所以清洁工在整理时,会看看你要把本子给谁看(根据 provider, modelApi, modelId 来决定),然后用不同的方法整理:
- 给 OpenAI 或 OpenAI Codex 看:清洁工只做一件事,就是把大图片变小。其他的东西基本都不动。
- 给 Google(比如 Gemini)看:清洁工要做很多事!
- 把“玩具”的编号(
tool call id)改成只包含字母和数字。 - 检查“玩玩具”和“玩具结果”是不是配对了,如果没配对,就帮它们修好。
- 检查对话顺序,必须是“你说一句,我说一句”这样交替的。如果本子第一句就是小助手说的,清洁工会在最前面加一句很小的话,让顺序变正确。
- 对于一种叫 Antigravity Claude 的小助手,还会整理它的“思考签名”。
- 把“玩具”的编号(
- 给 Anthropic 或 Minimax 看:清洁工主要做两件事:
- 修好“玩玩具”和“玩具结果”的配对。
- 检查对话,如果发现连着两页都是“你”说的,就把它们合并成一页,保证“你说一句,我说一句”的顺序。
- 给 Mistral 看:清洁工主要做一件事,就是把“玩具”的编号(
tool call id)改成严格的9位字母数字组合。 - 给 OpenRouter Gemini 看:清洁工会清理一种叫
thought_signature的东西,只留下长得像密码(base64)的部分。 - 给其他所有小助手看:清洁工只做一件事,就是把大图片变小。
要小心的事情: 这些清洁工作只是在电脑内存里进行的,不会真的去修改你保存在硬盘上的那个原始记录本文件。但是,如果你的原始记录本文件本身格式就坏了,系统在打开它之前,会先尝试修理一下这个坏掉的文件。修理时,会把修不好的行扔掉。原来的坏文件会被保存一个备份,以防万一。
在很久以前(2026年1月22日之前),清洁工的工作方式更复杂,有时候反而会出问题。现在的新方法把所有清洁工作都集中在一起,并且让 OpenAI 那边尽量少改动,这样就更稳定了。