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

398 lines
8.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 的方向,都能继续演进。