Files
JARVIS/development-doc/plan/agent-update/jarvis-agents-2-day-integration-plan.md
WIN-JHFT4D3SIVT\caoxiaozhu a3fe4d24fc feat(agents): Phase 7-10 hook system, plugins, skills, orchestration
Phase 7: Built-in Hooks (audit_log, dangerous_confirmation, security_scan)
Phase 8: Plugin system (PluginManager, PluginSandbox, PluginManifest)
Phase 9: Skills registry (SkillRegistry, local/plugin/MCP loaders)
Phase 10: TeamLeader, RemoteTransport, BackgroundTaskManager
2026-04-04 22:56:27 +08:00

8.6 KiB
Raw Blame History

Jarvis Agents 2 天融合改造计划

日期2026-04-03 状态:草案 目标:在 2 天内 完成一版最小可落地的 Jarvis Agents 2.0 融合改造方案,不追求一步到位,只做最有价值、最能落地、风险最低的部分。


1. 这 2 天要完成什么

这 2 天不做完整的 swarm 化改造,也不做复杂 UI。

这 2 天的核心目标只有 4 个:

  1. 把升级方向真正落到当前 Jarvis 代码结构上
  2. 先完成 Phase 1 的最小闭环
  3. Phase 2 的受控协作 预埋接口
  4. 保证当前 reminder / task / search 主路径不被破坏

换句话说:

这 2 天的重点不是“把终态做完”,而是“把融合路径打通”。


2. 融合原则

融合这套方案时,必须遵守下面 5 个原则:

原则 1不推翻当前 graph

当前 backend/app/agents/graph.py 是现有稳定主链,不能直接大改成全新框架。

策略:

  • 保留现有 direct path
  • 只新增最小的 collaboration 入口

原则 2先补底座再谈动态协作

先做:

  • verifier
  • task schema
  • event schema
  • tool metadata

后做:

  • coordinator
  • agent message
  • 动态 create_agent

原则 3先做内部能力不急着做前台可视化

即使未来要做 Swarm 风格可观察性,也不应该在这 2 天里优先做 UI。

先把:

  • 事件结构
  • 任务结构
  • 协作状态

定义清楚。

原则 4优先保障现有业务稳定

本次融合不能影响当前已有优势:

  • continuity
  • clarification
  • native tool / fallback
  • schedule / task / search 主流程

原则 5每一步都要可测试

只要动到:

  • state
  • graph
  • tools
  • prompts

就必须补测试,不允许只写方案不验证。


3. 第 1 天计划:补底座,完成最小 Phase 1

第 1 天目标:

让 Jarvis 拥有 verifier、task schema、event schema、tool metadata 这些基础设施,但不引入复杂动态协作。


3.1 第 1 天工作目标

完成以下结果:

  1. state 能表达 direct / collaboration 两种模式
  2. verifier 成为独立角色
  3. task schema 初版可用
  4. event schema 初版可用
  5. tool metadata 初版可用
  6. 现有主路径测试不回退

3.2 第 1 天建议改动文件

重点落在这些文件:

  • backend/app/agents/state.py
  • backend/app/agents/graph.py
  • backend/app/agents/prompts.py
  • backend/app/agents/registry/models.py
  • backend/app/agents/registry/builtins.py
  • backend/app/agents/tools/__init__.py
  • backend/tests/backend/app/agents/test_graph.py
  • 新增若干 schema / tests 文件

3.3 第 1 天详细任务分解

任务 1定义最小 task schema

建议新增最小任务结构,字段控制在必要范围:

  • task_id
  • title
  • status
  • owner_agent_id
  • evidence
  • result_summary

目的:

  • 不马上实现完整 task runtime
  • 先让 graph 和 verifier 有统一结构可依赖

任务 2定义最小 event schema

建议先定义最小事件:

  • agent.tool.start
  • agent.tool.result
  • agent.verify.started
  • agent.verify.completed
  • agent.error

目的:

  • 先建立可观察性的“格式标准”
  • 后面要不要落 DB / log / stream可以再扩展

任务 3扩展 state

给现有 state 增加:

  • execution_mode
  • verification_status
  • active_tasks
  • task_results
  • 预算字段占位

注意:

  • 不要破坏现有 continuity 字段
  • 尽量以新增字段为主

任务 4新增 verifier prompt

prompts.py 中新增 verifier 的职责说明:

  • 不判断“写得像不像完成”
  • 只判断“是否真正满足请求 + 是否有证据”

任务 5graph 中插入 verifier 分支

第一天不做复杂 coordinator。

只做:

  • 在适当复杂输出后增加 verifier 节点
  • direct path 仍保持主导

任务 6给 tools 增加 metadata

当前工具补充:

  • permission_class
  • side_effect_scope
  • supports_retry
  • idempotent
  • safe_for_parallel_use

任务 7补测试

