Add Day 1 agent runtime foundations with task and event schemas, verifier support, capability metadata, graph event tracing, and regression coverage while preserving the direct execution path.
6.9 KiB
Jarvis Agents 2 天工作计划(可勾选执行版)
日期:2026-04-03
状态:执行清单
适用范围:基于 phase-0 ~ phase-4 及现有 2 天融合方案整理
使用说明
- 完成前使用
- [ ] - 完成后改成
- [x] - Day 2 默认依赖 Day 1 的核心底座完成后再推进
Day 1:补底座,完成 Phase 1 最小闭环
Day 1 目标:先把 Jarvis 从“只有静态路由”补成“有任务结构、有事件结构、有 verifier、有工具治理信息”的可扩展底座,同时不破坏当前 direct 主路径。
-
新增最小
task schema改造内容:新增backend/app/agents/schemas/task.py,统一task_id、title、status、owner_agent_id、evidence、result_summary,并补role、goal、expected_evidence、created_at、updated_at;状态固定为pending、in_progress、completed、failed、blocked。 -
新增最小
event schema改造内容:新增backend/app/agents/schemas/event.py,统一event_id、event_type、timestamp、conversation_id、agent_id、sub_commander_id、task_id、payload、severity;首批事件类型覆盖agent.tool.start、agent.tool.result、agent.verify.started、agent.verify.completed、agent.error。 -
扩展
backend/app/agents/state.py的运行时字段 改造内容:新增execution_mode、verification_status、verification_summary、verification_evidence、active_tasks、task_results、event_trace、budget_state;默认值保持兼容initial_state(),不替换现有pending_tasks、completed_tasks、tool_calls。 -
扩展 capability / tool metadata 模型 改造内容:在
backend/app/agents/registry/models.py增加permission_class、side_effect_scope、supports_retry、idempotent、safe_for_parallel_use、requires_confirmation;至少先固化read/write/external和none/local_state/db_write/network两组枚举语义。 -
回填 builtin tools 的静态 metadata 改造内容:在
backend/app/agents/registry/builtins.py和需要的backend/app/agents/tools/__init__.py中,把 search / retrieval 类工具标成偏read,create / update 类工具标成偏write,外部检索类工具标成external,并补充是否可重试、是否幂等、是否适合并行等标记。 -
新增 verifier 角色定义 改造内容:在
backend/app/agents/prompts.py增加 verifier prompt,明确 verifier 只负责验收,不负责重新规划;验收点聚焦“是否真正满足请求”“是否有明确证据”“是否把失败伪装成成功”。 -
落地 verifier 模块 改造内容:新增
backend/app/agents/verifier.py,支持passed、failed、skipped三类最小结论,先服务于工具调用后的复杂输出、知识检索结果和分析型汇总输出,不接管纯闲聊路径。 -
在
backend/app/agents/graph.py接入最小 event trace 与 verifier helper 改造内容:给_execute_tool_calls()增加 tool start / result / error 事件写入;给收尾阶段增加 verifier helper 调用;给_run_sub_commander()增加 task result 摘要写入,但暂时不重构主图为完整协作编排图。 -
补 Phase 1 单元测试与回归测试 改造内容:新增
backend/tests/backend/app/agents/test_agent_schemas.py、backend/tests/backend/app/agents/test_verifier.py,并扩展test_graph.py,覆盖 state 兼容性、schema 合法性、tool metadata 存在性、verifier 判定、主流程不回退。 -
完成 Day 1 验收 改造内容:确认 reminder / task / search 主流程继续通过;确认 verifier 已能独立运行;确认 event schema 与 task schema 已落代码;确认 direct 仍是默认主路径;确认未引入动态
create_agent、message bus 全链路和 UI。
Day 2:引入最小协作能力,完成 Phase 2 雏形
Day 2 目标:在 Day 1 底座稳定的基础上,给 Jarvis 增加“复杂请求可拆分、可分配、可回收、可验收”的最小受控协作能力,但仍然不进入自由 swarm。
-
增加
request_mode_selector改造内容:在backend/app/agents/graph.py中增加 direct / collaboration 模式选择逻辑;简单请求继续走旧路径,只有明显多步骤、跨领域、需要多角色配合的请求才进入 collaboration mode。 -
新增 coordinator prompt 改造内容:在
backend/app/agents/prompts.py中定义 coordinator 角色,职责限定为“判断是否拆解”“输出 2~4 个清晰子任务”“分配角色建议”“汇总任务结果”;明确禁止无限递归拆分。 -
新增最小 task decomposition 结构 改造内容:基于 Day 1 的 task schema 扩展最小拆分结构,至少输出
task_id、title、role、goal、expected_evidence,让复杂请求能以结构化任务列表进入后续执行。 -
增加 role -> existing agent assignment 改造内容:先复用当前已有 top-level agent,不新增独立 worker runtime;把 schedule 类任务映射给
schedule_planner,retrieval 类任务映射给librarian,analysis 类任务映射给analyst,execution 类任务映射给executor。 -
建立统一 task result 回收结构 改造内容:约束每个角色统一返回
task_id、status、summary、evidence、next_action(可选),并把结果写回task_results,避免最终结果继续依赖单点硬编码拼接。 -
让 verifier 强制参与协作结果收尾 改造内容:在 collaboration mode 下,所有复杂请求返回前都必须经过 verifier;verifier 有权拒绝证据不足、结果不完整、子任务未闭环的响应。
-
补 Phase 2 协作测试与回归测试 改造内容:覆盖复杂请求拆分测试、角色分配测试、task result 汇总测试、verifier 拒绝不完整结果测试,并再次确认 direct 模式原有流程不回退。
-
完成 Day 2 验收 改造内容:确认 graph 已能区分 direct / collaboration;确认复杂请求可拆成 2~4 个子任务;确认每个子任务有 owner 和 evidence;确认最终答案基于 task result 汇总;确认系统仍未进入无限动态 agent 模式。
这 2 天明确不做
- 不做动态
create_agent - 不做 parent / child agent tree
- 不做内部消息线程长期态管理
- 不做可视化调试面板
- 不做 event stream API
- 不做 worktree / 隔离执行
- 不做自由蜂群式协作
2 天结束后的预期状态
- 已具备
direct/collaboration双模式入口 - 已具备 verifier 独立验收层
- 已具备 task schema / event schema / tool metadata 底座
- 已具备 coordinator 雏形、任务拆分、角色分配、结果回收
- 当前 reminder / task / search 主路径无明显回退
- 后续可以继续推进 Phase 3 的受限动态协作,而不是返工 Phase 1 / Phase 2 底座