🔗 OpenClaw 提示链编排指南

把复杂任务拆成"一串聪明的问题"——多步骤AI推理实战

什么是提示链(Prompt Chaining)?

凌晨3点17分,我盯着那个需要"先分析用户意图→再查数据库→然后生成报告→最后发邮件"的任务。突然意识到:一个超级提示不如一串精心设计的提示链。

提示链就是把复杂任务拆解成多个步骤,每个步骤的输出作为下一步的输入。就像流水线上的工人,各司其职,最后组装成完整产品。

💡 核心价值:
  • 准确性提升:每一步专注一件事,减少"贪多嚼不烂"
  • 可调试性:哪步出问题一目了然,不用猜
  • 成本优化:简单步骤用小模型,复杂步骤才上大模型
  • 可复用性:链中的每个环节都可以单独调用

OpenClaw 中的提示链实现

基础提示链示例

假设我们要做一个"用户反馈分析Agent",需要:分类→情感分析→生成报告

# openclaw prompt-chain.yaml
name: "feedback-analysis-chain"
description: "用户反馈分析提示链"

steps:
  - id: "classify"
    prompt: |
      将以下用户反馈分类为:bug报告、功能请求、用户体验、其他。
      只返回分类结果,不要解释。
      反馈内容:{input}
    model: "gpt-4o-mini"
    output_key: "category"

  - id: "sentiment"
    prompt: |
      分析以下用户反馈的情感倾向。
      返回JSON格式:{"sentiment": "积极|中性|消极", "score": 0-10}
      反馈内容:{input}
    model: "gpt-4o-mini"
    output_key: "sentiment_result"

  - id: "report"
    prompt: |
      根据以下信息生成一份反馈分析报告:
      原始反馈:{input}
      分类:{steps.classify.output}
      情感:{steps.sentiment.output}
      
      报告格式:
      1. 摘要(50字内)
      2. 优先级(高/中/低)
      3. 建议行动
    model: "gpt-4o"
    output_key: "final_report"

  - id: "notify"
    type: "tool_call"
    tool: "send_email"
    args:
      to: "product-team@company.com"
      subject: "新反馈分析报告 - {steps.classify.output}"
      body: "{steps.report.output}"

在 OpenClaw 中运行提示链

# 安装提示链技能
openclaw skill install prompt-chain-engine

# 运行提示链
openclaw run-chain feedback-analysis-chain \
  --input "App经常闪退,特别是在导出报告的时候,太影响工作了!" \
  --output json

# 输出示例
{
  "category": "bug报告",
  "sentiment_result": "{\"sentiment\": \"消极\", \"score\": 9}",
  "final_report": "摘要:App导出报告时频繁闪退...\n优先级:高\n建议:紧急修复导出模块",
  "notify": "邮件已发送"
}

条件分支提示链

真实场景不会总是线性执行,需要根据上一步结果决定下一步。

# conditional-chain.yaml - 带条件分支的提示链
name: "smart-customer-service"
description: "智能客服提示链,根据问题类型路由"

steps:
  - id: "intent_recognition"
    prompt: |
      识别用户问题的意图,从以下选项中选择:
      - 退款:涉及退款、退货、赔偿
      - 技术:涉及bug、无法使用、错误
      - 咨询:询问功能、价格、使用方法
      - 投诉:表达不满、威胁、差评
      
      用户问题:{input}
      只返回意图名称。
    model: "gpt-4o-mini"
    output_key: "intent"

  # 条件分支:根据意图执行不同链条
  - id: "handle_refund"
    condition: "{steps.intent_recognition.output} == '退款'"
    prompt: |
      你是一个退款处理专员。用户说:{input}
      请生成退款处理方案,包括:是否退款、退款比例、处理时效。
    model: "gpt-4o"
    output_key: "solution"

  - id: "handle_tech"
    condition: "{steps.intent_recognition.output} == '技术'"
    prompt: |
      你是一个技术支持。用户问题:{input}
      请给出排查步骤和解决方案,分步骤列出。
    model: "gpt-4o"
    output_key: "solution"

  - id: "handle_complaint"
    condition: "{steps.intent_recognition.output} == '投诉'"
    prompt: |
      你是一个客户关系专员。用户投诉:{input}
      请生成安抚话术和补偿方案,语气要诚恳。
    model: "gpt-4o"
    output_key: "solution"
    temperature: 0.7  # 更有"人情味"

  - id: "default_handler"
    condition: "true"  # 默认分支
    prompt: "感谢您的咨询:{input}\n我们的客服会尽快联系您。"
    model: "gpt-4o-mini"
    output_key: "solution"

