research
This commit is contained in:
+16
-13
@@ -2,13 +2,13 @@
|
||||
|
||||
## 状态
|
||||
|
||||
- 日期:2026-08-20
|
||||
- 版本:v2(重写)。v1 初稿未覆盖第一轮审视的部分问题;本文新增第 2 节"问题追踪表"并重组章节结构,确保第一轮提出的每一条问题都有对应的落地章节。
|
||||
- 关联文档:[WIP.md](WIP.md)、[CONTEXT.md](CONTEXT.md)、`docs/adr/0001-hidden-revision-pass.md`、`docs/adr/0002-structured-game-knowledge.md`
|
||||
- 日期:2026-08-23
|
||||
- 版本:v2.1。WIP/CONTEXT/ADR 旧文档已删除;思维链回传实验单独记录在 `AI_REASONING_CONTINUATION_RESEARCH.md`。
|
||||
- 关联文档:[AI_REASONING_CONTINUATION_RESEARCH.md](AI_REASONING_CONTINUATION_RESEARCH.md)
|
||||
|
||||
## 实施状态(2026-08-20)
|
||||
|
||||
里程碑全部完成,代码已落地并通过 124 项单元测试(`AiV2.Tests`,见 §12 M7)。
|
||||
里程碑全部完成,代码已落地并通过 149 项单元测试(`AiV2.Tests`,见 §12 M7;启用真实回放诊断时为 151 项)。
|
||||
|
||||
| 里程碑 | 状态 | 备注 |
|
||||
| --- | --- | --- |
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
- `Data/StringHashes.xml` 是随仓库分发的本地 SDK 临时快照(约 3.5MB / 47,860 条),后续应改为可配置路径或只打包需要的 hash 子集。
|
||||
- Corona 结构化知识(`knowledge_units_corona.json`)尚未编写:Corona 当前走 flat 文本(不剥离、不注入结构化条目),验证回退到启发式。
|
||||
- 修订 pass 的展示采用"实时流式 + 修订后整段替换";ADR 0001 的"完全缓冲至验证完成"仍是开放项。
|
||||
- 修订 pass 的展示采用"实时流式 + 修订后整段替换";原隐藏修订决策中的"完全缓冲至验证完成"仍是开放项。
|
||||
- `Fatal` 在“所有机器可读声明块均无法解析”时产生;修订输出为空时保留原分析。
|
||||
- `MissingMachineReadableClaims` 为 Warning,并与其他 Warning/WeakEvidence 一样触发一次隐藏修订;是否保留该策略待 A/B 评估。
|
||||
- 测试工程 `AiV2.Tests` 通过 `ProjectReference` 引用主工程;构建时通过 `AiV2TestsBuilding=true` 跳过主工程的 DLL 移动目标。
|
||||
@@ -44,10 +44,13 @@
|
||||
- 机械分段超过上限时先过滤纯选择/编队事件块,压缩无效才放宽预算。
|
||||
- Corona flat 文本现在也按参战阵营过滤。
|
||||
- `AiV2.Tests` 的真实回放诊断改为默认跳过(设置 `ARR_E2E_REPLAY=1` 启用);UI 状态栏显示推理 token。
|
||||
- 思维链回传实验:主项目不再包含 `reasoning_content` 回传、截断、UI 实验开关或 tool call 历史构造代码,未进入生产管线。
|
||||
- `AiV2.Tests` 仅保留 `OpenCodeGoFakeToolCallE2e` 专用测试:默认跳过,需同时设置 `ARR_AI_E2E=1` 与 `ARR_AI_E2E_TOOL=1`。
|
||||
- 实验结果、推荐方案与数据表格见 `AI_REASONING_CONTINUATION_RESEARCH.md`。
|
||||
|
||||
## 1. 背景与目标
|
||||
|
||||
应用现有 AI 分析流程为"全量日志 + LLM 分段建议 + 分段分析 + 总结",经文档与代码审视,存在四类问题:上下文膨胀(每轮重发全量日志)、验证层可信度(施法者/目标混淆、所有权证据缺失、解析脆弱)、知识层作用域(结构化数据无 mod 维度、提示词与验证知识漂移)、修订机制未落地(ADR 0001)。
|
||||
应用现有 AI 分析流程为"全量日志 + LLM 分段建议 + 分段分析 + 总结",经旧文档与代码审视,存在四类问题:上下文膨胀(每轮重发全量日志)、验证层可信度(施法者/目标混淆、所有权证据缺失、解析脆弱)、知识层作用域(结构化数据无 mod 维度、提示词与验证知识漂移)、修订机制未落地。
|
||||
|
||||
本计划的目标:
|
||||
|
||||
@@ -55,15 +58,15 @@
|
||||
2. 只维护一条分析管线:"短录像 = 只有一个 slice",不保留两个独立模式。
|
||||
3. 上下文预算成为每模型可配置的软上限,并把长期未使用的 `ContextLength` 接进护栏。
|
||||
4. 修正验证层与知识层在本会话中发现的所有问题(见第 2 节追踪表)。
|
||||
5. 落地 ADR 0001 的隐藏修订 pass。
|
||||
5. 落地隐藏修订 pass。
|
||||
|
||||
## 2. 问题追踪表(第一轮审视 + 后续讨论确认)
|
||||
|
||||
下表汇总 2026-08-20 会话对 WIP/文档/代码的审视结论。后续讨论(所有权分层、缓存、预算、统一管线)调整了部分原始结论,表中"处理章节"指向本文的落地位置。
|
||||
下表汇总 2026-08-20 会话对旧文档与代码的审视结论。后续讨论(所有权分层、缓存、预算、统一管线)调整了部分原始结论,表中"处理章节"指向本文的落地位置。
|
||||
|
||||
| # | 问题 | 处理章节 |
|
||||
| --- | --- | --- |
|
||||
| P1 | 结构化单位知识无 mod 维度:`knowledge_units.json` 是全局单例,Corona 盟军数据被基础版替换(如 `AlliedBomberAircraft` vs `AlliedAntiStructureBomberAircraft`),违背 ADR 0002"每 mod 自包含" | §8.1 |
|
||||
| P1 | 结构化单位知识无 mod 维度:`knowledge_units.json` 是全局单例,Corona 盟军数据被基础版替换(如 `AlliedBomberAircraft` vs `AlliedAntiStructureBomberAircraft`),违背"每 mod 自包含"原则 | §8.1 |
|
||||
| P2 | `GetSystemPrompt` 无条件执行旧 `BuildDefaultSystemPrompt`,即使走知识文件也会弹"缺乏苏联/未知地图"MessageBox(副作用) | §8.2 |
|
||||
| P3 | 事实索引把特殊能力的施法者与目标混淆(`0x201/0x232` 的 ObjectId 不一定是施法者),Contradiction 校验可能误报/漏报 | §7.2 |
|
||||
| P4 | 协议(`0x24E 选择协议`)不在验证体系,evidence schema 无法表达无单位能力 | §7.3 |
|
||||
@@ -90,7 +93,7 @@
|
||||
| 回查机制 | 进 v1;允许模型按需请求远处原始区间 |
|
||||
| 缓存 | 稳定内容前置;跨段前缀 = system+摘要+总览;段内复用 = 前缀+slice(修订/回查共用) |
|
||||
| 128K 及以下 | 允许短录像(切片后为 1 个 slice 时自然工作),不承诺长录像质量 |
|
||||
| 修订 pass | 按 ADR 0001 在段内落地,每段最多 1 次 |
|
||||
| 修订 pass | 按隐藏修订方案在段内落地,每段最多 1 次 |
|
||||
|
||||
## 4. 上下文预算策略
|
||||
|
||||
@@ -248,7 +251,7 @@
|
||||
|
||||
- flat 文本按参战阵营过滤非参战阵营章节;结构化渲染只渲染参战阵营(`RenderAsPrompt` 已有 factionNames 参数,flat 文本需要配套切分)。
|
||||
|
||||
### 8.5 用户知识 JSON 加载(WIP 遗留)
|
||||
### 8.5 用户知识 JSON 加载(实施遗留)
|
||||
|
||||
- 落地 `AnotherReplayReader.user_knowledge.json`:按 id 覆盖内置条目,加载顺序:内置 → 用户覆盖。
|
||||
|
||||
@@ -268,12 +271,12 @@
|
||||
- 补充 `protocol|时间|科技名` 类型。
|
||||
- 注明 `move` 证据的验证限制(见 §7.5)。
|
||||
|
||||
## 10. 修订 pass(ADR 0001 落地,P11)
|
||||
## 10. 修订 pass(P11)
|
||||
|
||||
- 段内执行:草稿 + 验证 issue + 相关事实 → 干净修正版;每段最多 1 次。
|
||||
- 修订后仍 `Fatal` → 回退显示原文 + 警告(`Fatal` 条件见 §7.7)。
|
||||
- 修订请求复用段内会话(同一前缀,缓存友好)。
|
||||
- UI:增加"验证器发现并修正 N 个问题"提示;沿用 ADR 0001 的缓冲决策(段内容缓冲至验证/修订完成)。
|
||||
- UI:增加"验证器发现并修正 N 个问题"提示;沿用隐藏修订方案的缓冲决策(段内容缓冲至验证/修订完成)。
|
||||
|
||||
## 11. 设置与 UI
|
||||
|
||||
|
||||
Reference in New Issue
Block a user