背景
本次子 agent 审计结论:MA 已有一条相对完整的 active context -> request 链路,但真实 session 路径和 mock 单测路径仍有差异。最需要补齐的是:真实 session-backed 的工具协议回归,以及压缩边界在 tool-heavy 场景下的稳定性。
这个 issue 不是重做 ContextManager,而是把“上下文维护能力是否真的稳定”变成可验证目标,避免后续只看单测绿就误判真实可用。
当前证据
- system / 环境 /
AGENT.md 注入:src/agent.ts:576、src/agent.ts:618、src/agent/memdir.ts:45
- active context 请求入口:
src/agent.ts:700、src/agent.ts:941
- active context 构造:
src/agent/context-manager.ts:357、src/agent/context-manager.ts:546
- tool_call/tool_result 半组保护:
src/agent/context-manager.ts:734
- compact 主循环与 fallback:
src/agent.ts:741
- DeepSeek v4 flash/pro context registry:
src/provider/capabilities.ts:16
- 已读相关测试:context/codec/stream patch、messages-integrity、AGENT.md loader 均通过;但未证明真实 L2/L3 session-backed e2e 稳定。
目标
把 MA 上下文维护能力补成真实回归 gate:
- 真实 session-backed 请求里,active context 是 provider request 的主来源,而不是 mock 内存路径的偶然结果。
- tool_call/tool_result 在真实
.index.jsonl/.context.json/.pool.jsonl 存在时仍不拆组、不产生 orphan tool。
- compact 在 tool-heavy / 大并行工具组场景下不会反复 reject、不会破坏 provider schema。
- benchmark 必须能区分 unit/dry-run/真实 MA adapter/真实 judge,不能再把“测试全绿”误报成“真实体验稳定”。
范围
P1:session-backed tool-heavy request 回归
- 构造真实 session 目录和 sidecar 文件,不只用内存 mock。
- 覆盖 Qwen / DeepSeek OpenAI-compatible codec 下的 tool_call/tool_result 配对。
- 验证 request 中仍保留必要 user message、tool result 文本化证据、latest user fallback。
- 验证 raw provider message 不出现 orphan tool 或未回填 tool_calls。
P2:compact candidate tool-group aware
- 审计
COMPACT_BATCH_SIZE=4 是否会切到大并行 tool group 中间。
- 如果会导致反复 reject,compact candidate 选择必须扩展到完整 tool group 或跳过该组。
- 保留现有
applyPatch() 半组拒绝保护,不用绕开协议保护。
P2:真实回归 gate
- 将
L2-037、L2-038、L2-041 这类长上下文 / 修正覆盖 / capability 任务纳入真实 MA adapter gate。
- 报告必须明确四类结果:unit、dry-run、real MA、real judge。
- runner 输出要能定位失败发生在 context 注入、compact、provider codec、tool protocol 还是 judge 质量。
非目标
验收标准
建议验证命令
npm run build
npm test
npm run benchmark:dry
npx tsx --test test/benchmark/runner/__tests__/*.test.ts
npm run benchmark -- --level L2 --task L2-037 --task L2-038 --task L2-041 --adapter test/benchmark/adapters/ma.yaml --runs 1
关联
背景
本次子 agent 审计结论:MA 已有一条相对完整的
active context -> request链路,但真实 session 路径和 mock 单测路径仍有差异。最需要补齐的是:真实 session-backed 的工具协议回归,以及压缩边界在 tool-heavy 场景下的稳定性。这个 issue 不是重做 ContextManager,而是把“上下文维护能力是否真的稳定”变成可验证目标,避免后续只看单测绿就误判真实可用。
当前证据
AGENT.md注入:src/agent.ts:576、src/agent.ts:618、src/agent/memdir.ts:45src/agent.ts:700、src/agent.ts:941src/agent/context-manager.ts:357、src/agent/context-manager.ts:546src/agent/context-manager.ts:734src/agent.ts:741src/provider/capabilities.ts:16目标
把 MA 上下文维护能力补成真实回归 gate:
.index.jsonl/.context.json/.pool.jsonl存在时仍不拆组、不产生 orphan tool。范围
P1:session-backed tool-heavy request 回归
P2:compact candidate tool-group aware
COMPACT_BATCH_SIZE=4是否会切到大并行 tool group 中间。applyPatch()半组拒绝保护,不用绕开协议保护。P2:真实回归 gate
L2-037、L2-038、L2-041这类长上下文 / 修正覆盖 / capability 任务纳入真实 MA adapter gate。非目标
验收标准
npm run build、npm test、benchmark dry-run、目标 L2 real run 均有记录。建议验证命令
关联