Commit 4b6c69fe3da1d82126897b3834cf8af60bf00098
1 parent
8c54cffa
docs(32): 补「解决了什么/没解决什么」对照表
用户追问「这个方案能解决什么问题」,发现文档原来把这个信息拆在§三要点和§四 风险里,没有对照着讲清楚。补一张表:撞车丢请求/卡死不可见两条真解决了, agent-creator 真的坏了/主动通知人/另外两处同构缺口/hire 接口异步体验这几条 明确没解决——避免看完方案高估它的覆盖范围。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Showing
1 changed file
with
15 additions
and
0 deletions
docs/todo/system-design/32-hire-body-fill-reliability.md
| ... | ... | @@ -134,6 +134,21 @@ if (existing?.protocol?.isConnected) { |
| 134 | 134 | 4. **不做**:不做「保证自动跑到底」——这跟 30 号文档 §三的结论一致,全系统没有一处做这个 |
| 135 | 135 | 保证,这里也不该单独破例发明一套。目标只是把"静默卡死"变成"卡死了但看得见"。 |
| 136 | 136 | |
| 137 | +### 3.1 解决了什么 / 没解决什么(对照表,别读完方案又高估了它) | |
| 138 | + | |
| 139 | +| | 解决了 | 没解决 | | |
| 140 | +|---|---|---| | |
| 141 | +| **撞车丢请求** | ✅ 加了重试,绝大多数"招聘间隔太近撞车"场景自愈,不需要人工 | —— | | |
| 142 | +| **卡死后没人知道** | ✅ 从一行 console.error 变成可查询的持久标记 | ❌ 只是**可查询**,不是**主动通知**——没人去查还是发现不了;30 号文档 §三点名的"主动喊人"那一层没做 | | |
| 143 | +| **agent-creator 真的坏了(不是撞车、持续报错)** | —— | ❌ 重试耗尽照样停在"失败等人工",跟 DevLoop `retry_budget` 耗尽、Graph `blocked` 是同一套哲学,不追求自动恢复到底 | | |
| 144 | +| **新引入的并发复用会话风险** | ✅ 互斥锁从设计上直接避免触发这个场景 | ⚠️ `SessionPool` 并发复用同一会话本身的真实后果仍未实测验证(§四.1)——只是这次修复不会踩到它,不代表这个坑对别处调用方也不存在 | | |
| 145 | +| **另外两处同构缺口(DevLoop / Graph)** | —— | ❌ 完全不碰,本文档只动招聘装配这一处 | | |
| 146 | +| **hire 接口的调用体验** | —— | ❌ 接口仍是异步的,前端拿到的还是立即返回的 `training` 状态;装配完成/失败要另外查,跟今天一样,只是"失败"这个状态现在是真的会被写出来的 | | |
| 147 | + | |
| 148 | +**一句话版本**:这个方案把"静默卡死、永远没人知道"变成"卡死了会重试,重试也不行就留下一个 | |
| 149 | +能查到的信号"——它治的是**可靠性的地板**(从"完全没有保证"提到"有重试 + 失败可见"), | |
| 150 | +不是把整条链路变成"保证成功",也不负责把这个信号推给人看。 | |
| 151 | + | |
| 137 | 152 | --- |
| 138 | 153 | |
| 139 | 154 | ## 四、风险 / 未决问题 | ... | ... |