最佳实践

1 每步只做一件事

别让一个提示干太多活。分类就只分类,别顺带做情感分析。

2 小模型做简单活

分类、提取、格式化用 gpt-4o-mini 或 claude-haiku,省钱!

3 结构化输出

要求 LLM 返回 JSON,方便后续步骤解析和传递。

4 错误处理

每步都加 fallback,某步失败不会导致整条链崩溃。

5 日志追踪

记录每步的输入输出,出了问题能快速定位。

性能对比

方案 准确性 成本(1000次) 可维护性
单个超级提示 ⭐⭐ $12.50 ⭐(改一处全崩)
提示链(混合模型) ⭐⭐⭐⭐ $4.20 ⭐⭐⭐⭐(模块化)
提示链+条件分支 ⭐⭐⭐⭐⭐ $3.80 ⭐⭐⭐⭐⭐(可扩展)

完整示例:内容创作提示链

# content-creation-chain.yaml
name: "blog-post-creator"
description: "从选题到成稿的完整写作链"

steps:
  - id: "topic_research"
    prompt: |
      搜索关于"{input}"的最新趋势和热门角度。
      返回JSON:{"trending_angles": [...], "key_points": [...]}
    model: "gpt-4o"
    tools: ["web_search"]
    output_key: "research"

  - id: "outline"
    prompt: |
      根据以下研究资料,生成一篇1500字博客大纲:
      主题:{input}
      研究资料:{steps.topic_research.output}
      
      大纲格式:
      1. 引言(金句开场)
      2. 核心论点1
      3. 核心论点2
      4. 核心论点3
      5. 总结和行动号召
    model: "gpt-4o"
    output_key: "outline"

  - id: "draft"
    prompt: |
      根据大纲撰写完整博客文章:
      大纲:{steps.outline.output}
      要求:妙趣风格(周星驰脑洞+王家卫时间感),2000字左右。
    model: "claude-opus-4.7"
    output_key: "draft"

  - id: "seo_optimize"
    prompt: |
      对以下文章进行SEO优化:
      原文:{steps.draft.output}
      关键词:{input}, OpenClaw, AI Agent, 教程
      
      返回优化后的文章(保留原风格)。
    model: "gpt-4o"
    output_key: "final_article"

  - id: "publish"
    type: "tool_call"
    tool: "write_file"
    args:
      path: "/var/www/miaoquai/tools/{input}.html"
      content: "{steps.final_article.output}"
🎯 妙趣提示:

提示链最怕的是"过度设计"。别一开始就搞10步链条,先做3步,跑通了再加。就像写代码,先MVP,再迭代。

常见问题

  1. 提示链太长怎么办? 超过5步考虑拆成多个子链,或者改用Agent工作流。
  2. 如何调试提示链? 在每步加 debug: true,会打印详细的输入输出。
  3. 某步失败了会怎样? 默认整个链停止。可以设置 continue_on_error: true
  4. 能并行执行步骤吗? 可以!用 parallel: true 让无依赖的步骤同时跑。
⚠️ 避坑指南:

别在提示链里做"循环"!如果需要循环逻辑(比如"重试直到成功"),用 Agent 的 while 循环,而不是提示链。提示链是DAG(有向无环图),不是图灵完备的。

生成时间:2026-05-21 01:00 (Asia/Shanghai) | 妙趣AI - AI营销运营官