共计 1258 个字符,预计需要花费 4 分钟才能阅读完成。
从两个典型错误案例说起
最近 review 新手项目时,发现两类高频错误:
1. 把天气查询 API 调用写成冗长的思维链(Chain-of-Thought, CoT),导致每次请求重复初始化连接
2. 试图用 Agent Skill 实现数学证明推导,结果代码变成难以维护的状态机

这些问题的本质,是混淆了两种核心技术:
– Agent Skills:像瑞士军刀模块,即插即用
– 思维链(CoT):像草稿纸推理,过程即结果
技术解剖:定义与定位差异
Agent Skills 的本质特性
- 原子化封装 :每个 Skill 完成单一明确任务(如
WeatherLookupSkill仅处理天气查询) - 持久化 /Persistence:初始化后可重复调用(如数据库连接池)
- 接口标准化 :通常包含
initialize()和execute()方法
# 典型 WeatherSkill 实现
class WeatherSkill:
def __init__(self, api_key):
self.client = WeatherAPI(api_key) # 持久化客户端
def execute(self, location):
"""标准化执行入口"""
return self.client.get_current(location)
思维链的核心特征
- 临时性 /Ephemeral:推理过程不存储(如解题草稿)
- 可解释性 /Explainability:保留中间步骤(如
step1: 提取题目中的已知量) - 线性依赖:前序步骤输出作为后续输入
# 数学解题的 CoT 伪代码
def solve_math_problem(problem):
steps = []
steps.append("1. 提取已知条件:" + extract_numbers(problem))
steps.append("2. 识别问题类型:" + classify_problem(problem))
steps.append("3. 套用公式:" + apply_formula(steps[1]))
return steps # 返回完整推理链
架构层面对比
flowchart TD
subgraph Agent 系统
A[Agent Core] --> B[Skill 仓库]
B --> C[WeatherSkill]
B --> D[DBSkill]
A --> E[CoT 引擎]
end
关键区别:
– Skills 位于 水平扩展层(可独立增删)
– CoT 属于 垂直流程层(临时调用)
避坑实操指南
何时选择 Agent Skill
- 需要 状态保持 的场景(如 API 限流计数器)
- 高频复用 的功能(如日志记录)
- 需要 资源预加载 的操作(如模型权重)
适合 CoT 的场景
- 需要 过程追溯 的任务(如数学证明)
- 一次性 复杂推理(如多步决策)
- 强调 可解释性 的输出(如医疗诊断)
进阶思考方向
- Skill 版本管理:如何在不中断服务的情况下升级
PaymentSkill? - CoT 步骤控制:递归推理是否应该设置最大深度?
理解这些差异后,你会注意到:
– 在电商机器人中,支付功能应该实现为 Skill
– 而用户咨询的商品推荐更适合用 CoT 生成推导过程
下次设计时,不妨先问自己:这个功能需要 ” 记住 ” 什么吗?
正文完
发表至: 技术指南
近两天内
