- /proxy/admin/stats:h_g(=cached/requests)/h_p(=Σin_hit/Σ(in_hit+in_miss))/ revenue/cost/margin/by_bucket(?since 走 idx_ledger_ts) - /proxy/admin/ledger:流水分页(复用 billing.list_usage 参数化查询) - /proxy/admin/students:学生列表(暂 501——ledger 新增 SELECT 方法被 Mimosa 安全扫描误报阻塞,误报解除后补 stats_rows/list_students 两方法即可) - 端点鉴权复用 X-Admin-Key/loopback;ledger 查询经其锁与连接(D-P10) - 全量 423 passed
12 KiB
任务拆解与执行计划
任务体系:主任务(整体项目)→ 附加任务(先行实现:整体项目部分拆解) 建立日期:2026-08-14
一、任务体系总览
主任务:多专业小模型 + 路由模型系统(整体项目)
│
├─ 已完成部分(专家系统内核):
│ · 知识库(8 领域 67 规则 + 17 模板 + 45 事实)
│ · 黑板/前向链/Planner/DAG 路由(L0 零参数)
│ · 三级子领域(domain → subdomain → subdomain2)
│ · 两级路由体系(domain_group → 组内路由模型)
│ · 92 项单元测试全绿
│
└─ 附加任务(★ 先行实现):整体项目部分拆解
· 目标:把整体项目剩余工作拆解为可独立执行的部分任务,
并优先实现第一批(P0),为后续铺路
· 状态:进行中
二、整体项目剩余工作拆解清单
| # | 任务 | 内容 | 依赖 | 优先级 | 预估 | 状态 |
|---|---|---|---|---|---|---|
| T1 | NodeExecutor 接口抽象 | 解耦 _execute_node 的 if-else;rule/model/未来后端统一接口 + 工厂 |
— | P0 | 0.5 天 | ✅ 完成 |
| T2 | 评测基准扩充 | eval 扩到 8 领域 24 样例 + 组路由/子领域识别指标 | — | P0 | 0.5 天 | ✅ 完成 |
| T3 | 推理链查询接口 | 请求 ID 化 + 内存轨迹存储 + GET /traces/{id} |
T1 | P0 | 1 天 | ✅ 完成 |
| T12 | Agent-Skill 路由器 | 路由器独立:Skill 注册表(21 技能)+ RouteAgent 自主分析需求→技能调用计划→执行,无需用户指定领域/模型 | T1,T2,T3 | P0 | 1-2 天 | ✅ 完成 |
| T4 | 知识库 CRUD + 热重载 | `/knowledge/rules | factsCRUD +POST /config/reload` |
T1 | P1 | 1-2 天 |
| T5 | 本地模型推理接入(L2) | Ollama/vLLM 封装 + fallback.local 验证 + 组内模型按需加载 |
T1 | P1 | 2-3 天 | ⬜ 待办 |
| T6 | embedding 语义缓存 | BGE 本地向量化替代 n-gram L2 | — | P1 | 1-2 天 | ⬜ 待办 |
| T7 | 分类器训练流水线 | 数据构建 + 0.6B QLoRA 训练(8 领域) | — | P1 | 2-3 天 | ⬜ 待办 |
| T8 | 领域专家微调 | QLoRA 微调 5-8 领域专家 + 数据收集 | T7 | P2 | 3-4 周 | ⬜ 待办 |
| T9 | RouterArena 评测 | 标准 5 维评测接入 | T2 | P2 | 2-3 天 | ⬜ 待办 |
| T10 | 监控 + 模型注册表 | Prometheus 指标 + 模型版本/热替换 | T4,T5 | P2 | 2-3 天 | ⬜ 待办 |
| T11 | 部署生产化 | Docker/Compose + 灰度 + 安全 | T5,T10 | P2 | 3-5 天 | ⬜ 待办 |
三、先行实现批次(P0)—— 已完成 ✅
- T1 NodeExecutor 接口抽象 —— 子任务执行后端统一接口(rule/model 两实现 + 工厂),L2 模型接入无需改 Router
- T2 评测基准扩充 —— 24 样例 × 8 领域,指标:分类 100% / 大领域组识别 100% / 子领域识别 100%
- T3 推理链查询接口 ——
GET /traces/{request_id}:完整推理链可追溯(两级路由 → 三级子领域 → 拆解 → 规则 → 评分) - T12 Agent-Skill 路由器 —— 路由器独立为"技能注册表 + Agent 规划器":
- 21 个内置技能(es.* 模板 ×17、kb.retrieve/kb.answer、judge.evaluate、fallback.call)
- RouteAgent 自行分析需求 → 规划技能调用(多技能组合/依赖)→ 执行 → 校验 → 升级
- 用户只提供 query,无需指定领域/模型;技能调用轨迹可追溯(skill:es.analyze@facts)
- 实测:法律咨询自动组合 es.analyze + kb.retrieve + es.conclude + es.disclaimer
P0 完成后的能力:干净的后端抽象 + 可量化的评测 + 可追溯的推理链 + 技能化 Agent 路由(118 项测试全绿)。
四、执行规则
- 每任务独立验收(测试 + 文档),完成后更新状态 ✅
- 依赖任务未完成时,先做无依赖任务
- P1/P2 任务在 P0 完成后按序推进,不阻塞主线
五、v2 任务登记(端云协同编程智能体系统,见《实现方案_v2_端云协同编程智能体系统.md》)
每个任务一个 commit(
feat(v2): Tn 描述),交付含封闭单测;v1 的 126 项测试保持全绿。
| T | 内容 | 状态 | commit |
|---|---|---|---|
| T1 | 环境与基线确认(126 测试全绿;README 环境备忘) | ✅ 完成 | (并入 T2 commit) |
| T2 | 运维层:hw_profile + llama_server 进程管理 | ✅ 完成 | T2 |
| T3 | ArchitectClient(DeepSeek API,JSON 约束) | ✅ 完成 | T3 |
| T4 | Workspace(交流文本 schema/校验/渲染/rollup) | ✅ 完成 | T4 |
| T5 | WorkerLoop + 接地验证 | ✅ 完成 | T5 |
| T6 | CollaborativePipeline 编排 | ✅ 完成 | T6 |
| T7 | 网关扩展(/chat 切 v2,/chat/legacy) | ✅ 完成 | T7 |
| T8 | 人工检验队列 ReviewQueue | ✅ 完成 | T8 |
| T9 | token 计量与账单 | ✅ 完成 | T9 |
| T10 | rollup + prefix cache 调优 | ✅ 完成 | T10 |
| T11 | 打包分发 setup_runtime.py | ✅ 完成 | T11 |
| T12 | 实验脚本 bench_tokens.py + 数据集 | ✅ 完成 | T12 |
| T13 | E1 本地跑数完成(E2–E5 待 live 接入) | ✅ 完成 | T13 |
| T14 | 文档收口(README v2 改写) | ✅ 完成 | T14 |
| T15 | Pipeline 死锁修复(_deps_done 依赖过滤 + pending-empty break)+ /metrics SPA 路由冲突修复 | ✅ 完成 | T15 |
六、v3 任务登记(Web 应用化,见《实现方案_v3_Web应用化.md》)
每任务一个 commit(
feat(v3): Tn 描述);router_system核心不动(D3),229 项基线测试保持全绿。
| T | 内容 | 状态 | commit |
|---|---|---|---|
| T1 | 后端异步化(jobs.py + /chat 后台任务 + /runs/{id}/status) | ✅ 完成 | v3 基线 |
| T2 | 后端 SSE(/runs/{id}/stream 监视 workspace.json) | ✅ 完成 | v3 基线 |
| T3 | 前端脚手架(Vue3+Vite+TS,outDir=gateway/static) | ✅ 完成 | v3 基线 |
| T4 | 对话页 + SSE 实时可视化 | ✅ 完成 | v3 基线 |
| T5 | 协作过程页 + 检验队列页 + 指标页 | ✅ 完成 | v3 基线 |
| T6 | llama-server 内置管理(/llama/* + 下载 SSE)+ 设置页整页滚动修复 | ✅ 完成 | v3 基线 |
七、模型池与工具智能体任务登记(T16–T21,见《实现方案_v4_模型池与工具智能体.md》)
「端云」叙事泛化为多价位模型池(local/budget/premium 三档 + 角色指派),新增 zcode 式工具智能体。
router_system保持零第三方依赖;全量测试 262 项全绿(基线 229 + 新增 33)。
| T | 内容 | 状态 | commit |
|---|---|---|---|
| T16 | 工具内核:WorkspaceTools(路径关押)+ ToolLoop(轮数/token 双护栏) | ✅ 完成 | T16 |
| T17 | 模型池:PoolStore + /pool 端点 + 管线池解析 + 按模型成本分账(by_model) | ✅ 完成 | T17-T18 |
| T18 | 智能体:OpenAI 兼容工具调用客户端 + AgentService + /agent 端点(SSE) | ✅ 完成 | T17-T18 |
| T19 | 前端:API 层 + 设置页模型池 UI(角色指派/条目 CRUD/连通测试) | ✅ 完成 | T19-T20 |
| T20 | 前端:智能体页 AgentView + 指标页分账卡 + SSE 终态去重 | ✅ 完成 | T19-T20 |
| T21 | 集成验证:真跑 3 轮工具任务(write/list/read)+ 浏览器实测 + 262 测试全绿 | ✅ 完成 | T21 |
| T22 | 工具扩展:edit_file(唯一替换)/ search_files(跳过依赖目录)/ run_command(allow_shell 默认关) | ✅ 完成 | T22 | | T23 | 工作区选择:/agent/fs 目录浏览 + /agent/workspaces 最近列表 + /agent 带 workspace | ✅ 完成 | T23 | | T24 | 前端:工作区选择栏(目录浏览器/最近/shell 开关)+ edit diff 卡 + 命令卡 | ✅ 完成 | T24-T25 | | T25 | 集成验证:选定真实目录"读→精确编辑→运行验证"全链路 + 274 测试全绿 | ✅ 完成 | T24-T25 | | T26 | 两级智能体:规划者(大模型)拆解/审查 + 执行者(本地小模型)工具轮,handoff.json 交接,/agent 带 executor_pool_id | ✅ 完成 | T26 | | T27 | 会话式智能体:多轮上下文 + 会话持久化 + 停止按钮 + AgentView 对话式重构(dsh 范式) | ✅ 完成 | T27 | | T28 | 操作审批流:approval_policy(off/dangerous/all) + 挂起/裁决/超时 + /approve + 审批卡 | ✅ 完成 | T28 | | T29 | token 级流式:SSE 解析/tool_calls 碎片组装/回退 + DeltaThrottle + 打字机渲染 | ✅ 完成 | T29 | | T30 | 安全加固(Mimosa 深度扫描驱动,D11):路径 ID 白名单/artifacts 与工件名关押/下载 dest 关押+协议白名单/config 密钥打码/Host 信任围栏+回环绑定/危险命令独立拦截/CSPRNG 抽样 | ✅ 完成 | T30 | | T31 | dsh 功能对齐(D12):LLM 重试退避/web_fetch 工具(SSRF 防护)/原子写入/慢工具线程卸载/search 目录修剪/重复调用提醒/会话重命名 | ✅ 完成 | T31 |
六、代理层任务登记(AI代理功能开发:校园 AI 代理层+缓存层)
执行版:《AI代理功能开发/实施方案_代理层与缓存层.md》(T-P0…T-P8,含 DDL/接口签名/验收命令,约 12 工作日)。 设计与经济测算:《AI代理功能开发/方案_校园AI代理层.md》。约束:
router_system/零改动; M1/M2 零新依赖;总验收 = 压测报告 h_g+h_p ≥ 50% 且统一 5 折毛利为正、账目零不一致。
| T | 内容 | 状态 | commit |
|---|---|---|---|
| T-P0 | 骨架:gateway/proxy/ 包 + SQLite DDL + enabled 门控挂路由 | ✅ 完成 | T-P0 |
| T-P1 | 鉴权+账本:key 签发/令牌桶/四表/request_id 幂等/日限额 | ✅ 完成 | T-P1 |
| T-P2 | 上游客户端:流式派发+三家 usage 归一化+首 token 前 failover | ✅ 完成 | T-P2 |
| T-P3 | 计价+结算:峰谷窗口/毫元整数/黄金用例 ≥10 组 | ✅ 完成 | T-P3 |
| T-P4 | 路由端到端:/proxy/v1 非流式+流式+402/429/413 语义 | ✅ 完成 | T-P4 |
| T-P5 | 规范化+桶:稳定哈希/整形顺序/doc_version 失效/多轮不缓存 | ✅ 完成 | T-P5 |
| T-P6 | 语义缓存:L1 精确+L2 n-gram 倒排+singleflight+TTL+失败不缓存 | ✅ 完成(含 routes 接线) | T-P6 |
| T-P7 | 管理面+前端:stats/ledger 端点+ProxyView 三卡片 | 🔶 后端完成(students 列表因扫描误报暂 501) | T-P7 |
| T-P8 | 压测+预算:200 并发流式;P99≤50ms/内存≤1GB/账目零不一致 | ⬜ 待办 |
七、语义分析器任务登记(AI代理功能开发:三级任务分级,见《实施方案_语义分析器与三级分级.md》)
前置:代理层 T-P 系列。模式:collect(只采集)→ shadow(只比对)→ live(真分流),
sense.mode门控。 总验收 = E-G1:shadow 一致率 ≥85%、conformal 覆盖 ≤α+2%、T1 占比 40–55%、T2 档降云端调用可测。
| T | 内容 | 状态 | commit |
|---|---|---|---|
| T-G0 | 骨架:gateway/sense/ 包 + sense.sqlite3 DDL + enabled 门控 | ✅ 完成 | c3efa70 |
| T-G1 | Embedder:/v1/embeddings 客户端 + int8 量化 + 降级阶梯 | ✅ 完成 | T-G1 |
| T-G2 | 观察埋点:observer + 三消费方埋点(pipeline/proxy/client) | ✅ 完成 | T-G2 |
| T-G3 | 标签+校准:夜间 true_tier 推导 + split-conformal + 工件表 | ✅ 完成 | T-G3 |
| T-G3b | KnnHead(架构变体 B):kNN 投票 + conformal-kNN + 按桶分区/封顶/压缩;hybrid fusion 预留(§14) | ⬜ 待办 | |
| T-G4 | 线性头:离线训练脚本 + LinearHead 纯 Python 推理 + 登记 | ✅ 完成 | T-G4 |
| T-G5 | Grader:决策组合(特征门×概率×conformal)+ /v1/route + 三态 mode | ✅ 完成 | T-G5 |
| T-G6 | live 分流:pipeline tier_fn 三档钩子 + proxy 档位映射 + T2 档升级阶梯 | ✅ 完成 | T-G6 |
| T-G7 | 审计+前端:ReviewQueue 抽样 + tier 指标卡 + 客户端来源显示/一键升级 | ✅ 完成 | T-G7 |
| T-G8 | 实验:E-G1/E-G3 报告;(可选)LoraRemote + E-G2 线性 vs LoRA | ✅ 完成 | T-G8 |