tool_output_token_limit 裁每次工具输出进历史,不是 MCP 单工具上限
顶层键,限制单次工具或函数输出写进会话历史的 token。MCP 表里的 output_token_limit 是另一套。调太小会截断,调太大容易把日志整段落进上下文。
测试日志、网页抓取、递归搜索把会话撑爆时,先裁进历史的预算,不要先把窗口开到 1M:
tool_output_token_limit = 8000
这是顶层数字键,写在任何 [table] 之前。一次性试用:
codex -c tool_output_token_limit=8000
官方参考写的是:单次工具或函数输出写进历史的 token 预算。当前表里没有钉死默认值。Issue 里维护者提过大约一万 token;博客里的 16000 不要当现行默认。改完必须新开会话,再用 /status 或实际工具输出核对,不要只看配置已加载。
这不是 [mcp_servers.NAME.tools.TOOL] 下的 output_token_limit。那个只限制某一个 MCP 工具;顶层键对 shell、函数调用和工具输出进历史统一生效。两边可以同时设,不要抄混。
调太小,模型会拿到截断输出,表现为漏看测试失败、重复跑同一条命令。调太大,又会把整份构建日志塞进后续每一轮。定向修补用更紧的值;探索代码再临时放大。源头少噪音仍然更有效:测试加 -q,完整套件交给子代理。