9.4 高级设计模式与选择指南

面向经管学生、研究者与从业者的 AI 智能体设计教材

作者

李学恒、林建浩、严翊歆

发布于

2026-05-11

基础模式处理的是单线程、单执行者的场景。当任务涉及多条路径选择、专业知识嵌入或多个独立执行者时,需要更高级的模式。

模式 4:上下文感知选择

Context-Aware Tool Selection

适用场景:同一个目标,根据输入数据的特征选择不同的处理方法。

金融案例——数据源路由:

▶ Skill
---
name: smart-data-analysis
description: 当用户需要分析经济金融数据时使用。根据数据规模和类型自动选择合适的分析路径。
allowed-tools: "Bash(python:*) Read Write Glob"
---

## 决策路由

判断数据特征,选择对应分析路径:

### 路径 A:小数据集(< 1000 行 CSV)
→ 本地 Python 脚本直接处理
→ 运行 python scripts/local_analysis.py --input {file}
→ 输出:统计摘要 + 可视化图表

### 路径 B:大数据集(> 1000 行或多表关联)
→ 数据库查询 + 聚合计算
→ 运行 python scripts/db_query.py --source {file} --query {analysis_type}
→ 输出:查询结果 + 分析报告

### 路径 C:实时数据需求
→ API 接口获取最新数据
→ 运行 python scripts/api_fetch.py --indicator {indicator}
→ 输出:实时数据 + 与历史数据的对比

## 向用户解释选择
分析前告知用户:检测到数据为 XX 类型(XX 行/需要实时获取),
将采用路径 X 进行分析。说明选择原因。
关键技法

上下文感知选择的关键是透明决策。智能体在执行前要告知用户选择了哪条路径、为什么选择这条路径。如果用户不同意,可以手动指定其他路径。

模式 5:领域专业智能

Domain-Specific Intelligence

适用场景:Skill 的核心价值不在工具调用,而在嵌入的专业知识和决策规则。

金融案例——投资合规检查:

▶ Skill
---
name: investment-compliance
description: 当用户需要对投资交易做合规检查时使用。嵌入监管规则和风控标准,确保交易合规。
allowed-tools: "Read Write Glob"
---

## 步骤 1:获取交易信息
读取交易详情:金额、对手方、资产类别、交易方向

## 步骤 2:应用监管规则
参阅 references/regulatory_rules.md 中的规则清单:
- 制裁清单筛查:核对 OFAC、EU、UN 制裁名单
- 投资集中度检查:单一标的占比是否超过基金净值的 10%
- 关联交易识别:对手方是否为关联方

## 步骤 3:风险评估
根据以下标准评定风险等级:
- 低风险:金额 < 50 万,对手方为白名单机构
- 中风险:金额 50-500 万,或首次交易对手方
- 高风险:金额 > 500 万,涉及高风险地区,或关联交易

## 步骤 4:输出审计报告
生成结构化报告,包含:
- 所有筛查步骤和结果
- 风险等级判定及依据
- 合规结论:通过 / 待复核 / 不通过
- 高风险交易标记待人工审核,不自动放行

保存到 output/compliance_{date}_{id}.md
合规场景的边界

领域智能模式在合规、风控等场景中有明确价值,但 Skill 中嵌入的规则必须经过专业人士审核。智能体可以执行规则,规则本身的正确性需要由合规团队把关。

模式 6:多子代理编排

适用场景:单个 Skill 内部需要多个专注的执行者分工完成不同阶段的任务,各阶段之间存在信息传递但需要上下文隔离。

这种模式的核心思想是:Skill 本身充当调度中心,在内部按需生成多个子代理,每个子代理在独立上下文中完成各自的工作,最终由 Skill 整合结果。

金融案例——基金综合评估报告:

▶ Skill
---
name: fund-comprehensive-evaluation
description: 当用户需要对一只基金做综合评估时使用。协调多个子代理分别完成业绩、持仓、风险和合规四个维度的分析,最终整合为评估报告。
allowed-tools: "Bash(python:*) Read Write Glob Agent"
---

## 任务分解与子代理分派

### 子代理 1:业绩分析
- 输入:基金代码、评估期间
- 工作:计算收益率、夏普比率、最大回撤、同类排名
- 输出:保存到 temp/performance_{fund_id}.md
- 只返回一句话摘要

