ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

open-code-review 出现 prompt tokens 超过 80% max_tokens 警告怎么办?

open-code-review 出现 prompt tokens 超过 80% max_tokens 警告怎么办? open-code-review 出现 prompt tokens 超过 80% max_tokens 警告怎么办【免费下载链接】open-code-reviewFast, efficient, battle-tested at Alibabas scale. Hybrid architecture code review tool: deterministic pipelines LLM Agent, precise line-level comments, built-in multi-language ruleset (NPE, thread-safety, XSS, SQL injection), OpenAI Anthropic compatible.项目地址: https://gitcode.com/GitHub_Trending/op/open-code-review运行ocr review时你可能会在 stderr 看到这样一条警告[ocr] WARNING: prompt tokens (94000) exceed 80% of max_tokens(200000) for src/big.sql英文文档中的示例带有轮次信息[round 1] for group src/big.sql。它的意思是某个评审单元ocr review里是文件组ocr scan里是单个文件的初始 prompt——由评审规则 diff change-files 列表拼成——在模型还没开始响应之前就已经超过了MAX_TOKENSocr review内置默认200000ocr scan为58888的 80%。这是 open-code-review 在调用 LLM 之前做的快速失败检查超限的组会被直接跳过评审继续跑其余文件运行不会失败但你不会得到被跳过文件的评审评论。这条警告本身不是错误但说明有内容大到 OCR 不敢发请求。下面按「先确认影响面再选对应处置」的顺序处理。先确认哪些文件被跳过了警告会指明是哪个组组以其文件路径为 key单文件组就是文件路径本身。另外两种确认方式JSON 模式用 JSON 格式运行后检查warnings数组被跳过组会以token_threshold_exceeded类警告出现failed(budget)等预算相关状态同理。ocr review --preview花 0 个 token 预跑一遍过滤与分组看哪些文件会被保留、哪些被排除适合在真正发起评审前判断 diff 规模。另外要知道一个容易误解的点MAX_TOKENS只限制提示词输入。模型输出上限由单独的MAX_COMPLETION_TOKENS内置默认16384控制调高max_tokens不会连带放大输出预算它也与限制整次运行总 token 用量的--max-tokens-budget相互独立。处置路径一让超限文件不再进入评审如果超限的是自动生成的文件、锁文件这类不需要 LLM 评审的内容最干净的做法是把它加进项目rules配置的exclude列表见 review-rules{ exclude: [**/*.test.ts, **/generated/**] }user_exclude是过滤链里优先级最高的一道门匹配即排除。验证方式运行ocr review --preview确认该文件不再出现在保留列表中。如果 diff 是因为一次大重构把所有改动堆在一起文档给出的做法是把它拆成更小的 commit对一系列小 commit用--commit sha模式逐个评审而不是一次性走工作区模式全量评审。处置路径二调高提示词上限max_tokens当内容确实需要评审、而你的模型上下文窗口比内置 200000 更大时可以调高上限。两种方式持久保存同时作用于ocr review和ocr scanocr config set max_tokens 400000单次运行临时覆盖不修改已保存配置ocr review --max-tokens 400000 ocr scan --max-tokens 120000优先级规则单次运行的--max-tokens高于已保存的max_tokens两者都没设时使用内置任务模板默认值。临时试验后想恢复内置默认用ocr config unset max_tokens注意ocr scan的模板默认只有58888对 scan 场景临时调高时按上面示例给一个与场景匹配的值即可文档没有规定统一推荐值。边界说明警告在什么位置触发这条警告由调用 LLM之前的 fail-fast 检查发出消息 token 数超过MaxTokens * 80%就跳过该组只记非致命警告stdout 文本或 JSONwarnings。它和另外两道 token 关卡是不同层面排查时不要混淆filterLargeDiffs某个 diff单独超过MAX_TOKENS的 80% 时在分组与分发之前就把它过滤掉——这是针对超大单文件 diff 的前置拦截分组内部的 token 预算enforceGroupTokenBudget一个组合并 diff 超过提示词上限时会被拆回单文件组而不是整体丢弃主循环内的压缩机制工具调用轮次把上下文推到 60%/80% 阈值时触发异步/同步记忆压缩那是评审中途上下文膨胀的防护与本警告初始 prompt 就超限不是同一路径。机制细节见 architecture 的 Token budget guards 一节。验证修复是否生效重跑评审后按以下判断stderr 不再出现prompt tokens (N) exceed 80% of max_tokens警告之前被跳过文件对应的组正常产出评论或你确认它已被exclude正确排除JSON 模式下warnings数组中不再有对应的token_threshold_exceeded条目。如果调高max_tokens后警告仍出现说明该组初始 prompt 依然超过了新阈值的 80%应回到处置路径一拆小 diff 或排除该文件。若开启了遥测对应事件为event.token.threshold.exceeded字段含group.label、tokens、max_tokens、round见 telemetry。参考文档FAQ — Token threshold exceeded警告原文与三条缓解措施Configuration — 每文件提示词上限max_tokens的保存、覆盖与恢复CLI Reference--max-tokens参数说明Architecture三道 token 关卡与压缩机制【免费下载链接】open-code-reviewFast, efficient, battle-tested at Alibabas scale. Hybrid architecture code review tool: deterministic pipelines LLM Agent, precise line-level comments, built-in multi-language ruleset (NPE, thread-safety, XSS, SQL injection), OpenAI Anthropic compatible.项目地址: https://gitcode.com/GitHub_Trending/op/open-code-review创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表