至少补下面几类测试:

  • state 扩展兼容性
  • verifier 执行路径
  • tool metadata 存在性
  • event schema 生成正确性
  • 主流程无回退

3.4 第 1 天验收标准

第 1 天结束时必须满足:

  1. 当前 reminder/task/search 流程测试继续通过
  2. verifier 已成为独立角色,而不是写在注释里的计划
  3. 有 task schema 和 event schema 初版
  4. 每个关键工具已有 metadata
  5. 当前系统还没有开始无限动态 agent

3.5 第 1 天风险控制

  1. 不做动态 create_agent
  2. 不做 message bus 全量落地
  3. 不做 UI
  4. 不做大规模 registry 重构
  5. 不改当前主路径的核心业务判断逻辑

4. 第 2 天计划:引入最小协作能力,完成 Phase 2 的雏形

第 2 天目标:

在第 1 天底座稳定的基础上,引入最小的 coordinator + task decomposition + worker assignment 能力,让 Jarvis 开始具备“受控协作”的雏形。


4.1 第 2 天工作目标

完成以下结果:

  1. graph 能识别复杂请求并切到 collaboration mode
  2. coordinator 能做最小任务拆分
  3. worker assignment 能按角色分发任务
  4. worker 输出能回收到统一 task result 结构里
  5. verifier 能对协作结果验收

4.2 第 2 天建议改动文件

重点还是这些:

  • backend/app/agents/graph.py
  • backend/app/agents/prompts.py
  • backend/app/agents/state.py
  • backend/app/agents/registry/*
  • backend/app/agents/tools/*
  • backend/tests/backend/app/agents/*

如有必要,可新增:

  • backend/app/agents/tools/collaboration.py

4.3 第 2 天详细任务分解

任务 1增加 request_mode_selector

判断当前请求是:

  • direct mode
  • collaboration mode

判定标准先做简单版,例如:

  • 是否明显是多步骤任务
  • 是否跨多个领域
  • 是否需要多个角色协作

任务 2增加 coordinator prompt

coordinator 只负责:

  • 理解任务
  • 决定是否拆分
  • 输出小任务列表

限制:

  • 最多拆 2~4 个任务
  • 不允许无限递归拆分

任务 3增加最小 task decomposition

输出结构建议包含:

  • task_id
  • title
  • role
  • goal
  • expected_evidence

任务 4增加 worker assignment

先不要做 agent-to-agent 自由通信。

由系统分配即可:

  • schedule 类给 scheduler
  • retrieval 类给 retriever
  • analysis 类给 analyst
  • execution 类给 executor

任务 5增加 task result 回收

每个 worker 返回统一结果:

  • task_id
  • status
  • summary
  • evidence
  • next_action(可选)

任务 6verifier 统一验收

协作模式最终必须经过 verifier

  • 看任务是否完成
  • 看证据是否足够
  • 看是否仍需补做某个子任务

任务 7补协作测试

至少补:

  • 多任务拆分测试
  • 角色分配测试
  • task result 汇总测试
  • verifier 拒绝不完整结果测试

4.4 第 2 天验收标准

第 2 天结束时必须满足:

  1. graph 能区分 direct / collaboration
  2. 简单请求仍然走旧路径
  3. 复杂请求可以被拆分成多个子任务
  4. 子任务可以按角色执行
  5. verifier 能拦住不完整结果
  6. 结果汇总不是单点硬编码,而是基于 task result

4.5 第 2 天风险控制

  1. 先不做真正动态 create_agent
  2. 先不做无限 message channel
  3. 先不做 parent/child agent tree
  4. 先不做可视化 UI
  5. 先保证协作模式只是“受控编排”,不是“自由蜂群”

5. 2 天之后的融合状态

如果这 2 天按计划完成Jarvis 会到达一个很关键的中间状态:

已具备的能力

  • direct / collaboration 双模式
  • verifier 独立角色
  • task schema
  • event schema
  • tool metadata
  • coordinator 雏形
  • 最小任务拆分与角色分配
  • 协作结果结构化回收

还没做的部分

  • 动态 create_agent
  • parent / child agent 树
  • 内部消息线程
  • 可视化协作面板
  • 隔离执行 / worktree

这意味着:

2 天之后Jarvis 还不是终态,但已经完成了“从静态路由走向协作运行时”的第一轮关键融合。


6. 2 天后的下一步建议

2 天融合完成后,下一步最合理的顺序是:

  1. Phase 3 详细设计
  2. 设计受限 create_agent
  3. 设计内部消息线程模型
  4. 设计 parent / child state
  5. 最后再考虑可视化与隔离执行

7. 一句话结论

这 2 天不要想着“做完 Jarvis 2.0”,而应该明确目标:

第 1 天补底座,第 2 天接编排,把最关键的融合路径打通。

只要这条路径打通,后面无论你更偏向 Swarm、Claude Code CLI 还是 Claw 的方向,都能继续演进。