### 子代理 2:持仓分析
- 输入:基金代码、最新持仓报告
- 工作:行业分布、个股集中度、换手率、重仓股变动
- 输出:保存到 temp/holdings_{fund_id}.md
- 只返回一句话摘要

### 子代理 3:风险评估
- 输入:基金代码、基准指数
- 工作:波动率、Beta、跟踪误差、VaR 估算
- 输出:保存到 temp/risk_{fund_id}.md
- 只返回一句话摘要

### 子代理 4:合规检查
- 输入:基金代码、监管规则文件
- 工作:投资比例合规、关联交易、信息披露完整性
- 输出:保存到 temp/compliance_{fund_id}.md
- 只返回一句话摘要

## 结果整合
四个子代理完成后:
1. 读取四份分析文件
2. 按 assets/fund_eval_template.md 整合为综合评估报告
3. 保存到 output/fund_eval_{fund_id}_{date}.md
多子代理编排 vs 协调者-执行者模式

两者看起来相似,区别在于谁是入口、谁管生命周期:

维度 多子代理编排(Skill 内部) 协调者-执行者(主代理层面)
入口 用户调用一个 Skill,Skill 内部自行拆分 用户直接向主代理下达复合任务
编排逻辑 写在 SKILL.md 中,可复用、可版本化 由主代理临场决定,每次可能不同
上下文保护 Skill 指令已规定输出路径和摘要规则 需要在提示中每次重申文件化输出要求
适用场景 流程固定、频繁复用的多阶段任务 一次性或探索性的复杂任务

简单说:如果这个多阶段任务你会反复做,就写成 Skill;如果只做一次,让主代理直接协调就好。

模式选择指南

模式 适用场景 核心技法 典型金融应用
顺序编排 固定顺序多步流程 步骤依赖、逐步验证 财报分析、KYC 尽调
多 MCP 协调 跨服务数据整合 阶段分隔、格式统一 跨源研报、多市场对比
迭代精修 输出质量需持续提升 验证脚本、停止条件 政策简报、合规文档
上下文感知 同目标不同方法 决策路由、透明解释 数据分析方法选择
领域智能 专业知识嵌入 规则内嵌、审计追踪 合规审查、风控评估
多子代理编排 多维度并行分析 子代理分派、文件化传递 基金评估、上市公司尽调

六种模式并非互斥。一个复杂 Skill 可以同时包含多种模式:先根据上下文选择路径(模式 4),再按顺序执行工作流(模式 1),途中协调多个 MCP(模式 2),需要并行处理时分派子代理(模式 6),输出经过迭代精修(模式 3),全程嵌入领域规则(模式 5)。

模式与子代理的关系

不是每种模式都需要子代理。判断标准是:Skill 内部是否需要多个独立执行者,各自在隔离的上下文中完成不同的工作。

模式 是否需要子代理 说明
顺序编排 通常不需要 步骤之间有依赖关系,按顺序在同一上下文中执行即可
多 MCP 协调 通常不需要 MCP 调用是工具层操作,不需要独立上下文
迭代精修 通常不需要 生成和检查在同一上下文中交替进行
上下文感知 通常不需要 路由选择后走单一路径
领域智能 视规模而定 规则简单时不需要;多维度合规审查时可能需要分拆
多子代理编排 必须使用 核心机制就是分派多个子代理并行工作

当前五种模式的组合任务规模增长到一定程度(例如同时涉及 3 个以上独立分析维度),就应该考虑引入模式 6 来分拆执行。

六条设计原则
  1. 先分工,再编排。 先判断能力该落在命令、脚本、Skill 还是 MCP,分工没切开,Skill 写得越完整,维护成本越高。
  2. 先取证,再推理。 只要任务依赖真实环境信息,就应优先让命令或脚本先拿事实,再让模型做判断。
  3. 显式边界优先。 工具权限、写入范围、失败停止条件,都应前置声明。
  4. 单 Skill 单任务。 一个 Skill 可以连接多种能力,但不该变成小平台。
  5. 保留升级路径。 先从重复提示变成 Skill,再把确定性部分抽成脚本,再把重状态接口迁到 MCP。
  6. 子代理只返回摘要。 当 Skill 编排多个子代理时,每个子代理应将完整结果保存到文件,只向 Skill 返回一句话状态摘要,保护主对话的上下文空间。