43 lines
1.8 KiB
Markdown
43 lines
1.8 KiB
Markdown
# 记忆链路修复前基线(2026-09-09)
|
|||
|
|
|
||
|
|
本文件记录修复开始前的真实数据状态,用于修复后的前后对比。全部数据来自本地 `jr` 库只读查询。
|
||
|
|
|
||
|
|
## 一、Outbox 事件真实分布
|
||
|
|
|
||
|
|
| event_type | status | count |
|
||
|
|
|---|---|---|
|
||
|
|
| `agent.run_requested` | pending | 262 |
|
||
|
|
| `agent.run_requested` | failed | 1 |
|
||
|
|
| `agent.run_requested` | dead | 1 |
|
||
|
|
|
||
|
|
**关键事实:不存在任何 `memory.extraction_requested` 事件。** 当前没有任何业务 Agent 注册
|
||
|
|
(底座只提供框架与工厂,业务组员负责接入),`POST /api/v1/agent-runs` 对未知 `agent_type`
|
||
|
|
返回 404,运行从未进入 `complete_run()`,因此记忆事件从未产生。
|
||
|
|
|
||
|
|
262 条 pending 的 `agent.run_requested` 说明 Worker 未常驻运行;记忆链路的验收必须先启动
|
||
|
|
`python -m app.worker`,否则事件不会被任何消费者领取。
|
||
|
|
|
||
|
|
## 二、记忆相关表状态
|
||
|
|
|
||
|
|
| 表 / 对象 | 状态 |
|
||
|
|
|---|---|
|
||
|
|
| `memory_unit` | 0 行 |
|
||
|
|
| `memory_evidence` | 0 行 |
|
||
|
|
| `memory_conflict` | 0 行 |
|
||
|
|
| `outbox_delivery` | 0 行 |
|
||
|
|
| `memory_unit.active_memory_key` 生成列 | 不存在 |
|
||
|
|
|
||
|
|
## 三、结论与修复验收判据
|
||
|
|
|
||
|
|
链条上的三处断点(Worker 未注册记忆消费、事件 payload 不含正文而 worker 期望 `content`、
|
||
|
|
抽取语义与幂等错误)属于**静态缺陷**,在业务 Agent 接入前不会通过现有数据自然暴露。
|
||
|
|
因此记忆链路验收不能依赖生产数据,必须使用显式端到端探针:
|
||
|
|
|
||
|
|
```text
|
||
|
|
注册探针 Agent → POST /api/v1/agent-runs → Worker 执行 → complete_run()
|
||
|
|
→ 写入 memory.extraction_requested → Worker 消费 → memory_unit 非空
|
||
|
|
→ 同一事件重复消费不产生第二条记忆
|
||
|
|
```
|
||
|
|
|
||
|
|
判据:修复后 `memory_unit` 行数由 0 变为非 0,且重复消费同一 `event_id` 不增加行数。
|