Skip to content

[bug] thinking tokens 不计入 ACP 计量:extractText 跳过 thinking 块,无 usage 上报的会话压缩带盲区 #353

Description

@ranxianglei

来源: #351 #351 分析 thinking 单字符退化问题时发现

现象 / 代码路径

src/messages.tsextractText()(:111-120)只收集 type === "text" 块;assistant 的 thinking 块在入站投影中完全不可见。因此 kernel 侧全部计量(sentTokens、view-recount #289、nudge/compress 带仲裁)都基于纯 text,历史 thinking 体积为零。

影响分层

建议方向(未定,需 owner 拍板)

  1. 入站投影把 thinking 长度并入 core message(带标记或独立字段),让 kernel 计量包含回传体积;或
  2. 估算层单独加一个 thinking 增量(不污染 kernel 语义)。

方案 1 更彻底但触及 kernel 接口;方案 2 改动小但两处口径可能漂移。先记录,待排期。

复现

任何使用 reasoning 模型 + 不回传 usage 的 relay 的长会话:对比 /acp 面板 tokens 与 provider 实际 prompt size,差值 ≈ 累计 thinking 体积。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions