- 基准标准 v2.1:SwarmMetrics(15 字段)、τ/η/P_decision/reward 公式、对称 G_E,c(修正 C_base=1.0 退化)、Σλ=1.0 校验;新增基线对比与运行记录 schema;指标覆盖缺口分析;参考系数暂留为元数据(待量化)。 - 主控 Agent 实体(分解 / 评审决策 / 汇总);事件契约修正(timeline.title、budget.threshold_pct、handoff 角色、task.released)+ 契约校验脚本。 - 实质性 LLM 对等回复(含降级回退);集成契约(runtime / event / usage / audit / frontend / capability / security);CLIENT_GUIDE 客户端指南;CI 工作流;治理与交付文档。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3.9 KiB
3.9 KiB
Agent 能力与调度 Schema(Capability / Registry / Routing)
状态:DRAFT / 待对齐 Infra & Scheduling Team。
依据:
heicode-mananger/docs/heicode.md §五、docs/integration/heicode-am-contract.md §2。配套:runtime-contract.md、security-boundary.md。
1. 现状
- 当前能力调度为 swarm 私有实现:Agent 以
AGENT_CAPABILITIES注册到编排器(Redis 注册表),编排器按「required_capabilities ⊆ agent.capabilities+ 剩余容量」派发。 - 尚未接入统一 agent registry / capability center / quota / tenant / region·GPU 调度 / provider routing / model policy。这些归 Infra/Scheduling,未在本仓实现(避免 Runtime Scheduling 双实现)。
2. 已实现的能力模型(本仓)
2.1 Agent 注册(AgentMetadata)
{ "agent_id": "...", "status": "idle|busy|handoff-pending|failed",
"capabilities": ["python","testing", ...], "current_task_id": "...|null",
"last_heartbeat": 0.0 }
另:register/heartbeat 上报 available_slots(剩余容量),编排器据此避免向满载 Agent 派发。
2.2 任务侧能力需求
任务携带 agent_role 与 required_capabilities;派发用 can_agent_run_task(required ⊆ capabilities,空需求视为通用可执行)。
2.3 能力别名(handoff_logic.CAPABILITY_ALIASES)
code_generation / python / general 等扩展为本地等价能力集合,用于移交决策与匹配宽松化。
2.4 角色(role)
- Manager/产品口径角色(
heicode.md §五):product、frontend、backend、reviewer、ops。 - 本仓规划回退默认角色:
implementation、testing、documentation(agent_role字段,注入specialist_role)。
3. 角色 ↔ 资源 ↔ env(对齐 AM)
资源授权(Resource Grant,Manager 侧)按角色绑定资源,HM 解析为固定 env 名注入 Agent(heicode-am-contract §2):
| 资源类型 | provider | 非密 env | 密钥 env(经 secret_ref) |
|---|---|---|---|
| git | github/gitea/gitlab | GIT_PROVIDER GIT_REPO_URL GIT_DEFAULT_BRANCH |
GIT_TOKEN |
| database | mysql / postgres | MYSQL_* / POSTGRES_*(host/port/db/user) |
MYSQL_PASSWORD / POSTGRES_PASSWORD |
| storage | azure blob | AZURE_BLOB_ACCOUNT_NAME AZURE_BLOB_CONTAINER |
AZURE_BLOB_ACCOUNT_KEY |
角色/指令经 AGENT_ROLE_NAME + AGENT_INSTRUCTION_TEXT 注入(AM 约定)。
4. 目标统一调度 Schema(待 Infra 定义)
| 维度 | 字段(建议) | 状态 |
|---|---|---|
| Registry | agent_id、capabilities、role、framework、version、health |
🟡 本仓有私有注册表,未接统一中心 |
| Capability center | 能力字典、能力版本、能力↔工具映射 | 🔴 未接入 |
| Quota | max_concurrent、token_quota、cost_quota(按 user/channelId) |
🟡 仅 Agent 侧 MAX_CONCURRENT_TASKS/容量 |
| Tenant isolation | —(按标准用 user/channelId,不引入 tenant) | ⛔ 不在本仓 |
| Region / GPU scheduling | region、gpu_class、node_pool |
🔴 未接入(AKS/Infra) |
| Provider routing | provider、model_policy、fallback |
🔴 未接入(NewAPI/网关侧) |
| Model policy | model_ref、profile、budget |
🟡 Agent 用 OPENAI_MODEL;统一 policy 未接 |
5. 缺口
- 🔴 统一 agent registry / capability center / provider routing / region·GPU 调度:未实现,归 Infra/Scheduling。
- 🟡 配额仅 Agent 并发/容量级;无 user/channelId 维度配额中心。
- ⛔ tenant 维度:按标准不引入。
- ⚠️ 风险:若 Infra 落地统一调度,需收敛本仓私有派发,避免 Runtime Scheduling 双实现。
6. 待对齐对象
Infra & Scheduling Team:统一 registry/capability center 字段、quota(按 user/channelId)、region·GPU·provider routing、model policy,以及本仓私有派发与统一调度的收敛路径。