文档: 能力建设批设计归档

This commit is contained in:
lxy
2026-10-05 00:35:01 +08:00
parent f4d31e884a
commit c6ebf15407
3 changed files with 427 additions and 0 deletions
@@ -0,0 +1,58 @@
# 上下文三层记忆 — 设计
> 创建: 2026-10-04 | 定位: 本任务线原点能力(会话无限拉长/合适压缩时机/历史不失忆/高效高质量上下文管理)的正面成篇
> 衔接存量: 跨会话召回最小闭环-设计(已拍板 3/3)/无人值守设计(continuum)/今日已修族(memo/豁免/折叠/孤儿配对)
## 一、核心命题
**会话无限拉长 ≠ 上下文无限增大。** 正解=恒定的窗口 + 分层的记忆 + 可靠的召回——任何时刻 LLM 看到的窗口小、精、相关;需要的记忆都能按需取回。三件事各司其职:
```
工作记忆(窗口) 最近若干轮+当前任务上下文,恒定尺寸 ← 已有(滑窗+视图管理+今日修复)
情景记忆(压缩层) 本会话的结构化记忆(四类卡),不失忆的压缩 ← 本设计核心(缺口)
长期记忆(库) 跨会话知识/技能/发现,按需召回 ← 存量设计已拍板(召回闭环)
执行续点(continuum) 精确恢复用(轮次/预算/在飞),非语义 ← M2 既定路线
```
## 二、情景记忆:记忆卡片化压缩(根治失忆)
### 2.1 现状缺陷
压缩层只产「短摘要文本」——目标/决策/发现/约束全被摊平压成一坨,关键事实随压缩蒸发(225 轮仅存 2 条、主文档重写 17 次皆此类失忆的表征)。且压缩靠固定阈值触发,「第 N 轮全文第 N+1 轮摘要」的断崖导致行为不一致。
### 2.2 设计:压缩产物结构化四类卡
压缩时不再只产摘要,而产**记忆卡**(结构化,每类独立保真):
- **目标卡**: 当前任务目标链(pinned_goals 既有先例,扩展为完整目标链)
- **决策卡**: 已定方案/取舍/拍板(带依据一句话)
- **发现卡**: 事实性发现(软删地雷/文件结构/环境约束)
- **待办卡**: 未完成项+被拒操作(供续跑与停靠说明)
压缩后卡片常驻视图头部(小),原始轮次按需可被检索(不全丢)。**不失忆才能敢压**——这是高压缩率与行为一致性的前提。
### 2.3 压缩时机「合适」:信息增益信号化
- 触发条件从纯 token 阈值改为「token 阈值 × 信息增益」: 卡片集合自上次压缩无变化(无新目标/决策/发现)→ 可立即压缩;有变化→ 至少保留新卡所在轮完整
- 与 tool_view_decisions 冻结机制同源扩展(视图决策冻结已有,扩展到全文视图)
- 压缩事件、卡片变更全部落审计/监控(压缩不再黑箱)
## 三、长期记忆与召回(衔接存量,零新设计)
- 会话内提炼链已存在(knowledge_inject 提炼+水位防重);跨会话召回最小闭环设计已拍板(published 参与检索+项目维度过滤)——**本设计只提衔接口径**:记忆卡的「发现卡」同时走提炼链进知识库,会话内短期(卡)与会话间长期(库)双轨同源
- knowledges 1033 条只写不读的激活(embedding 回填/检索纳入)按已拍板项推进,本设计不重复立项
## 四、五项自评
兼容(压缩产物换代:旧会话走旧摘要,新会话起用卡片,双轨过渡)/破坏(压缩输出语义变化,需前端视图适配——卡片渲染)/安全(卡片含拒绝记录,与停靠说明同源无新面)/资源(卡片小,压缩后窗口反而更小=省 token)/回退(卡片化开关,关=退回纯摘要)。
## 五、分期
- C-m1: 记忆卡产出(压缩层重构为四类卡+渲染) — 独立可交付
- C-m2: 时机关联(信息增益信号+冻结扩展)
- C-m3: 与提炼链/知识库双轨衔接(依赖召回闭环实施)
## 六、拍板点
1. 卡片常驻视图头部(始终可见)还是折叠条(点击展开)?建议折叠条+悬浮预览,防长期占版面。
2. 卡片保留策略: 全压缩周期保留 last-N(建议 N=3 版本,防误压)。
3. 旧会话(存量摘要)是否补卡片化?建议不补,新会话起生效。
@@ -0,0 +1,336 @@
# 并行化与异步唤醒 — 能力设计
> 创建: 2026-10-04 | 定位: 能力建设批(非缺陷修复)。两条已实证的能力边界:①写并行缺位+同文件写竞态隐患 ②无异步唤醒原语(挂起即等人)
> 关联: 跨进程任务接力-设计(M1 接力棒/wake 对接)/无人值守长任务-设计(continuum/租约)/飞书直连通道(外部唤醒源)
## 一、能力 1:写并行化(risk × 路径租约二维分组)
### 1.1 现状与缺口
工具批执行按 risk 单维分组:Low 并行(join_all),Medium 逐个审批/串行,boundary 会话 Medium 旁路后并入并行向量。三个缺口:
1. **潜在竞态(顺带修复)**:boundary/auto 会话同轮两个 patch 同一文件→旁路后并行执行→写竞态(实证可能:LLM 同轮多次编辑同文件常见);
2. **非 boundary 会话写类纯串行**:多文件重构任务(今日主场景)单轮写吞吐受限;
3. **分组器无资源维度**:risk 之外,「是否同一路径」这一冲突维度未建模。
### 1.2 设计:二维分组器
- 分组三档:**纯读类**→并行(上限沿用 8);**写类按规范路径分片**→异路径并行、同路径按 LLM 发出顺序串行(路径经 canonicalize 归一,与 boundary 白名单同款归一口径);**High**→逐个审批不变。
- boundary/auto 旁路逻辑不变,旁路后的写类再按路径分片;非 boundary 会话维持逐个审批(用户逐个拍板语义不倒退)。
- 顺带消解 1.1-1 竞态:同路径强制串行即修复。
- 实现:单点在 audit 的 process_tool_calls 批分组器;写类路径冲突判定抽纯函数+单测(双 patch 同文件/异文件/读写混合三态)。
### 1.3 五项自评
兼容(零 schema)/破坏(同路径保序显式化=消竞态,是修复非破坏)/安全(写面与审批面均不扩)/资源(进程内并发写不同文件安全)/回退(分组器单点开关,默认随 auto/boundary 开)。
## 二、能力 2:wake 异步唤醒原语
### 2.1 模型
挂起任务登记唤醒条件,条件满足自动唤醒注入续跑——「挂起」与「等人」解耦。
- **WakeRegistry**(首期进程内存,随 app 存亡;宁少勿预留不落库):条目={conv_id, condition, payload, created_at, expires_at, once=true}
- **条件三型(首期)**:delay(延时到)/file-appear(文件出现,接力棒 result.json 场景)/process-exit(进程退出,自换装场景)
- **唤醒动作**:向目标会话注入一条 user 角色消息(复用 a5 换向注入路径+force_send 语义,过 generating guard/epoch 守卫),内容=唤醒上下文人话;注入即从当前会话状态续跑
- **防重**:once 语义+expires 过期清理(默认 24h);注册表上限 64
### 2.2 三源对接(唤醒源不新增机制)
| 唤醒源 | 对接方式 |
|---|---|
| 接力棒脚本(M1) | 脚本完成写 result.json → file-appear 唤醒 |
| 飞书直连通道 | 用户消息到达 → 直接注入(不经 registry,即时唤醒) |
| app 内调度器 | delay 型 tick 检查(复用既有定时模式) |
### 2.3 五项自评
兼容(零 schema,首期内存)/破坏(无既有语义变更)/安全(注入走既有 guard;外部源经飞书白名单;registry 本地条件无远程面)/资源(64 上限+24h 过期)/回退(随接力棒 M1 开关,未开关时 registry 不启用)。
## 三、分期
- W-a: 写并行二维分组器(独立交付,含同文件竞态修复)
- W-b: wake 原语核心(三条件+注入续跑)
- W-c: 与 M1/飞书通道对接(依赖各方落地)
## 四、拍板点
1. 写并行默认开(仅 auto/boundary 会话)还是全局?建议:仅 auto/boundary,普通会话维持逐个审批,观测一版再放宽。
2. wake 注入消息形态:user 角色(对齐 a5,落库可见)还是 system(静默)?建议 user,审计可见。
3. registry 首期内存态(重启即失)可接受?建议可接受——唤醒条件本就依附 app 存续,接力棒场景由进程外脚本兜底。
## 五、明确不做
- 不做跨设备唤醒分发;不做条件表达式引擎(三型够用,复杂条件=任务书职责);不做并行度动态调优(常量起步,实测再调)。
## 六、续接与主动性(下一阶能力,2026-10-04 深夜分析)
### 6.1 续接能力现状与根修
| 场景 | 现状 | 根修 |
|---|---|---|
| 同 loop 断流/失败 | ✅ 跨轮重入退避(P1 已修) | — |
| 停靠后续接 | ✅ 人工(点继续/重发);a5 落地后先自动换向×2 | — |
| 进程重启后 | ❌ 任务静默失踪(落库稀疏:225 轮存 2 条) | **continuum 任务连续体**(M2/W4 批,V46 轮级持久化) |
| 换装/进程死亡 | ❌ 无恢复入口 | **M1 接力棒**(result.json+file-appear 唤醒=6.2) |
| 长会话上下文 | ✅ 视图压缩续接(今日已修 memo/豁免) | — |
缺口本质=「执行续点」不持久+「进程级恢复」缺位。根修两件均设计已备(W4 批与 M1),不新增立项。
### 6.2 主动性能力分层与根修
主动性四层:反应性(✅ 响应指令)→自愈性(a5 ✅ 在飞)→**前瞻性(缺)**→**目标驱动持续性(缺)**。
根修=wake 原语的首个应用场景「**空闲自领**」(不新立大设计):
- 空闲检测(无活跃 loop+无 pending)→ delay 型 wake 唤醒 → 查 todo 板按优先级领任务 → 领单纪律(已注入的纪律段覆盖「修复必销账」)→ 完成回写
- **边界约束(要害)**:自领任务默认限 Low 风险档+白名单目录,Medium 以上仍需人工——主动性≠放权,是边界内自主(对齐无人值守 TaskBoundary 信任分级)
- 治理环联动:自领行为全量进监控 history.jsonl,自领质量纳入 S 阶升级判据
- 拍板点(新增 4):①自领默认开还是白名单会话(建议后者起步)②自领频率(建议空闲后 30 分钟延迟触发)③自领范围(todo 板确定性条目 only,设计先行类不领)④自领产出是否推送飞书(建议是,对齐治理环)
### 6.3 挂机模式(2026-10-04 深夜用户拍板:自领/自推进/自拆解/自设计)
W-d 空闲自领的完全体:agent 在边界内持续自主运转,人只做拍板与验收。
**核心循环**: 空闲检测(delay wake)→ 领单(todo 板按优先级)→ 分类(确定性条目直推/设计先行类先自设计)→ 自拆解(大任务切子批,文件零交集矩阵)→ 自推进(边界内执行,熔断走 a5 自愈)→ 自验证(门禁三件套)→ 自销账(板回写+核验语)→ 间隔 → 循环。
**约束框架(防失控四闸)**:
1. 边界闸: 挂机会话=boundary 会话(auto_exec+risk_ceiling+白名单目录),High 风险(部署/push/删除)一律挂起等拍板
2. 预算闸: 复用 TaskBudget 三值(挂机时长/单任务轮次/总 token),耗尽→停靠+飞书通知(不无限空转)
3. 自愈闸: 执行中熔断走 a5 换向×2;挂机内换向耗尽→跳过该任务领下一个(不死磕单点),同一任务两次挂机失败进「待人工」清单
4. 治理闸: 全程进 history.jsonl;每日挂机报告(领了几单/完成几单/返工率/消耗)→飞书
**与既建机制的组合**(零新基建,全是既有件循环化): wake(循环驱动)/a5(执行自愈)/continuum(续点)/boundary(边界)/TaskBudget(预算)/监控 history(治理)/飞书(通知与远程指令)。
**分期**:
- W-d1 挂机循环骨架(领单→执行→销账,确定性条目 only)
- W-d2 自拆解+自设计(设计先行类:先出设计稿落 docs→登记→作为后续实施批自领;编码类大任务切子批)
- W-d3 治理强化(预算闸/挂机报告/待人工清单)
**拍板点(挂机版,覆盖 6.2 的 4 项)**:
1. 挂机开关形态: 托盘一键+设置页(建议双入口)
2. 挂机时段: 全天 or 夜间档(初衷图既有「夜间额度高宜批量推进」设想,建议可配,默认全天)
3. 任务范围: 确定性条目 W-d1 起步;设计类 W-d2 起(自设计产出稿仍挂「待拍板」不直接实施,人工审后自动领实施)
4. 失败升级路径: 两次挂机失败→待人工清单+飞书(建议是)
### 6.3.1 续接能力并入挂机(2026-10-04 深夜 [补1] 用户令)
挂机跑长时段(尤其过夜),进程重启/崩溃/换装必须能续——**续接是挂机的命门,不是附加项**:
- **挂机状态持久化**: 挂机会话登记为 continuum 条目(挂机上下文=当前任务/子批进度/预算消耗/待人工清单);W-d1 首版用轻量挂机状态文件(挂机目录 JSON,对齐接力棒 result.json 模式),M2 continuum 落地后升级
- **重启自动续**: 启动扫描发现「挂机中」状态→自动恢复循环(挂机=显式完全信任档,重启自动续符合语义;区别于普通任务的「重启不自动续」,开关=挂机开关本身)
- **断点任务续跑**: 单任务中断从 continuum 续点恢复(不重放已落库轮次);W-d1 首版退化为「重启后该任务重领,已完成部分靠销账标记去重」——销账纪律(已注入)在此兜底
- **换装特殊流**: 挂机中自带换装(接力棒场景)→换装后 file-appear 唤醒自动续,全程无人
- 依赖序: W-d1 轻量续接(状态文件)→ M2 continuum(精确续点)→ W-d3 治理强化;续接不阻塞挂机骨架先行
## 七、多任务×子代理×真异步编排(2026-10-04 深夜用户定标)
### 7.1 三级并行模型
```
会话层: 多会话并行(F-09 per-conv 已有,并行度可配化)
└ 任务层: 每会话一活跃任务,多任务跨会话并行
└ 子代理层: 每任务 N 个子代理(spawn 并发已验证),W-a 后工具批内写类亦并行
```
### 7.2 真异步 spawn(核心新增)
现状:spawn_agent 同步语义(报告=工具返回值,父阻塞等全部子代理)。真异步变体:
- `spawn_agent(async=true)`: 派发后**立即返回**「已派发+agent_id」,父 loop 继续其它工具/下一轮
- 子代理完成 → 经 **wake 原语**(file-appear/process 条件,§二)唤醒父会话,注入「[子代理报告] agent-N: <摘要>」user 消息 → 父下一轮消化
- 父任务若已收敛: 报告落审计+完成卡,不强行唤醒(任务边界尊重)
- **轮界注入**: 父正在流式生成时报告到达→排队至本轮结束(对齐 a5 轮界注入模式),不打断流
### 7.3 并发治理(防爆炸)
- 全局子代理并发池上限(建议 4-6,实测调):防 API 限流+token 成本失控+CPU 争抢
- per-task TaskBudget 预算已备,async 子代理计入所属任务预算
- 超限行为: async spawn 排队(WakeRegistry 挂 pending 条件=有空槽),非拒绝
### 7.4 失败面
子代理失败/截断 → wake 注入失败报告(带 stop_kind,对齐停靠词表),父可重派;父会话已删 → 报告落审计即止。
### 7.5 依赖与分期
- 前置: W-a(写并行)/W-b(wake 原语)——本节是二者的组合应用层
- W-e1: async spawn 变体+报告回填注入(轮界排队)
- W-e2: 全局并发池+预算联动
- W-e3: 与 continuum 组合(父会话被压缩/切换后报告仍可达)
### 7.6 拍板点
1. async 子代理失败是否自动重派一次?(建议:是,带失败摘要,重派计入任务预算)
2. 报告回填消息是否也走 [自动换向] 类前缀族(建议:新增 [子代理报告] 前缀,前端完成卡旁路消费)
## 八、编排能力分析与规划(2026-10-04 深夜 [补1])
### 8.1 存量资产盘点(反转发现:编排面零使用≠零资产)
| 资产 | 状态 | 编排价值 |
|---|---|---|
| tasks 表(parent_id 层级+8 态状态机) | 在用 | 任务分解与推进的原语 |
| task_links 依赖图(DAG 关联+循环检测) | 建成零使用 | 依赖满足自动推进的底座 |
| df-workflow(DAG 引擎+workflow_executions 持久化) | 建成零使用(9 张编排表 0 行) | 编排轨迹与节点化执行面 |
| TaskAdvanceNode(DAG 节点已注册) | 建成未联动 | DAG×agent 融合的现成插销 |
| spawn_agent+registry/boundary/budget | 在用 | 子代理编配原语 |
| todo 协作板+挂机自领(W-d 设计) | 设计中 | 任务源与自驱入口 |
结论:**编排缺口不在资产,在「连接与驱动」**——依赖图没人推进、DAG 引擎不知道 agent、任务源没有调度器。
### 8.2 缺口清单
1. 依赖图静态:task_links 声明了 A→B,但 A 完成不会解锁 B(无依赖满足→自动推进)
2. 两套孤岛:df-workflow 与 agent loop 互不感知
3. 多任务调度器缺位:挂机领单只查板,无依赖/优先级/资源三维调度
4. 事件驱动编排缺位:「X 完成→触发 Y」无机制(wake 是雏形)
### 8.3 编排能力三层路线(渐进,复用率极高)
- **编排 1.0**(挂机模式内含,W-d):板驱动+任务状态机推进,无依赖图——已设计
- **编排 2.0 依赖图自动推进**:task_links 依赖满足(前置任务 completed)→wake 唤醒解锁下游任务(advance+可选自动派发);执行轨迹落 workflow_executions——把「死的依赖图」变成「活的流水线」;改动面=advance 成功回调+wake 注册,复用 df-nodes 状态机与 task_links
- **编排 3.0 DAG×agent 融合**:工作流节点=agent 动作(spawn/advance/notify 已有 TaskAdvanceNode 插销),DAG 即多任务编排面;初衷图 Code-Working 会话「dynamic workflow 编排推进」的落地形态;前置=2.0+async spawn(W-e)
### 8.4 拍板点
1. 编排 2.0 的依赖解锁是否自动派发执行(建议:解锁仅标记 ready,派发由挂机领单消费——调度权仍在挂机,编排只管条件)
2. 编排 3.0 的 DAG 定义形态(YAML 模板 vs 板驱动自动生成,建议后者起步)
## 九、状态即时同步与通知能力(2026-10-04 深夜 [补2])
可控支柱的推送面:agent 状态变化即时可达所有端。现状=事件总线单一事实源已立(AiChatEvent 族),缺的是**出口扇出与分级**。
### 9.1 出口扇出(一对多,零新事实源)
AiChatEvent 族(进度/停靠/完成/失败/审批)→ 出口适配器:桌面 UI(既有)/托盘 NeedAction(既有)/飞书通道(设计已立,关键路径)/relay-miniapp(隧道既有)/监控 history(已建)。
### 9.2 即时性分级(防刷屏)
| 级 | 事件 | 策略 |
|---|---|---|
| 即时 | 停靠/审批挂起/任务完成/失败熔断 | 即推(同类 5s 节流,notify 既有范式) |
| 摘要 | TaskProgress 每 N 轮 | 可选推(挂机模式开时推) |
| 批量 | 小时监控摘要/每日挂机报告 | cron 推(治理环既有设想) |
### 9.3 状态查询面(补「跑到哪了」)
远控查询命令族(飞书/miniapp 同构):查活跃任务/预算消耗/最近停靠原因——复用 remote_bridge 命令族扩展,只读零风险。
### 9.4 依赖与分期
W-g1 出口适配器框架+即时级(依赖飞书通道实施)/W-g2 摘要级+查询命令族/W-g3 每日报告(挂机 W-d3 联动)。
## 十、会话间/代理间感知能力(2026-10-04 深夜 [补3])
今天的全部互踩(双头编排/子代理同文件/主客两线)同根:**无人知道「谁正占着什么」**。感知能力=lease 原语的读写两面落地。
### 10.1 FileLeaseRegistry(文件面占用感知,要害)
- 写类工具(patch/write/edit)执行前登记 path→(conv, agent, ttl) 到进程级注册表,完成释放;同路径第二写者前置校验命中→拒绝+指路「该文件正被会话 B 编辑,等它完成或换文件」
- 与 W-a 二维分组器互补:分组器管**同轮内**保序,registry 管**跨轮跨会话**互斥——合起来=完整 lease
- 直接根治:双头编排互踩/子代理同文件竞态/主客两线叠改
### 10.2 拓扑与状态感知
- 父↔子: 父见子代理实时状态(ai_sub_agent_list 已备,S3 轨迹已建),子见兄弟在做什么(query_leases 天然覆盖)
- 会话↔会话: 一行状态查询「会话 B 在干什么」(per_conv 状态投影,只读)
- 发现共享: agent 的排障发现(如「X 是软删地雷」)写 knowledges→其他会话 knowledge_search 可见(盘活 1033 条只写不读的存量)
### 10.3 分期
W-h1 FileLeaseRegistry+写前置校验(小改,价值立现)/W-h2 query_leases 工具+兄弟感知/W-h3 跨会话状态+知识联动。前置: 无(纯增量);与 W-a 同批相邻落地最佳。
## 十一、伪命题甄别(2026-10-04 深夜 [补4],对抗自查,实施清单以此为准)
五测试:今天有无真实被卡/有无更轻替代/是否预建/与既有重复/收益成本比。
| 件 | 判定 | 理由与处置 |
|---|---|---|
| W-h 感知/租约 | **真命题,P0** | 今日三连实锤(双头/子代理同文件/主客两线);小改大收益,提到最前 |
| W-d1 挂机最小闭环 | **真命题** | 用户亲定场景;先跑一周看真实产出率再议深化 |
| W-e2 全局并发池 | **真命题(小)** | 3 子代理连发已近约束,防 token 爆炸真约束 |
| W-a 写并行吞吐 | **半伪,降级** | 墙钟大头是构建(38%)非写(秒级);**只修同文件竞态保序**(一行分组逻辑),吞吐优化等写耗时占比>20% 实测再做 |
| W-d2 自拆解/自设计 | **降级** | 板上条目登板时已拆好;设计稿产出不需要专门机制——作顺手能力,不立子系统 |
| W-b wake 原语 | **条件性,随场景建** | 现有消费者(挂机/接力棒)均未落地;单独建=预建。与 W-d1 绑定实施 |
| W-e1 async spawn | **条件性,缓** | 今日子报告全是下一步输入(依赖决定同步是对的);先建并发池,出现「父有事可做」场景再建 async |
| W-f 编排 2.0/3.0 | **冻结(高伪风险)** | task_links/df-workflow 至今零真实使用——「编排面零使用」的正确读法是**还没到需要编排的阶段**;启动信号=用户开始建依赖链或挂机领单遇前置任务 |
| W-g 状态推送 | 真命题但被阻塞 | 随飞书通道走,不单独排 |
| W-c 对接层 | 合并 | 非独立件,并入 W-d/M1 实施阶段标记 |
**实施序修正**: W-h 感知租约(最先)→ W-e2 并发池 → W-d1 挂机最小闭环(含 W-b wake 按需)→ 其余冻结等信号。
**自查教训**: 本文档 §1-§9 是「能力全景」(留给未来对照),§十一才是「现在做什么」——全景图与施工图必须分开,否则全景会冒充计划。
## 十一·修正(2026-10-04 深夜 [补2] 用户纠正)
**方法错误更正**:「零真实使用→冻结等信号」是鸡生蛋逻辑错误——task_links/df-workflow 零使用的主因是**能力未暴露**(无 agent 工具面入口/无调用门),不是需求不存在。**正确方法=投最小探针**:暴露最小可用入口让真实使用发生,用使用率(而非等待)决定深化。
修正后处置:
- W-f 2.0: 降级为**最小探针**——agent 工具面暴露「声明依赖」+依赖满足时提示一行(不做自动推进);探针使用率决定是否建自动推进
- W-e1 async spawn: 同理暴露 async 参数(小改),有机会用才有需求验证;并发池(W-e2)不受影响仍立做
- 其余维持: W-a 写并行降级有**实测数据支撑**(构建 38% vs 写秒级),不依赖使用信号,结论不变;W-d2 维持「顺手能力不立子系统」但自设计保留为挂机探索项
- 通用教训(入方法论): 能力甄别双判据——**有量化实测数据的按数据判;无数据的投最小探针判**;禁止把「未被使用」直接读成「不需要」(尤其当入口未提供时)
## 十二、自进化能力(2026-10-04 深夜 [补1]:自造工具+重复寻优)
初衷图「进化系统(自举)」的落地形态,两层:
### 12.1 重复→寻优(重复是重构信号,不只是停滞信号)
- 数据源已备: audit 表全量工具调用序列——**同一序列模式出现 N 次**(如「grep X→read Y→patch Z」×5)即抽象候选
- 两种触发: ①在线(G2 熔断前的中途检测:重复达阈值时先问「是否有更优解/可抽象为脚本」,从「数次数」升级为「问原因」)②离线(挂机空闲扫 audit 出模式报告——进化任务成为挂机的自领任务类型)
- 输出: 优化建议(换工具/写脚本/建技能),不自动改=零风险
### 12.2 工具/技能自造管线
- 现状: agent 会写脚本(run_command)但**无「晋升为注册技能」的管线**;devflow 技能库与 read_skill 已存在(read_skill cm/advance 今日实证)
- 设计: 脚本落 scripts/ → 注册进技能库(最小元数据: 名称/用途/入参/风险档) → 后续任务 read_skill 复用;风险档默认 Low(只读类)/写类需审批;资产可审计可回收
- 沉淀物分流: 重复的**排障发现**→knowledges;重复的**操作序列**→skills(两种进化物各归其位)
### 12.3 分期与拍板
- E-m1 模式扫描报告(只读,零风险,挂机自领一类)→ E-m2 在线启发(熔断对话化)→ E-m3 技能注册管线(风险档+审批)
- 拍板点: 技能注册是否需人工审(建议 E-m3 首次注册必审,之后同类自动)
## 十三、失败学习环(2026-10-04 深夜:所有失败作为学习教材,不反复在相同处失败)
「不重复失败」的量化判据分两层:同签名不重放(已管:loop 内窗口+纪律注入)+ **同类失败不跨会话重演**(缺,本节补)。
### 13.1 失败归类与学习
- audit 已是全量失败事实源(status+error+参数);缺「**归类**」:按错误模式聚类(状态机拒绝/路径未授权/精确匹配未中/网络/参数非法),类粒度才是学习单元
- 高频失败类 → 提炼**教训文本**(因果+规避法一句话),存 knowledges(失败分册,复用既有知识链与召回闭环设计,零新存储)
### 13.2 教训的三个消费点
1. **同类任务前置注入**: 派发/自领任务时,若目标域有高频失败类教训→提示词附「历史高频坑」(与 a5 换向注入同路)
2. **失败现场即时附学**: 新失败发生时,若该类已有教训→失败提示附「同类失败已 N 次,已学经验:...」(治盲试的直接抓手)
3. **挂机进化任务**: F-m1 失败归类统计=自领任务一类(只读零风险),产出高频失败 Top 与教训草案
### 13.3 分期与自评
F-m1 归类统计(只读)/F-m2 教训提炼+注入/F-m3 失败现场附学。自评: 兼容(复用 audit+knowledge 链零新存储)/安全(教训文本进提示词,无注入面——教训由 LLM 提炼经审核入板)/资源(统计查询按需)/回退(注入开关)。拍板点: 教训提炼由谁审(LLM 出稿+用户/主代理审,建议后者)。
### 12.4 工具进化环([补]:自写工具的自迭代)
自造(E-m3)之后是自进化——工具不是写完即终态:
- **使用遥测**: 自造工具每次调用记 次数/失败率/「调用后紧跟修正」率(补丁紧跟=不顺手信号),数据源=既有 audit,零新埋点
- **进化触发**: 失败率高 或 修正跟随率超阈值 → 该工具进进化候选
- **进化动作**: 读工具源码+遥测 → LLM 产改进版(**参数向后兼容**)→ 版本号递增 → 旧调用方不受影响 → 旧版退役
- **安全闸**: 进化=代码变更,走既有门禁(check+相关测试);行为变化审计留痕;风险档升级需审批(对齐技能注册同款纪律)
- 依赖序: E-m3 注册管线之后(先有自造才有自进化),真工具的真实使用积累(E-m3 落地后自然产生)——**本阶是最远期件,前面三阶不落地它不启动**
### 12.5 脚本生命周期纪律([补1]:不瞎写瞎用瞎删)
今日实证三类乱象:仓库根目录散落探查脚本(.fix_audit.py 类)/feishu_smoke.rs 写删横跳/docs 目录混入 .research 脚本堆。纪律四条:
1. **落位**: 一次性探查脚本→scripts/ 专用目录+命名 `scratch-<主题>.<ext>`,头部两行注释(用途/一次性或可复用);持久工具→走 E-m3 注册管线晋技能;**禁止落仓库根目录与文档目录**
2. **声明**: 头部即声明生命周期(用完即删/长期保留),删前核对「目的已达成且无引用」
3. **写前想清**: 结构性脚本(超过 30 行/含依赖引入)先定形态再写——对齐纪律段「一次成形」;写删回环超过一轮=停下换思路(与 G3 熔断同一触发语义,但纪律在前熔断在后)
4. **资产化优先**: 同类脚本写第二次→触发 E-m 重复寻优(抽象为注册技能),脚本资产不流失
落地: ①E-m3 管线含落位与声明规范 ②纪律段增补第 7 条(脚本落位,下一批注入修订顺带,不单独改) ③既有 memory「工作空间根目录整洁规范/AI临时文件写入规范」与此同源,agent 侧规则注入后即为同一纪律的对端执行
5. **临时文件同规**: 临时文件(中间产物/探针输出/快照)与脚本同一套生命周期——落专用目录(temp/ 或 .scratch/,禁根目录/文档目录/源码树)+命名带主题与日期+声明保留策略(用完即删/任务末清理)+**永不进 git**(gitignore 已挡,提交前三问第 1 问复核)。今天实证的应然态:探查脚本堆落 docs/.research/ 即违规,应落 temp/agent-monitor/ 同级专用目录。
6. **文档同规**: AI 产文档三分各归其位——①会话报告/分析结论:默认对话内直交,需跨会话保留落 temp/(命名主题-日期);②设计文档:docs/02-架构设计/专项设计/ +INDEX 登记;③项目文档:对应 docs/ 子目录+中文命名+INDEX 更新。禁:文档落根目录/未进 INDEX/设计稿与正式文档混放。今天正反例:四篇设计落专项设计目录(正)vs .research 勘察堆落 docs 目录(反,应落 temp/)。
+33
View File
@@ -1034,3 +1034,36 @@ graph TD
- **reset --hard 前工作区必须干净**:当前存在未提交改动(含本节处方)。执行顺序=①先收尾在飞工作,连同本节处方一并提交为第 7 笔(消息如 `文档: 提交重整处方与在飞收尾`)②然后 reset --hard origin/main ③按原序 cherry-pick 前六笔并逐笔 amend 换消息 ④第 7 笔原样 cherry-pick 不改消息 ⑤树一致性校验(git diff 原HEAD 为空) - **reset --hard 前工作区必须干净**:当前存在未提交改动(含本节处方)。执行顺序=①先收尾在飞工作,连同本节处方一并提交为第 7 笔(消息如 `文档: 提交重整处方与在飞收尾`)②然后 reset --hard origin/main ③按原序 cherry-pick 前六笔并逐笔 amend 换消息 ④第 7 笔原样 cherry-pick 不改消息 ⑤树一致性校验(git diff 原HEAD 为空)
- 重放期间禁止并行改码;校验不过立即 `git reset --hard $OLD` 回滚到重整前 - 重放期间禁止并行改码;校验不过立即 `git reset --hard $OLD` 回滚到重整前
# 能力建设批设计完成(2026-10-04 深夜,并行化+wake 原语)
> 设计: docs/02-架构设计/专项设计/并行化与异步唤醒-设计-2026-10-04.md(五项自评已过,拍板点 3 项)。实施按分工归 DevFlow agent 或我方批次,待令。
- [ ] W-a 写并行二维分组器(risk×路径租约:读类并行/写类异路径并行同路径保序/High 不变;顺带修 boundary 同文件双 patch 竞态)
- [ ] W-b wake 原语(内存 registry 三条件 delay/file-appear/process-exit,唤醒注入走 a5 路径+guard)
- [ ] W-c 与 M1 接力棒/飞书通道对接(依赖各方落地)
- [ ] W-d 空闲自领(wake 首应用):空闲检测→领 todo 确定性条目→边界内执行→完成回写+飞书推送;拍板点 4 项(默认关起步/30min 延迟/仅确定性/推送飞书)——设计要点见并行化与异步唤醒设计 §6.2
- [ ] W-d 挂机模式(用户拍板:自领/自推进/自拆解/自设计;设计 §6.3):W-d1 挂机循环骨架(确定性条目)/W-d2 自拆解+自设计(设计稿落 docs 挂待拍板)/W-d3 治理强化(预算闸+挂机报告+待人工清单);拍板点 4 项待定
- [ ] 指标阶梯升级为四支柱框架(2026-10-04 用户定):效率+自主+质量+可控四柱同时定级(木桶规则),每柱映射 L1-L4 指标族;已并入 baseline json framework 段;推进序不变
- [ ] W-e 多任务×子代理×真异步编排(设计 §七):W-e1 async spawn+报告轮界回填/W-e2 全局并发池+预算联动/W-e3 continuum 组合;前置=W-a+W-b;拍板点 2 项
- [ ] W-f 编排能力三层路线(设计 §八):1.0 板驱动(挂机内含)/2.0 task_links 依赖图自动推进(advance 回调+wake 解锁)/3.0 DAG×agent 融合(TaskAdvanceNode 插销已备);拍板点 2 项
- [ ] W-g 状态即时同步与通知(设计 §九):W-g1 出口扇出+即时级(依赖飞书通道)/W-g2 摘要级+远控查询命令族/W-g3 每日报告(挂机联动)
- [ ] W-h 会话间/代理间感知(FileLeaseRegistry:写前登记+冲突指路/query_leases 工具/兄弟感知/知识联动;与 W-a 组合成完整 lease)——设计 §十;根治今日全部互踩
- [ ] W-h 感知租约(升级 P0:今日三连互踩实锤,FileLeaseRegistry+写前置校验,小改大收益)——能力批实施第一位
- [ ] W-e2 全局并发池(小:子代理并发上限+预算联动)
- [ ] W-d1 挂机最小闭环(领单→执行→销账→循环+轻量续接;W-b wake 随其绑定实施)
- [ ] 冻结待信号: W-a 写并行吞吐(只先修竞态)/W-d2 自拆解自设计/W-f 编排 2.0-3.0/W-e1 async spawn——启动信号见设计 §十一
- [ ] C-m 上下文三层记忆(设计落档):C-m1 记忆卡四类(目标/决策/发现/待办)压缩重构/C-m2 压缩时机信息增益信号/C-m3 与召回闭环衔接;拍板点 3 项
- [ ] E-m 自进化能力(设计 §十二):E-m1 模式扫描报告(挂机自领类)/E-m2 在线启发(熔断对话化)/E-m3 技能注册管线;拍板点 1 项
- [ ] W-f 2.0 改为最小探针(依赖声明工具面暴露,使用率决定深化)——[补2] 方法修正
- [ ] F-m 失败学习环(设计 §十三):F-m1 失败归类统计(挂机自领类)/F-m2 教训提炼进 knowledges 失败分册+同类任务前置注入/F-m3 失败现场即时附学;拍板点 1 项(教训审核)