🌙 王家卫式开场
世界上有一种模式,叫「智能体设计模式」。它们就像《功夫》里的武学秘籍——有些教你怎么打,有些教你什么时候跑,有些教你打不过就喊人。而OpenClaw的陈师傅说:「别跟我谈理论,来,我教你一套48手还原的Agent拳法。」今天,我们把所有秘籍摊开在桌上。
世界上有一种模式,叫「智能体设计模式」。它们就像《功夫》里的武学秘籍——有些教你怎么打,有些教你什么时候跑,有些教你打不过就喊人。而OpenClaw的陈师傅说:「别跟我谈理论,来,我教你一套48手还原的Agent拳法。」今天,我们把所有秘籍摊开在桌上。
Agentic Design Patterns(智能体设计模式)是AI Agent执行任务时常用的架构方法论。就像建筑设计有哥特式、巴洛克式、现代主义,AI Agent也有几种经典的设计模式,每种模式解决特定类型的问题。
Andrew Ng(吴恩达)提出的四大Agentic Design Pattern是业界公认的起点:
核心思想:Agent自己检查自己的输出,然后根据反思结果改进。
就像:你写完代码后,自己Code Review一遍,然后改bug。
OpenClaw实战:在Skill中嵌入自我审查逻辑
// Reflection 模式示例
async function generateWithReflection(prompt) {
// 第一轮:生成初始输出
let output = await callLLM(prompt);
// 第二轮:反思
const critique = await callLLM(`审查以下内容的准确性和完整性,指出问题:\n\n${output}`);
// 第三轮:改进
const improved = await callLLM(`原始内容:${output}\n审查意见:${critique}\n请根据审查意见改进。`);
return improved;
}
// OpenClaw Skill 中实现
module.exports = {
name: 'reflection-agent',
async execute(context) {
const draft = await context.llm.generate('写一个OpenClaw教程');
const review = await context.llm.generate(`审查:${draft}`);
const final = await context.llm.generate(`改进:${review}`);
return final;
}
};
核心思想:Agent不是什么都自己做,而是调用外部工具——搜索、计算、执行代码、访问API。
就像:你不会自己算1024的平方根,你会掏出计算器。
OpenClaw实战:Tool Calling系统是OpenClaw的杀手锏
# OpenClaw Skill 中使用 Tool Use 模式
name: weather-agent
description: 获取天气信息的Agent
tools:
- name: get_weather
description: "获取指定城市的天气"
exec: |
curl -s "wttr.in/${city}?format=3"
- name: search_web
description: "搜索最新天气信息"
exec: |
curl -s "https://api.duckduckgo.com/?q=${query}&format=json"
# Skill YAML 的 tools 字段自动转换为 OpenClaw 的 Tool Calling 系统
核心思想:Agent在动手之前先制定详细计划,按步骤执行,随时调整。
经典变体:Plan-and-Execute(先计划再执行)、ReAct(推理+行动交替进行)
// Plan-and-Execute 模式
async function planAndExecute(goal) {
// Step 1: 制定计划
const plan = await callLLM(`目标:${goal}\n请列出详细的执行步骤(最多5步):`);
// Step 2: 按计划执行
for (let step of plan.steps) {
const result = await executeStep(step);
// Step 3: 检查结果,决定是否调整计划
if (result.needsAdjustment) {
plan = await adjustPlan(plan, result);
}
}
}
// ReAct 模式(OpenClaw 原生支持)
// OpenClaw 的 agent loop 自动实现 Thought→Action→Observation 循环
module.exports = {
name: 'react-agent',
react: true, // 开启ReAct模式
async execute(context) {
// 自动执行 Thought→Tool Call→Observation→Thought... 循环
while (context.hasNext()) {
const thought = await context.think();
const action = await context.chooseTool(thought);
const observation = await context.callTool(action);
await context.remember(thought, action, observation);
}
}
};
核心思想:多个Agent分工协作,就像一支足球队——前锋、中场、后卫各司其职。
就像:你不是一个人写整个操作系统,而是把任务分给不同的团队。
# OpenClaw Multi-Agent Orchestration 配置
# 创建一个内容生产团队
agents:
- name: researcher
model: claude-3-5-sonnet
role: "研究Agent - 搜索和分析资料"
skills:
- search-web
- summarize
- name: writer
model: claude-3-5-haiku
role: "写作Agent - 生成初稿"
skills:
- write-markdown
- format-content
- name: editor
model: claude-3-5-sonnet
role: "编辑Agent - 审查和改进"
skills:
- review-content
- optimize-seo
workflows:
create-article:
steps:
- agent: researcher
input: "研究:${topic}"
- agent: writer
input: "写作:基于研究成果撰写文章"
- agent: editor
input: "编辑:审查并改进文章"
让Agent逐步推理,而不是直接给出答案——「让我们一步一步思考」。
同时探索多条推理路径,选择最优解。适合复杂决策问题。
先反思自己的不足,然后用工具补足。比如:「这个结果缺少数据支撑 → 我去查一下 → 有了新数据 → 重新生成」。
一个Agent负责评价其他Agent的输出质量,类似班级里学习委员的角色。
| 任务类型 | 推荐模式 | OpenClaw支持 |
|---|---|---|
| 代码生成 | Plan-and-Execute + Reflection | ✅ 原生支持 |
| 研究分析 | Tool Use + Tree-of-Thought | ✅ 自定义Skill |
| 内容生产 | Multi-Agent(研究→写作→编辑) | ✅ Orchestration |
| 运维自动化 | ReAct + Tool Use | ✅ Agent Loop |
| 质量审查 | Agent-as-Judge + Reflection | ✅ 组合Skill |
Agent设计模式就像《少林足球》里的功夫足球——Reflection是你自己看录像回放,Tool Use是找队友传球,Planning是赛前布置战术,Multi-Agent就是整个球队各就各位。
但你猜怎么着?真正高手的Agent从来不固定用某一种模式。它们是「遇事不决ReAct,遇到复杂先规划,遇到多个Agent一起上」——打的就是组合拳。
就像少林功夫加足球:有搞头!