49 lines
2.9 KiB
Markdown
49 lines
2.9 KiB
Markdown
# 阶段 F 第二部分:知识链派发——抽取智能体
|
||
|
||
日期:2026-08-23
|
||
状态:已完成(离线绿 + 真实派发通过)
|
||
上游事实:候选 164 经决策通道采纳(署名 qingse),第 3 章正典落库(5131 字);接受意图 `queue_chapter_extraction`。
|
||
|
||
## 1. 意图
|
||
|
||
抽取智能体接入框架派发(边界合同:智能体框架记模型事件/raw,生产编排记知识草稿与业务回执),替代抽取直调链的生产使用;直调链保留为对照/回退,终态裁决按总 plan 用数据说话。
|
||
|
||
## 2. 设计
|
||
|
||
```text
|
||
生产编排:注册抽取运行 → 读正典章全量正文 + 既有实体名
|
||
↓
|
||
派发抽取智能体(单次派发,探索与产出同一循环):
|
||
输入 = 全量正文(注入,不经工具——工具读取会截断)+ 既有实体名 + 抽取合同
|
||
工具白名单 = read_chapter_text、search_entities(查重与回读核验用)
|
||
产出 = 结构化抽取 JSON(entities/relations/state)
|
||
↓
|
||
机械校验:normalize_extraction(证据必须正文逐字片段)
|
||
失败 → 一次修复重派(只纠证据绑定,不新增条目)→ 仍失败 → salvage 保守收口
|
||
↓
|
||
落库:persist_extraction(muse_knowledge_draft,草稿态)→ 人确认转正(:8766)
|
||
```
|
||
|
||
关键取舍:
|
||
|
||
- 正文注入而非工具读取:`read_chapter_text` 超长截断,证据逐字绑定要求全量正文,注入是唯一可靠路径;工具留给查重探索。
|
||
- 单次派发(非两阶段):抽取产出是结构化 JSON,无长篇碎片化风险;探索与产出同循环。
|
||
- 机械校验与落库全部复用既有可信适配层(`normalize_extraction`/`salvage_extraction`/`persist_extraction`),不新造合同。
|
||
- 修复重派一轮(证据绑定是机械问题,对齐直调链既有语义);仍不合法走 salvage;salvage 失败失败关闭。
|
||
- 证据归属:派发运行 `{run_id}-extractor-v{N}` 记事件/raw(trigger_detail 带 productionRunId),草稿落生产抽取运行。
|
||
|
||
## 3. 改动台账
|
||
|
||
| 文件 | 动作 | 原因 |
|
||
|---|---|---|
|
||
| `.agent/skills/extract-chapter-knowledge/scripts/dispatch_extraction_bridge.py` | 新增 | 抽取任务包装配 + 派发编排(校验/修复/落库/收口) |
|
||
| `.agent/skills/extract-chapter-knowledge/scripts/extract_via_dispatch.py` | 新增 | 派发入口(显式 provider/model,真实调用需授权) |
|
||
| `tests/skills/extract-chapter-knowledge/test_dispatch_extraction_bridge.py` | 新增 | 离线测试(7 项) |
|
||
|
||
## 4. 验证结果
|
||
|
||
- 离线测试 7/7 通过。
|
||
- 真实派发(作品 12 第 3 章,`extract-knowledge-w12-c3-20260823T150511`,catproxy-anthropic/claude-opus-5,medium):
|
||
- v1 派发完成但证据绑定未过 `normalize_extraction` → 桥自动触发 v2 修复重派 → 通过(修复路径首次真实验证)。
|
||
- 18 条实体草稿 + 1 条叙事状态草稿落库(status=pending),看板与经验确认通道 :8766 可见,待人审转正。
|