4-Phase编排架构:5个通用Agent Skill如何做到规则参数化+组件可组合+优雅降级
当你在写第3个评分逻辑的硬编码if-else时,就该想想:能不能把规则抽到YAML里,让业务改配置而不是改代码?
一、问题:为什么Agent Skill总在重复造轮子?
Agent开发者都在面对同一个困境——每个业务场景都在重写相似的流水线:
- 评分场景:提取特征 → 查规则 → 算分 → 出报告
- 投诉场景:提取工单 → 交叉验证 → 定根因 → 归档
- 查询场景:理解意图 → 构建SQL → 执行查询 → 出图表
骨架是一样的,变的只是每一步的"内容"。但现实是,每个团队都在从零搭流水线。
teleagent-skills 给出了一个答案:用4-Phase编排架构把骨架固化为5个通用Skill,业务变化只改YAML配置。
二、架构总览:4-Phase流水线 + 5个通用Skill
2.1 4-Phase编排架构图
┌─────────────────────────────────────────────────────────────┐
│ 上层业务 Skill │
│ (Scoring Engine / Evidence Chain / Data Aggregator / ...) │
└──────────┬──────────┬──────────┬──────────┬────────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌──────────┐┌──────────┐┌──────────┐┌──────────┐
│ Phase 1 ││ Phase 2 ││ Phase 3 ││ Phase 4 │
│ Extract ││ Analyze ││ Generate ││ Archive │
│ ││ ││ ││ │
│Info- ││Data- ││Report- ││Archive- │
│Extractor ││Analyst ││Generator ││Manager │
└────┬─────┘└────┬─────┘└────┬─────┘└────┬─────┘
│ │ │ │
▼ ▼ ▼ ▼
┌─────────────────────────────────────────────────┐
│ JSON Contract (结构化数据契约) │
│ phase1_output.json → phase2_input.json → ... │
└─────────────────────────────────────────────────┘
核心思想:每个Phase是一个独立组件,Phase之间只通过JSON契约传递数据。
- 任何Phase可以被替换(换个更强大的Analyzer?换掉就行)
- 任何Phase可以被跳过(降级模式)
- 任何Phase可以被复用(5个Skill共享同一个Extract组件)
2.2 JSON契约示例
{
"phase": "extract",
"skill": "scoring-engine",
"output": {
"entities": [
{
"name": "客户A",
"type": "enterprise_customer",
"attributes": {
"annual_revenue": 50000000,
"employee_count": 320,
"industry": "制造"
}
}
],
"metadata": {
"extraction_time": "2026-07-01T10:30:00Z",
"source": "CRM_API",
"confidence": 0.92
}
},
"next_phase": "analyze"
}
三、三大设计原则深度解读
原则一:规则参数化——YAML配置驱动
传统做法是把评分规则写死在代码里:
# 硬编码,业务一变就要改代码
if customer.revenue > 10000000:
score += 30
elif customer.revenue > 5000000:
score += 20
teleagent-skills的做法——规则全部外置到YAML:
# scoring_rules.yaml
scoring_engine:
name: "政企客户商机评分"
version: "2.1"
dimensions:
- id: revenue
name: "营收规模"
weight: 0.30
rules:
- condition: "attributes.annual_revenue >= 100000000"
score: 30
label: "超大型"
- condition: "attributes.annual_revenue >= 50000000"
score: 20
label: "大型"
- condition: "attributes.annual_revenue >= 10000000"
score: 10
label: "中型"
- id: industry
name: "行业属性"
weight: 0.25
rules:
- condition: "attributes.industry in ['金融','医疗']"
score: 25
label: "高价值行业"
- id: growth
name: "增长潜力"
weight: 0.20
- id: connectivity
name: "接入成熟度"
weight: 0.15
- id: decision_chain
name: "决策链清晰度"
weight: 0.10
thresholds:
high: 70
medium: 40
low: 0
业务变了?改YAML。加维度?加YAML。零代码变动。
原则二:组件可组合——4-Phase编排 + JSON契约
5个Skill共享同一套4-Phase骨架,但每个Skill的Phase行为不同:
| Skill | Phase 1 Extract | Phase 2 Analyze | Phase 3 Generate | Phase 4 Archive |
|---|---|---|---|---|
| Scoring Engine | 提取评分对象属性 | 加载YAML规则匹配打分 | 生成评分报告+建议 | 归档评分记录 |
| Evidence Chain | 从多源提取证据 | 交叉验证+冲突检测 | 生成证据链报告 | 归档验证记录 |
| Data Aggregator | 校验清洗原始数据 | 聚合计算+同比环比 | 输出统计报表 | 归档聚合结果 |
| Visualization Renderer | 分析数据特征 | 生成ECharts配置 | 渲染HTML/Dashboard | 缓存图表资源 |
| NL2Query | 提取查询意图+实体 | 构建SQL+置信度评估 | 格式化查询结果 | 记录查询日志 |
可组合的威力:上层Skill可以按需串联下层Skill。比如数据查询网关的编排链路:
NL2Query(Phase1-2) → Data Aggregator(Phase1-2) → Visualization Renderer(Phase1-3)
一个自然语言查询,自动走完"理解→查询→聚合→出图"全流程。
原则三:优雅降级——当子组件失败时的处理策略
4-Phase架构内置了三级降级策略:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Phase 1 │────▶│ Phase 2 │────▶│ Phase 3 │────▶│ Phase 4 │
│ Extract │ │ Analyze │ │ Generate │ │ Archive │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │ │
▼ ▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ 返回原始 │ │ 跳过分析 │ │ 简化模板 │ │ 本地缓存 │
│ 输入数据 │ │ 标记低 │ │ 原始数据 │ │ 延迟重试 │
│ +置信度0 │ │ 置信度 │ │ 直出 │ │ 写入 │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
降级的核心原则:宁可给用户一个低置信度的结果,也不要直接报错中断。
四、5个Skill逐一深度解读
4.1 评分引擎 (Scoring Engine)
定位:基于YAML规则配置的多维度加权评分组件。
典型场景:政企客户商机评分、供应商评估、客户流失预警、合作伙伴分级。
输入→规则匹配→评分输出流:
{
"customer": "客户A",
"total_score": 78,
"grade": "A级-重点跟进",
"dimension_breakdown": {
"revenue": {
"score": 20, "max": 30, "label": "大型" },
"industry": {
"score": 15, "max": 25, "label": "中价值行业" },
"growth": {
"score": 20, "max": 20 },
"connectivity": {
"score": 15, "max": 15 },
"decision_chain": {
"score": 8, "max": 10 }
},
"recommendation": "建议安排专属客户经理,优先推荐5G专网+云网融合方案"
}
4.2 证据链 (Evidence Chain)
定位:多源证据交叉验证组件,能检测冲突、评估置信度、定位根因。
数据源1: 客户投诉记录 ──┐
│ ┌──────────────────┐
数据源2: 系统告警日志 ──┼────▶│ Evidence Chain │
│ │ Phase2: Analyze │
数据源3: SLA监控数据 ──┘ └────────┬─────────┘
│
┌───────────────────────┐│
│ 交叉验证结果: │
│ • 投诉说"断网2小时" │
│ • 告警显示"光衰异常" │
│ • SLA记录"可用率99.1%" │
│ 冲突检测: │
│ 投诉vs SLA存在表面矛盾 │
│ 根因="光衰异常": 0.87 │
└───────────────────────┘
4.3 数据聚合器 (Data Aggregator)
定位:原始数据二次加工组件,支持校验清洗、聚合计算、同比环比、TOP排名。
原始查询结果 聚合器输出
┌──────────────┐ ┌──────────────────────────────┐
│ 300行明细数据 │───────▶│ 月度汇总 + 同比/环比 │
│ (区县x月份) │ │ TOP10排名 │
│ │ │ 异常值标注(超过2sigma) │
│ │ │ 趋势方向 │
└──────────────┘ └──────────────────────────────┘
4.4 可视化渲染器 (Visualization Renderer)
定位:结构化数据到ECharts图表/Dashboard的自动化渲染组件。
图表类型选择是自动的:时序数据→折线图,分类型数据→柱状图/饼图,多维数据→雷达图。
4.5 NL2Query
定位:自然语言到结构化查询的智能转换组件。
用户输入: "华东区上月5G专网新增客户数"
Phase1 Extract: intent="query", entities=[region="华东", time="上月", metric="5G专网"]
Phase2 Analyze: 生成SQL + 置信度0.88
Phase3 Generate: 格式化结果
Phase4 Archive: 记录查询日志
置信度评分机制:当置信度低于阈值时,输出标注"低置信度"警告,展示SQL供人工确认。
五、行业用例矩阵
| 行业 | 评分引擎 | 证据链 | 数据聚合器 | 可视化渲染器 | NL2Query |
|---|---|---|---|---|---|
| 金融 | 客户信用评级 | 反洗钱多源验证 | 交易量同比环比 | 风控Dashboard | "查某客户近3月交易" |
| 制造 | 供应商评估 | 质检vs产线验证 | 产线OEE统计 | 产能看板 | "查A线本月良率" |
| 零售 | 会员价值评分 | 数据冲突检测 | SKU动销聚合 | 销售热力图 | "查华东区畅销品" |
| 医疗 | 患者风险分层 | 诊疗vs检验验证 | 科室接诊统计 | 病床占用率 | "查心内科空床数" |
关键洞察:5个Skill通过YAML规则配置适配不同行业,评分引擎代码逻辑完全相同——只是YAML文件不同。
六、与现有框架的本质区别
| 维度 | LangChain/LlamaIndex | AutoGen/CrewAI | teleagent-skills |
|---|---|---|---|
| 编排方式 | 代码级Chain | 多Agent对话 | 4-Phase声明式编排 |
| 规则管理 | 代码中硬编码 | Prompt中描述 | YAML参数化配置 |
| 降级策略 | try-catch | 重试对话 | 声明式降级配置 |
| 业务适配 | 改代码 | 改Prompt | 改YAML |
七、快速上手
git clone https://github.com/yuzhaopeng-up/teleagent-skills.git
cd teleagent-skills
# 评分引擎示例
cp skills/scoring-engine/config/scoring_rules.yaml my_rules.yaml
# 编辑 my_rules.yaml 定制你的评分维度
# 将Skill目录复制到你的Agent平台skills目录下
协议:Apache 2.0
Agent Skills开源生态
| 仓库 | 定位 | GitHub |
|---|---|---|
| financial-ai-skills | 金融AI技能库:104个场景纯Python实现 | https://github.com/yuzhaopeng-up/financial-ai-skills |
| teleagent-skills | 5个通用业务Skill:4-Phase编排+规则参数化 | https://github.com/yuzhaopeng-up/teleagent-skills |
| agent-cluster-comm | 多Agent集群5层通信架构 | https://github.com/yuzhaopeng-up/agent-cluster-comm |
| skill-framework | Skill治理框架:L0-L4分类+YAML模板+Python工具 | https://github.com/yuzhaopeng-up/skill-framework |
| fintech-h5-demos | 12个零依赖金融H5仪表盘演示 | https://github.com/yuzhaopeng-up/fintech-h5-demos |
别再从零写流水线了。4-Phase骨架已经搭好,你只需要写YAML。
Star teleagent-skills 一起把Agent Skill标准化。