Add a concrete 0-100 swarmness/compliance score, local large-scale stress, and 3000 TPM budget acceptance so the repo can say when it is a swarm by measured criteria instead of prose alone. Constraint: user required Chinese docs, explicit scenarios, parameters, formulas, pass/fail lines, and git upload. Rejected: prose-only PASS reports | they did not answer whether the system is a swarm with a concrete score. Confidence: high Scope-risk: moderate Directive: keep production runtime claims separate from local minimal swarm acceptance scores. Tested: py_compile swarm_minimal examples tests; unittest discover -s tests 45 tests; run_swarm_compliance_score.py; run_tpm_budget_acceptance.py; run_academic_standard_evaluation.py; git diff --check; docs/script secret-pattern scan. Not-tested: live S07 and production Kubernetes/NewAPI provider-rate-limit stress were not rerun in this upload step. Co-authored-by: OmX <omx@oh-my-codex.dev>
13 KiB
Agnet 受控蜂群 3 人团队 10 天交付计划
版本: v0.1
日期: 2026-05-15
计划周期: 2026-05-20 至 2026-05-29,共 10 天
团队人数: 3 人
设计依据: docs/agnet-swarm-design-principles.md
核心原则: 目标驱动、能力编队、动态任务图、受控自治、最小可验收闭环
0. 当前实现状态(2026-05-16)
本文是 Heicode / Manager / Agnet 平台 10 天生产级联调计划,不是当前 fengqun 仓库的已完成清单。当前仓库已经完成并验收的是 swarm-minimal 的最小可验收闭环:
- AQS / SW-AQS v1 标准矩阵已扩展为 S01-S10,并把去中心化、自组织、涌现性、鲁棒性、可扩展性、隐式协作作为 S10 一级验收指标。
- 本地单元测试 45 项已通过,学术化本地门禁 A01-A09 已通过。
- S07 已使用外部 GitHub 复杂代码项目
fastapi/fastapi的 live 场景,通过 Azure PostgreSQL、Redis、Blob 和 NewAPI 形成真实证据。 - S09 已补齐 3/5/7 Agent 并发自主 claim、候选融合输出、反驳-修正-再投票共识的最小代码验收。
- S10 已补齐蜂群六特征的本地最小代码验收。
仍属于本文后续平台落地范围的内容包括:Manager / Agnet 平台统一接口、人类审批主线、真实 Kubernetes worker runtime、生产级扩缩容压测、Redis Stream 消费驱动的动态任务图、生产权限和监控体系。后续实施时不能把本仓库的本地最小闭环验收直接等同于完整生产平台交付。
当前仓库指标测试的统一阈值见 AGENT_SWARM_INDICATOR_TEST_MATRIX.zh-CN.md。本计划后续所有验收记录都应沿用“指标、场景、成功值、证据入口”四列格式,不能只写“已验证”。
1. 交付目标
10 天结束时,团队必须交付一个可以最小验证的 Agnet 受控蜂群闭环。
这个闭环不是传统敏捷或瀑布流程,不要求用户选择开发方法论。它要证明:
- Heicode / Manager 可以把用户目标、资源引用、密钥引用、预算和审批策略提交给 Agnet 平台。
- Agnet 平台可以创建 Swarm Run,生成动态任务图和最小能力编队。
- 子 Agnet runtime 可以领取任务、执行、产生产物、交接或失败回流。
- 高危动作可以请求 Heicode / Manager 审批。
- 事件、状态、产物、用量和审计可以回传并被 Manager 查询。
- Azure 基础设施上能真实运行,而不是只在文档或模拟接口里完成。
2. 明确不做什么
本阶段不做以下内容:
- 不把 Agnet 蜂群绑定到瀑布、敏捷、Scrum 或 Sprint。
- 不让普通用户手写完整 payload、manifest、Resource Grant、AKS 参数。
- 不让子 Agnet 保存长期密钥。
- 不把 CodeGW 后台暴露给普通用户。
- 不追求大规模多 Swarm 调度优化。
- 不追求完全自动复杂产品规划。
- 不要求一次完成全自动生产发布。
本阶段只做一条生产级方向正确、可验证、可继续扩展的最小闭环。
3. 三人角色划分
| 成员 | 角色名称 | 主要负责 | 不能遗漏 |
|---|---|---|---|
| A | Heicode / Manager 对接负责人 | Manager 侧启动、资源摘要、接口调用、回调接收、状态展示、审批入口 | 不暴露复杂底层参数,不回显密钥 |
| B | Agnet Swarm Runtime 负责人 | Swarm Run、动态任务图、能力编队、任务 claim、handoff、事件、产物、失败回流 | 不能把顺序 workflow 当蜂群 |
| C | Azure / 基础设施 / 验收负责人 | AKS、PostgreSQL、Redis、NATS、密钥保管器、部署、监控、联调环境和最终验收 | 不能只证明 Pod Running |
三人每天必须围绕同一个 Swarm Run 联调。不能 A 做 Manager、B 做 Runtime、C 做 AKS 后各自结束;每天都要有接口和状态对齐。
4. 10 天总排期
Day 1: 2026-05-20,边界冻结与接口冻结
目标:三人对同一个最小闭环达成一致,冻结接口草案和验收样例。
| 成员 | 当日任务 | 当日交付 |
|---|---|---|
| A | 梳理 Manager 现有资源绑定、密钥引用、用户上下文、启动入口;确认 Manager 可以提供哪些字段 | Manager -> Agnet 创建请求字段清单 |
| B | 梳理 Agnet 平台现有 Agent、Workflow、K8s、事件和任务能力;确认需要新增哪些 Swarm 模型 | Swarm Run / Task / Event / Artifact 模型草案 |
| C | 核验 Azure AKS、PostgreSQL、Redis、NATS、密钥保管器可用性;确认环境、域名、网络和访问方式 | 联调环境清单和风险清单 |
当日最小联调:
- A 和 B 共同确认
POST /api/swarms请求体。 - B 和 C 共同确认 Agnet 平台在 AKS 上的运行方式。
- A 和 C 共同确认 Manager 回调地址、内网访问策略和密钥引用策略。
Day 2: 2026-05-21,数据模型与服务骨架
目标:Manager 与 Agnet 平台都具备最小数据落库和接口骨架。
| 成员 | 当日任务 | 当日交付 |
|---|---|---|
| A | 实现或整理 Manager 侧 Swarm 启动记录、回调记录、审批记录、状态查询入口 | Manager Swarm 本地记录结构 |
| B | 实现 swarm_runs、swarm_tasks、swarm_capabilities、swarm_events、swarm_artifacts、swarm_approvals 最小模型 |
Agnet Swarm 数据模型迁移 |
| C | 准备 AKS namespace/label 策略、数据库连接、Redis、NATS 连接和服务健康探针 | 可部署的基础设施配置 |
当日最小联调:
- Manager 能发起一个 dry-run 创建请求。
- Agnet 平台能写入 Swarm Run。
- C 能在环境中确认数据库、Redis、NATS 健康。
Day 3: 2026-05-22,创建 Swarm Run 闭环
目标:完成 Manager -> Agnet 平台创建 Swarm Run 的真实接口联调。
| 成员 | 当日任务 | 当日交付 |
|---|---|---|
| A | Manager 组装用户目标、资源引用、密钥引用、预算、审批策略,调用 POST /api/swarms |
Manager 创建 Swarm Run 调用成功 |
| B | Agnet 平台接收创建请求,生成初始 Swarm Run、初始任务图和能力编队 | 返回 swarm_id、初始状态和任务摘要 |
| C | 部署 Agnet 平台服务到联调环境,确认 Manager 可访问,配置服务认证 | 真实环境接口可达 |
当日最小联调:
- Manager 发起请求。
- Agnet 返回
swarm_id。 - PostgreSQL 有
swarm_runs记录。 - Manager 能保存
swarm_id并展示状态为created或preparing。
Day 4: 2026-05-23,任务池、claim、heartbeat
目标:证明 Agnet 平台不是固定 workflow,而是有共享任务池和任务领取机制。
| 成员 | 当日任务 | 当日交付 |
|---|---|---|
| A | Manager 增加 Swarm 状态与事件查询入口,能展示 created/claimed/running | Manager 状态页或 API 可查 |
| B | 实现内部任务 claim、heartbeat、release、timeout 机制 | 子 Agnet 可领取任务并保持续约 |
| C | 在 AKS 中运行最小子 Agnet runtime 或 worker,验证 heartbeat 与日志 | 真实 runtime 任务领取证据 |
当日最小联调:
- Agnet 平台生成至少 2 个任务。
- 一个子 Agnet claim 其中一个任务。
- heartbeat 可见。
- Manager 能看到任务从
created到claimed或running。
Day 5: 2026-05-24,事件流与 artifact
目标:证明子 Agnet 执行后能产出事件和产物,不只是状态变化。
| 成员 | 当日任务 | 当日交付 |
|---|---|---|
| A | Manager 接收 swarm-events 和 artifacts 回调,保存并展示摘要 |
Manager 可见事件和产物 |
| B | Agnet 平台实现 event append、artifact create、callback sender | 事件与产物回传 Manager |
| C | 提供 artifact 存储或 Git/对象存储路径,配置日志采集和追踪 ID | artifact 可访问、可校验 |
当日最小联调:
- 子 Agnet 完成一个任务。
- Agnet 平台生成
task.completed事件。 - 至少产生一个 artifact。
- Manager 能查询到事件和 artifact 摘要。
Day 6: 2026-05-25,handoff 与失败回流
目标:证明蜂群有协作和修复能力,而不是单任务执行器。
| 成员 | 当日任务 | 当日交付 |
|---|---|---|
| A | Manager 展示 handoff、failed、retry、blocked 等状态,避免只展示成功 | 失败和交接可观察 |
| B | 实现 handoff 创建、目标能力选择、失败回流、attempt_count | 至少一次 handoff 或失败回流 |
| C | 注入一个可控失败场景,验证任务释放、重试和事件一致性 | 失败恢复验证记录 |
当日最小联调:
- 一个任务失败。
- 平台生成失败事件。
- 任务被回流或转交。
- 另一个能力继续处理。
- Manager 能看到失败原因和后续动作。
Day 7: 2026-05-26,高危审批与短期凭证边界
目标:证明生产级安全边界存在。
| 成员 | 当日任务 | 当日交付 |
|---|---|---|
| A | Manager 接收 approval-requests,提供审批结果回传接口 |
审批请求可见且可回传 |
| B | Agnet 平台在高危任务前暂停,等待审批结果;审批通过后继续,拒绝后停止或换方案 | 高危任务状态机 |
| C | 验证密钥保管器只返回引用或短期租约,不输出长期明文;验证网络访问策略 | 密钥与审批安全证据 |
当日最小联调:
- Agnet 平台请求生产部署或云资源写操作审批。
- Manager 产生审批记录。
- 审批通过后任务继续。
- 审批拒绝后任务失败或生成安全替代任务。
- 日志中无明文长期密钥。
Day 8: 2026-05-27,端到端最小任务
目标:跑通一条完整目标驱动任务。
| 成员 | 当日任务 | 当日交付 |
|---|---|---|
| A | Manager 从启动到状态、事件、artifact、审批、用量全部可见 | Heicode/Manager 侧完整链路 |
| B | Agnet 平台完成动态任务图、claim、artifact、handoff、verify、final status | Swarm Runtime 完整链路 |
| C | 线上或准生产 AKS 环境跑通,采集日志、指标、数据库证据 | 环境级闭环证据 |
当日最小联调:
- 从 Manager 创建 Swarm Run。
- 至少两个任务完成。
- 至少一个 artifact。
- 至少一个 handoff 或失败回流。
- 最终状态为
completed或可解释的failed。
Day 9: 2026-05-28,生产级加固
目标:修复联调问题,补齐幂等、重试、日志脱敏、状态一致性和基础监控。
| 成员 | 当日任务 | 当日交付 |
|---|---|---|
| A | 增加 Manager 侧幂等处理、重复回调处理、脱敏展示、错误态说明 | Manager 生产级接口保护 |
| B | 增加 Agnet 平台幂等 key、状态机保护、重试上限、收敛判断 | Runtime 生产级状态保护 |
| C | 增加健康检查、日志查询、指标面板、告警阈值和回滚说明 | 可运维证据 |
当日最小联调:
- 重复创建请求不会生成重复 Swarm。
- 重复回调不会生成重复事件。
- Agent 掉线后任务可释放。
- 日志没有密钥明文。
- 指标可看到任务、事件、失败、耗时。
Day 10: 2026-05-29,最终验收与交付
目标:完成最终验收,整理接口、部署、验证和遗留风险。
| 成员 | 当日任务 | 当日交付 |
|---|---|---|
| A | 输出 Manager 侧验收记录、接口说明、用户可见边界和遗留问题 | Manager 交付说明 |
| B | 输出 Agnet Runtime 验收记录、数据模型、状态机、接口说明 | Agnet 平台交付说明 |
| C | 输出 Azure 环境验收记录、部署说明、监控证据、安全检查 | 环境与验收报告 |
最终验收必须包含:
- 创建 Swarm Run 证据。
- 动态任务图证据。
- 子 Agnet claim 证据。
- handoff 或失败回流证据。
- artifact 证据。
- 高危审批证据。
- 事件、日志、用量、审计证据。
- 无明文长期密钥证据。
最终验收的最小成功值:
| 指标组 | 成功值 |
|---|---|
当前 swarm-minimal 复验 |
A01-A09、S01-S10、F01-F06 全部 PASS |
| Manager / Agnet 平台接口 | 创建、查询、停止、回调、artifact、审批接口均有至少一次真实环境调用证据 |
| Runtime 扩缩容 | 真实 worker runtime 下重复 3/5/7 扩缩容场景,仍满足无重复 claim、失败为 0 或可恢复 |
| 审批与安全 | 高危动作 100% 进入审批;长期明文密钥泄露次数为 0 |
| 可观测性 | run、task、event、artifact、usage、audit、日志和指标均可按 correlation_id 查询 |
- 失败恢复证据。
5. 每日同步机制
每天固定回答以下问题:
- 今天是否能创建同一个 Swarm Run。
- 今天是否有真实任务图。
- 今天是否有子 Agnet claim。
- 今天是否有事件流。
- 今天是否有 artifact。
- 今天是否发生 handoff 或失败回流。
- 今天是否能在 Manager 看到状态。
- 今天是否触发过审批。
- 今天是否存在密钥或越权风险。
- 今天的阻塞是否影响 2026-05-29 验收。
6. 完成定义
本 10 天计划完成的定义:
- Manager 与 Agnet 平台接口能在真实环境联通。
- Agnet 平台能创建 Swarm Run。
- Agnet 平台能生成动态任务图。
- 至少一个子 Agnet runtime 能领取任务并上报 heartbeat。
- 至少一个任务能产生产物。
- 至少发生一次 handoff 或失败回流。
- 至少发生一次审批请求和审批结果回传。
- Manager 能查询状态、事件、artifact、用量和审计。
- Azure 环境有可解释的服务、日志、指标和失败恢复证据。
- 真实长期密钥不出现在 Git、Markdown、日志、事件或错误信息中。
如果只做到部署多个 Pod、跑一条固定 workflow、或展示模拟结果,不算完成。