EDGEPILOT//ESA AUTONOMOUS OPS ·SITES 2 ·AGENTS 8 ·SEED SKILLS 5 --:--:--UTC+8
DESIGN BLUEPRINT · 设计方案 v1.0

EDGE/PILOT

为边缘而生的自进化运维飞行员
EdgePilot 是一个多 Agent 系统,以 ESA 每小时离线日志为感知输入,通过 观察→诊断→行动→度量→反思 的闭环持续运转, 把每一轮经历沉淀为记忆技能,让边缘配置越跑越聪明。
0
专职 AGENTS
0
闭环阶段
0
运行模式
0
记忆层级
FLYWHEEL
自进化飞轮
每轮 +1 记忆
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
观察
OBSERVE
+指标快照
定向
ORIENT
+异常标记
诊断
DIAGNOSE
+诊断记录
读取匹配
决策
DECIDE
+决策记录
读取档案
执行
ACT
+行动+快照
度量
MEASURE
+效果数据
反思
REFLECT
+教训记录
★ 创建/进化
■ 记忆写入(每环节)■ 技能写入(仅反思环节)技能需要完整闭环才能蒸馏,因此只在反思中生长。

技能进化示例 · 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
间隔由优化空间驱动:两次日志检测体现出较大优化空间 → 缩短间隔;指标稳定无异常 → 拉长间隔。 刚执行变更进入验证期时固定为短间隔,确保及时度量效果。
Dormant 休眠
24h / 轮
连续多轮无异常
Active 活跃
1h / 轮
发现异常或严重问题
Verifying 验证
1h / 轮
变更已执行,等待度量
Cooling 冷却
6h / 轮
问题解决,观察防复发

迭代收敛 · cache_hit_rate → 0.8

GOAL-001 · 4 ITERATIONS · STATUS: ACHIEVED
00.250.50.751.0 TARGET 0.8 起点 0.001+缓存规则+cache_key+边缘兜底达标 0.83
约束条件:优化目标指标的同时,不得违反约束(如 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
WAF_RULES
2 条生效
▲ 拦截扫描 97%
EDGE_FUNCTIONS
origin-failover v1.2
● 生产运行中
SKILLS
5 个 · 2 已验证
◆ 1 待审查
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 模式自动执行,但高风险操作永远弹出选择框——自动化有边界,关键决策留给人。

执行模式 · 实时演示

切换模式后,点击下方操作观察不同行为
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