设计决策: 工单推荐的 system 角色会破坏现有 CE-1 修复——buildOpenAICompatibleMessages 会过滤所有 role === 'system' 的消息,只保留 systemPrompt 构建的那一条,用 system 角色摘要会被丢弃导致压缩无效。assistant 角色既不会被过滤,又语义中立(摘要是 AI 生成的总结)。
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
问题类型
缺陷 / 高 / Agent 引擎
文件位置
electron/harness/agent-loop/engine.ts问题描述
上下文压缩时,将历史消息摘要作为 user 消息注入:
问题:
影响
建议修复
方案 A(推荐):注入为 system 角色
方案 B:保持原角色顺序,仅替换内容
方案 A 更清晰,推荐采用。
修复说明
文件:
electron/harness/agent-loop/engine.ts修复: compressMessages 改用 assistant 角色注入摘要。
设计决策: 工单推荐的 system 角色会破坏现有 CE-1 修复——
buildOpenAICompatibleMessages会过滤所有role === 'system'的消息,只保留 systemPrompt 构建的那一条,用 system 角色摘要会被丢弃导致压缩无效。assistant 角色既不会被过滤,又语义中立(摘要是 AI 生成的总结)。验证:
tsc --noEmit类型检查通过。