- 基准标准 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>
4.7 KiB
审计与链路追踪 Schema(Audit / Lineage / Trace)
状态:DRAFT / 待对齐 Audit & Compliance Team。
依据:
heicode-mananger/docs/heicode.md §五/§九、docs/heicode-runtime-auth-newapi-secret-design.md §三。配套:event-schema.md、security-boundary.md。
1. 原则
- 审计要能回答:谁、在什么时候、让哪个子 Agent、使用了什么资源、做了什么、结果如何。
- AGENT.md / resource context 面向模型理解;permission manifest 面向系统强制执行;审计以结构化记录为准,不以 Markdown 为准。
- 审计记录不得含明文密钥:只记
secret_ref(azkv://)、审批approval_id、范围与 TTL。
2. 追踪域(Lineage)
2.1 部署 / 运行链路
manager_deployment_id ↔ deployment_id ↔ swarm_id(workflow_id) ↔ correlation_id(trace_id),四者贯穿一次交付,事件按 swarm_id 持久化。
2.2 任务链路(已实现)
每个任务携带:task_id、parent_task_id、root_task_id、child_task_ids、depends_on、source(runtime_bridge / planner / dynamic_handoff)、agent_role、assigned_agent_id、retry_count、时间戳。可由此重建任务 DAG 与重做/移交谱系。
2.3 执行链路(已实现,基于事件流)
按 swarm_id 顺序持久化的事件即执行轨迹:task.created/claimed/running/heartbeat/blocked/retried/failed/completed、handoff.requested/completed、artifact.created、timeline.updated、deployment.status_changed,每条含 event_id、occurred_at、agent_instance_id、correlation_id。
2.4 审批链路(已实现)
run.approvals[approval_id]:operation、risk_level、decision(approved/rejected)、credential_ref、lease_id、reason、决策时间。客户端审批,运行时仅记录与校验。
2.5 资源 / 凭证访问链路
secret_refs(azkv://,仅引用)、resource grant 的 allowed_actions/constraints/status/created_by/revoked_by/created_at/revoked_at(字段定义在 Manager 侧 heicode.md §五)。本仓只透传与引用,不落明文。
2.6 回调投递链路(已实现)
run.metadata.callback_attempts:每次回调的 event_id、event_type、url、status、attempted_at,用于回调可靠性审计(/diagnostics 暴露)。
3. 已实现(本仓)
| 能力 | 实现 |
|---|---|
| 事件流持久化 + 分页查询 | _store_event(按 swarm_id 追加)、list_events(cursor/limit);/logs、/events 暴露 |
| 任务谱系字段 | parent/root/child_task_ids、depends_on、source、retry_count |
| 审批记录 | run.approvals、record_approval_decision |
| 回调投递审计 | callback_attempts、/diagnostics |
| 用量归因 | usage + X-Agent-* 归因头(见 usage-billing) |
| 脱敏 | _redact_sensitive(保留 secret_ref,脱敏明文密钥) |
4. 缺口
| 追踪项 | 状态 |
|---|---|
| Task lineage / execution trace | ✅ 已实现(事件流 + 任务字段) |
| Approval trace | ✅ 已实现 |
| Prompt trace(每次模型输入提示留痕) | 🔴 未实现(仅记 model_id/用量,不留 prompt 原文) |
| Model trace(请求/响应、参数、provider) | 🟡 部分(model_id/tokens;无完整请求响应留痕) |
| Tool trace(工具调用谱系) | 🔴 未实现(无 SK/MCP 工具计量,sk_tool.* 仅在 schema 预留) |
| 统一审计查询字段 / 留存策略 | 🟡 事件可查;标准查询字段与留存期未定义 |
| 交付回放(replay) | 🟡 事件流可顺序回放生命周期;无独立 replay 接口/快照格式 |
5. 建议审计记录 Schema(草案,待 Audit Team 冻结)
{
"audit_id": "aud_...",
"occurred_at": "2026-06-08T...Z",
"actor": { "user_id": "...", "channel_id": "..." }, // 谁(按 user/channelId,非 tenant)
"subject": { "agent_role": "...", "agent_instance_id": "...", "task_id": "..." }, // 哪个子 Agent / 任务
"action": "task.completed | approval.decided | resource.accessed | ...",
"resource": { "type": "git|database|storage|model", "ref": "non-secret-id", "secret_ref": "azkv://..." },
"approval_id": "approval_... | null",
"lineage": { "manager_deployment_id": "...", "deployment_id": "...", "swarm_id": "...", "correlation_id": "..." },
"result": "success | failed | blocked",
"redacted": true
}
6. 待对齐对象
Audit & Compliance Team:prompt/model/tool lineage 是否强制留痕及留存期、统一审计查询字段、交付回放快照格式、日志留存与合规要求;与 telemetry-architecture(benchmark 目录)数据源对齐。