DESIGN BLUEPRINT · 设计方案 v1.0
EDGE/PILOT
为边缘而生的自进化运维飞行员
EdgePilot 是一个多 Agent 系统,以 ESA 每小时离线日志为感知输入,通过
观察→诊断→行动→度量→反思 的闭环持续运转,
把每一轮经历沉淀为记忆与技能,让边缘配置越跑越聪明。
01
多 Agent 架构
Multi-Agent Architecture
覆盖配置抓取 → 日志分析与建议 → 配置下发 → 函数撰写部署 → 审查 → 效果校验的完整职责链。
8 个 Agent 分属四层,遵循核心边界原则:能读的不一定能写,能推理的不一定能执行,能执行的不一定能决策。
编排层ORCHESTRATION调度 · 不做领域工作
ORCHESTRATOR编排官
接收定时/事件/用户信号,分解任务,调度各 Agent 按序或并行执行,汇总结果。
任务调度消息路由不读日志不写配置
认知层COGNITION推理 · 不能执行
DIAGNOSTICIAN诊断官
基于指标报告做根因推理,匹配技能库,输出诊断链与置信度。
根因推理技能匹配不出配置
ADVISOR建议官
将诊断转化为具体配置变更方案,评估风险等级,定义验证指标。
配置方案风险评估不执行
REVIEWER审查官
在执行前审计变更:检查配置冲突、策略合规、预算与潜在副作用。
冲突检测合规审计不修改方案
感知层PERCEPTION读取 · 不能写
INSPECTOR巡检官
抓取站点当前配置 + 采集离线日志,校验完整性,输出标准化输入。
配置抓取日志采集不分析
ANALYZER分析官
解析日志,计算缓存/状态码/TTFB/流量成分等全维度指标,标记异常。
指标计算异常标记不诊断
VERIFIER校验官
变更后对比前后指标,判定效果,检测副作用,必要时触发回滚建议。
效果度量副作用检测不回滚
执行层ACTUATION写入 · 不能决策
DEPLOYER部署官
唯一拥有写权限的 Agent。通过 ESA MCP 下发配置变更、撰写并部署边缘函数、管理版本与灰度。
配置下发函数部署版本回滚不决定"改什么"
| AGENT | 读日志 | 读配置 | 算指标 | 做诊断 | 出建议 | 审查 | 写配置 | 部署函数 | 通知用户 |
| Orchestrator 编排官 | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ● |
| Inspector 巡检官 | ● | ● | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ |
| Analyzer 分析官 | ● | ✕ | ● | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ |
| Diagnostician 诊断官 | ✕ | 只读 | ✕ | ● | ✕ | ✕ | ✕ | ✕ | ✕ |
| Advisor 建议官 | ✕ | 只读 | ✕ | ✕ | ● | ✕ | ✕ | ✕ | ✕ |
| Reviewer 审查官 | ✕ | 只读 | ✕ | ✕ | ✕ | ● | ✕ | ✕ | 仅否决 |
| Deployer 部署官 | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ● | ● | ✕ |
| Verifier 校验官 | ● | 只读 | ● | ✕ | ✕ | ✕ | ✕ | ✕ | ● |
双速架构:离线速度(每小时日志分析)产出"策略",在线速度(Deployer 部署的边缘函数)实时执行策略并回传增强遥测,两条速度相互喂养,构成持续优化的闭环。
02
多级记忆与技能沉淀
Memory & Skill System
系统的"聪明"来自两类沉淀物的分离:记忆记录"发生过什么",技能回答"该怎么做"。
记忆每轮都在写,技能只在反思中生长。
MEMORY · 记忆
Episode 经历
"发生过什么?"
- 性质:事实性、情境化,属于特定时刻与站点
- 粒度:单次闭环循环产生一条
- 复用:不可直接复用,只能被检索与蒸馏
- 增长:每轮循环 +1,随时间降权老化
- 类比:病历档案
{
"episode_id": "ep-20260720-04",
"observation": { /* 指标快照 + 异常标记 */ },
"diagnosis": { /* matched_skill, confidence */ },
"action": { /* 做了什么配置变更 */ },
"outcome": { /* before/after, verdict */ },
"lesson": { /* 学到了什么 */ }
}
SKILL · 技能
Skill 诊疗方案
"遇到什么情况该怎么做?"
- 性质:程序性、可泛化,跨站点可复用
- 粒度:从多次经历中蒸馏出的模式
- 复用:触发条件匹配即可直接调用
- 增长:偶尔 +1,但 version 持续进化
- 类比:诊疗方案 + 成功率档案
{
"skill_id": "skill-cache-miss-static",
"trigger": { /* hit_rate<0.1 且 MISS>30% */ },
"action_template": { /* 加缓存规则, TTL 参数化 */ },
"track_record": { /* 4胜/1负, success_rate 0.8 */ },
"evolution_log": [ /* v1→v2→v3 进化史 */ ]
}
语义记忆SEMANTIC
站点级归纳知识:"zdd 源站对 /ali/** 无文件"、"heyitcp 是日本探测服务"。从多次经历归纳,更新极慢。
更新频率 · 极低
情节记忆EPISODIC
每轮循环的完整经历(Episode)。支持按症状相似度检索,用于"我以前遇到过类似的吗?"
每轮 +1 · 90天降权
工作记忆WORKING
当前循环的中间状态。循环结束后归档为 Episode,不长期保留。
仅当前周期
沉淀点分布 · WHERE ACCUMULATION HAPPENS
■ 记忆写入(每环节)■ 技能写入(仅反思环节)技能需要完整闭环才能蒸馏,因此只在反思中生长。
技能进化示例 · skill-cache-miss-static 的成长史
VERSION 1
初始创建
TTL=7天,从 zdd 首轮诊断中提炼,状态 provisional。
FROM ep-20260718-04
VERSION 2
参数调优
发现版本化资源内容不可变,TTL 提升至 30 天。
FROM ep-20260719-04
VERSION 3
条件泛化
增加 cache_key=full_uri,避免 query string 导致缓存分裂;推广至 heyitcp。
FROM ep-20260720-04
03
双运行模式
Loop & Goal Modes
同一个飞轮的两种驱动方式。Loop 是巡逻——节奏自适应,忙时快、闲时慢;
Goal 是治疗——锁定靶点持续迭代,直到达标或确认无空间。Loop 可以发现并触发 Goal。
◉ LOOP · 巡逻模式
◎ GOAL · 目标模式
自适应触发间隔 · ADAPTIVE INTERVAL
发现3个问题
1h
1h
4h
6h · 转好
24h · 稳定
突发 → 1h
间隔由优化空间驱动:两次日志检测体现出较大优化空间 → 缩短间隔;指标稳定无异常 → 拉长间隔。
刚执行变更进入验证期时固定为短间隔,确保及时度量效果。
Verifying 验证
1h / 轮
变更已执行,等待度量
Cooling 冷却
6h / 轮
问题解决,观察防复发
迭代收敛 · cache_hit_rate → 0.8
GOAL-001 · 4 ITERATIONS · STATUS: ACHIEVED
约束条件:优化目标指标的同时,不得违反约束(如 502_rate ≤ 0.05、TTFB P90 ≤ 500ms),防止"为达标不择手段"。
终止条件 · 5 种
ACHIEVED目标指标达标且约束全部满足 → 成功
CONVERGED连续 N 轮改善 < 阈值 → 已接近极限,边际收益递减
BLOCKED需人工介入(改 DNS / 改源站代码)→ 能力边界到了
NO_PATH技能库中无可行行动 → 知识边界到了,需学习新技能
TIMEOUT超出最大迭代数或时限 → 安全阀,防止无限循环
嵌套关系:Loop 发现严重异常时可自动创建 Goal;Goal 完成后控制权交还 Loop,进入冷却观察。
04
交互界面
Site-as-Session Interface
每个站点就是一个会话。左侧是站点当前配置与 Agent 运行状态的实时面板,右侧是与 Agent 的对话流——
诊断、配置 diff、风险确认都在会话中完成,可追溯、可审计。
zdd.queniuwk.cn
heyitcp.queniuwk.cn
● LOOP · ACTIVE · 1h/轮
当前配置 · LIVE
CACHE_RULES
3 条生效
▲ hit_rate 0.82
EDGE_FUNCTIONS
origin-failover v1.2
● 生产运行中
EPISODES
累计 47 条
近1轮 · success
DIAGNOSTICIAN · 04:03
检测到
502 率 51%,集中在 /ali/**、/mtb/** 的 .js 资源,缓存状态全部 MISS。
匹配技能
skill-cache-miss-static v3(成功率 80%),根因:源站无这些 CDN 资源文件且缓存规则未覆盖。
ADVISOR · 04:03
建议为版本化静态资源添加缓存规则:
cache_rules:
+ - match: {path_prefix: ["/ali/", "/mtb/"]}
+ ttl: 2592000 # 30天,版本化资源不可变
+ cache_key: full_uri
⚠ 风险等级 · 低(可逆)
当前为 AUTO 模式,低风险变更将自动执行。预期:命中率 0.1% → 80%+。
立即执行查看依据
执行吧,顺便把扫描器的 WAF 规则也加上。
DEPLOYER · 04:05
✓ 缓存规则已下发 ✓ WAF 规则已下发。将在下一小时日志中度量效果,校验官已就位。
05
安全控制
Safety & Governance
Ask / Auto 双模式。Ask 模式下所有配置变更与函数部署都需用户批准;
Auto 模式自动执行,但高风险操作永远弹出选择框——自动化有边界,关键决策留给人。
执行模式 · 实时演示
切换模式后,点击下方操作观察不同行为
添加静态资源缓存规则LOW
调整 WAF 扫描器拦截规则MEDIUM
部署边缘函数 · 改写回源地址HIGH
| 风险等级 | ASK 模式 | AUTO 模式 | 典型操作 |
| LOW | 请求允许 | 自动执行 | 缓存 TTL、WAF 规则 |
| MEDIUM | 请求允许 | 自动执行 | 边缘函数部署、限流 |
| HIGH | 请求允许 | 弹出选择框 | 回源地址、DNS、全站级 |
变更窗口
写操作仅在指定时段执行,避免凌晨无人值守变更。
回滚快照
每次写操作前自动保存配置快照,支持一键回滚。
审计日志
所有写操作记录调用方、时间、内容,全程可追溯。
频率限制
单站点每小时最多 5 次配置变更,防止抖动。
爆炸半径
测试环境 → 灰度 10% → 全量,逐级放大。
写操作加锁
同一站点同一时间只允许一个写操作,避免冲突。
06
补充设计
Additional Considerations
在五大方向之外,以下六点是让系统真正"跑得起来、跑得长久"的关键补充。
COLD START冷启动与种子技能
首轮无技能可用。从 zdd / heyitcp 的真实分析经验提炼 5 个种子技能(缓存缺失、扫描洪泛、无 HTTPS、探针高延迟、源站不可达)作为"先天知识",飞轮转起来后自我生长。
LOG PIPELINE日志获取管线
ESA 当前无离线日志 OpenAPI。MVP 用"手动下载 + 目录监听",长期切换到 SLS 日志投递——把"下载文件"变成"查询数据",与 Agent 工作模式天然匹配。
SKILL TRANSFER多站点技能迁移
技能库跨站点共享。A 站点验证过的技能,B 站点遇到相似症状时直接复用并带出历史成功率;3 个以上站点命中同一模式时,自动提升技能泛化等级。
META-OBSERVABILITYAgent 自观测
给 Agent 自己也装仪表:诊断准确率、技能成功率、建议采纳率、平均闭环时长。用数据回答"Agent 到底做得好不好",驱动框架本身迭代。
FAILURE HANDLING失败处理与回滚
行动失败 → 校验官检测副作用 → 触发回滚快照 → 技能标记 needs_review。失败也是学习材料:失败原因写入技能的 evolution_log,避免重蹈覆辙。
EVALUATION效果评估体系
每个变更都绑定验证指标与目标值(如 hit_rate > 0.5,1h 后检查)。无验证不沉淀——只有被度量过的经历才参与技能进化。
07
落地路线
Rollout Phases
PHASE 1 · MVP
飞轮空转
3人1天。跑通 观察→诊断→沉淀 闭环,验证"记忆能存、技能能长"。不接真实写操作。
1 DAY
PHASE 2
半自治配置
接入 ESA MCP 读+低风险写,Ask/Auto 模式上线,校验官开始度量真实效果。
3-4 WEEKS
PHASE 3
边缘函数部署
Deployer 上线,边缘函数模板库 + 灰度发布,在线速度接入,双速架构成型。
4-6 WEEKS
PHASE 4
全自治闭环
Goal 模式上线,多站点技能迁移,Agent 自观测,自适应频率完全自动化。
6-8 WEEKS