diff --git a/AGENTS.md b/AGENTS.md index 61b07d47e..0753096ed 100755 --- a/AGENTS.md +++ b/AGENTS.md @@ -578,3 +578,49 @@ AI Agent(我)在约束内执行编码 AND based_on_table = #{MED_MEDICATION_REQUEST} AND delete_flag = '0' LIMIT 1) AS remark ``` + +## 控制平面(本项目适配版) + +我们没有 Redis/Kafka/Prometheus,但控制平面原理同样适用: + +| 企业级组件 | 本项目的实现 | 作用 | +|---|---|---| +| 任务队列(Redis) | 你发起任务,我按顺序执行 | 无并发,天然串行 | +| 状态存储(etcd) | update_plan 记录进度 + git 记录历史 | 可追溯、可恢复 | +| 监控(Prometheus) | 编译结果 + git diff | 可观测 | +| 告警(PagerDuty) | 编译失败 → 自动修复循环 | 即时反馈 | +| 审批(审批系统) | 你审查 git diff → 确认/驳回 | 人机协作 | + +### 关键设计模式 + +**幂等性** — 所有操作可重试无副作用 +``` +第1次:编译失败 → 修复 → 提交 +第2次(重跑):从失败点继续 → 不再重复已成功的步骤 +``` + +**优雅降级** — 编译失败时不停机 +``` +┌─ 编译通过 → 继续数据流验证 +└─ 编译失败 → 定位根因 → 修复 → 重新编译(不从头开始) +``` + +**串行化执行** — 无并发,所以无冲突 +``` +一个任务完成 → 你确认 → 下一个任务开始 +→ 天然避免了多 Agent 的锁竞争和一致性难题 +``` + +### Agent 执行模型 + +作为单个 Agent,我的执行模型是: + +``` +你提交任务 → 我分析需求 → 制定计划(update_plan) + → 执行修改(一次一个文件组) + → 编译验证 → 通过则继续 / 失败则修复 + → 你审查 → 通过则提交 / 驳回则修复 + → 完成 +``` + +每一步都是**同步、串行、可观测**的 — 这是最简单的控制平面,但足以保障质量。