Skip to Content

04b - Metaprompt 完整工作流

本文是《AI Agent 实战手册》第 4 章第 2 节。 上一节:Metaprompt 概念与动机 | 下一节:Prompt 链与动态组装

概述

上一节解释了 Metaprompt 是什么。本节给出完整的操作工作流——从任务分析到生产 prompt 的提取和验证,每一步都有具体操作指导。最后通过编码助手、数据分析、内容生成三个领域的完整示例,展示如何在实际工作中落地。


1. 五步工作流总览

┌─────────────┐ ┌─────────────────┐ ┌──────────────────┐ │ 步骤 1 │ │ 步骤 2 │ │ 步骤 3 │ │ 任务分析 │ → │ 元提示设计 │ → │ 推理模型执行 │ │ │ │ │ │ │ │ 明确目标 │ │ 编写 metaprompt │ │ 用强模型生成 │ │ 定义变量 │ │ 指定约束和格式 │ │ 生产级 prompt │ │ 确定质量标准 │ │ 提供示例 │ │ │ └─────────────┘ └─────────────────┘ └──────────────────┘ ┌─────────────────┐ ┌──────────────────┐ │ 步骤 5 │ │ 步骤 4 │ │ 迭代优化 │ ← │ 提取与验证 │ │ │ │ │ │ 根据测试结果 │ │ 提取生产 prompt │ │ 调整 metaprompt │ │ 多案例测试 │ │ 重新生成 │ │ 评估输出质量 │ └─────────────────┘ └──────────────────┘

2. 步骤详解

步骤 1:任务分析

在写 metaprompt 之前,先回答这些问题:

问题目的示例回答
这个 prompt 要完成什么任务?明确目标审查 Python 代码的安全漏洞
谁会使用这个 prompt?确定用户画像中级后端开发者
输入是什么?定义变量代码片段、文件路径、项目上下文
期望输出是什么格式?定义输出规范结构化报告,含严重性分级
什么算”好的输出”?建立质量标准零误报、覆盖 OWASP Top 10
在哪个模型上运行?确定目标平台Claude Sonnet 4

提示词模板:任务分析清单

请帮我分析以下任务,为编写 metaprompt 做准备: 任务描述:[一句话描述] 请输出: 1. 任务目标(精确到可衡量的标准) 2. 输入变量列表(名称 + 类型 + 示例值) 3. 输出格式规范(结构 + 字段 + 示例) 4. 质量评估标准(至少 3 条) 5. 边界情况(至少 3 个) 6. 目标模型的特性考量

步骤 2:元提示设计

元提示(metaprompt)本身就是一个 prompt,它的结构通常包含:

## Metaprompt 通用结构 你是一个 prompt 工程专家,擅长为 [目标模型] 编写高质量的 prompt。 ### 任务背景 [从步骤 1 提取的任务描述和上下文] ### 生成要求 请为以下任务生成一个生产级 prompt: - 任务目标:[具体目标] - 目标用户:[用户画像] - 目标模型:[模型名称和版本] ### 输入变量 生成的 prompt 必须包含以下变量(用 [方括号] 标记): - [变量1]:[描述] - [变量2]:[描述] ### 输出格式要求 生成的 prompt 必须指导模型输出以下格式: [期望的输出结构描述] ### 质量标准 生成的 prompt 必须确保: 1. [标准1] 2. [标准2] 3. [标准3] ### 风格约束 - 使用 [XML标签/Markdown/JSON] 组织输出 - 语气:[专业/友好/简洁] - 长度:[控制在 X 字以内] ### 参考示例(可选) 以下是一个类似任务的优秀 prompt 示例,供参考风格和结构: [示例 prompt]

步骤 3:推理模型执行

模型选择建议

模型适合场景价格参考
Claude Opus 4复杂任务、需要深度推理$15/M input, $75/M output
Claude Sonnet 4大多数场景的性价比之选$3/M input, $15/M output
GPT-4o多模态任务、需要创意$2.50/M input, $10/M output
Gemini 2.5 Pro超长上下文、多文件分析$1.25/M input, $10/M output
o3 / o3-mini需要深度推理的复杂 metaprompt$10/M input, $40/M output

关键原则:用于执行 metaprompt 的模型应该比最终运行 prompt 的模型更强。例如,用 Claude Opus 生成给 Claude Sonnet 用的 prompt。

执行技巧

  1. 开启 extended thinking(如果模型支持):让模型在生成前充分推理
  2. 要求模型解释设计决策:在生成 prompt 的同时输出设计理由
  3. 一次生成多个变体:要求生成 2-3 个不同风格的版本供选择

步骤 4:提取与验证

生成的 prompt 需要经过验证才能投入使用:

验证清单

  • prompt 是否包含所有必需的输入变量?
  • 输出格式是否符合预期?
  • 用 3-5 个真实案例测试,输出质量是否达标?
  • 边界情况(空输入、超长输入、异常输入)是否处理得当?
  • 在目标模型上运行,是否有模型特定的问题?
  • prompt 长度是否合理(避免过长导致注意力稀释)?

评估指标

指标衡量方式达标标准
任务完成率输出是否完成了指定任务≥ 90%
格式合规率输出是否符合指定格式≥ 95%
准确性输出内容是否正确视任务而定
一致性多次运行结果是否稳定核心内容一致
边界处理异常输入是否优雅处理不崩溃、有提示

步骤 5:迭代优化

如果验证不通过,回到步骤 2 调整 metaprompt:

  • 输出格式不对 → 在 metaprompt 中添加更具体的格式示例
  • 遗漏关键信息 → 在质量标准中补充遗漏项
  • 过于冗长 → 添加长度约束
  • 风格不匹配 → 提供参考示例
  • 边界处理差 → 在 metaprompt 中明确列出边界情况

3. 领域示例一:编码助手

任务

为团队创建一个标准化的”代码重构建议”prompt,用于 Claude Code。

步骤 1:任务分析

目标:分析代码片段,提供结构化的重构建议 用户:中高级开发者 输入:[代码片段], [编程语言], [重构目标] 输出:分优先级的重构建议列表,每条包含原因、改后代码、影响评估 质量标准:建议可直接执行、不引入新 bug、符合语言惯用法

步骤 2:Metaprompt

你是一个 prompt 工程专家,擅长为 Claude Sonnet 编写编码辅助 prompt。 请为以下任务生成一个生产级 prompt: 任务:代码重构建议助手 目标用户:中高级开发者,在 Claude Code 中使用 目标模型:Claude Sonnet 4 输入变量: - [code]:需要重构的代码片段 - [language]:编程语言 - [refactor_goal]:重构目标(如"提高可读性"、"优化性能"、"减少重复") 输出要求: - 使用 XML 标签组织输出 - 每条建议包含:优先级(P0-P3)、原因、改前代码、改后代码、影响评估 - 按优先级排序 - 最后给出总结和风险提示 质量标准: 1. 建议必须可直接执行(不是泛泛而谈) 2. 改后代码必须语法正确且符合语言惯用法 3. 必须评估每条建议的潜在风险 4. 不超过 5 条建议(聚焦最重要的改进) 风格:专业简洁,避免冗余解释

步骤 3:生成结果(示例)

AI 会生成类似以下结构的 prompt:

你是一位资深软件工程师,专注于代码质量和重构。 <task> 分析以下 [language] 代码,针对"[refactor_goal]"目标提供重构建议。 </task> <code> [code] </code> <instructions> 1. 仔细阅读代码,识别与重构目标相关的改进点 2. 为每个改进点评估优先级(P0=必须改, P1=强烈建议, P2=建议, P3=可选) 3. 最多提供 5 条建议,按优先级排序 </instructions> <output_format> 对每条建议,使用以下格式: <suggestion priority="P{0-3}"> <reason>为什么需要这个改动(一句话)</reason> <before> 改动前的代码 </before> <after> 改动后的代码 </after> <impact>这个改动的影响范围和潜在风险</impact> </suggestion> 最后提供: <summary> 总体评估和注意事项 </summary> </output_format>

4. 领域示例二:数据分析

任务

为数据团队创建一个”数据异常检测报告”prompt。

步骤 2:Metaprompt

你是一个 prompt 工程专家,擅长为数据分析场景编写 prompt。 请为以下任务生成一个生产级 prompt: 任务:数据异常检测报告生成器 目标用户:数据分析师 目标模型:GPT-4o 输入变量: - [dataset_description]:数据集描述(字段、时间范围、数据量) - [data_sample]:数据样本(CSV 格式,前 50 行) - [business_context]:业务上下文(这些数据代表什么) - [alert_threshold]:告警阈值(如"偏离均值 2 个标准差") 输出要求: - 结构化报告,包含:摘要、异常列表、根因假设、建议行动 - 每个异常包含:时间、指标、异常值、正常范围、严重性 - 使用 Markdown 表格展示数据 - 包含可视化建议(描述应该画什么图) 质量标准: 1. 异常检测必须基于统计方法(不是主观判断) 2. 根因假设必须可验证(给出验证方法) 3. 建议行动必须具体可执行 4. 区分"数据质量问题"和"真实业务异常" 风格:专业但易懂,非技术管理者也能理解摘要部分

生成结果要点

生成的 prompt 会包含:

  • 明确的分析步骤(描述性统计 → 异常检测 → 根因分析 → 行动建议)
  • 统计方法指导(Z-score、IQR、时间序列分解)
  • 输出模板(Markdown 表格 + 分节报告)
  • 置信度标注(每个发现标注置信度:高/中/低)

5. 领域示例三:内容生成

任务

为营销团队创建一个”产品发布博客文章”prompt。

步骤 2:Metaprompt

你是一个 prompt 工程专家,擅长为内容创作场景编写 prompt。 请为以下任务生成一个生产级 prompt: 任务:产品发布博客文章生成器 目标用户:技术营销人员 目标模型:Claude Sonnet 4 输入变量: - [product_name]:产品名称 - [key_features]:核心功能列表(3-5 个) - [target_audience]:目标读者 - [tone]:语气(如"专业但不枯燥"、"兴奋但不夸张") - [word_count]:目标字数 - [seo_keywords]:SEO 关键词列表 输出要求: - 完整的博客文章,包含标题、副标题、正文、CTA - 标题需要 A/B 测试变体(提供 3 个标题选项) - 自然融入 SEO 关键词(不堆砌) - 包含至少 1 个代码示例或技术细节(如果是技术产品) - 包含社交媒体摘要(Twitter/LinkedIn 各一条) 质量标准: 1. 标题吸引点击但不标题党 2. 开头 2 句话必须抓住读者注意力 3. 技术细节准确但非技术读者也能理解核心价值 4. CTA 自然不突兀 5. SEO 关键词密度 1-2% 风格约束: - 避免:陈词滥调("革命性"、"颠覆性"、"前所未有") - 鼓励:具体数据、用户故事、对比说明 - 段落不超过 4 句话 - 使用短句和主动语态

生成结果要点

生成的 prompt 会包含:

  • 文章结构模板(Hook → Problem → Solution → Features → Social Proof → CTA)
  • 风格指南(具体的用词偏好和禁忌)
  • SEO 集成指导(关键词位置、密度控制)
  • 多格式输出(博客正文 + 社交媒体摘要 + 邮件预告)

6. 高级技巧

6.1 链式 Metaprompt

对于复杂任务,可以用多个 metaprompt 分步生成:

Metaprompt 1:生成 system prompt 的角色定义部分 Metaprompt 2:生成输入处理和格式化部分 Metaprompt 3:生成输出模板和质量控制部分 最终组装:将三部分合并为完整 prompt

6.2 对抗性 Metaprompt

让一个 AI 生成 prompt,另一个 AI 找漏洞:

AI-1(生成者):根据 metaprompt 生成 prompt AI-2(审查者):尝试找到生成 prompt 的边界情况和失败模式 AI-1(修复者):根据审查反馈改进 prompt

6.3 Metaprompt 模板库

为常见任务类型维护 metaprompt 模板:

任务类型Metaprompt 模板重点
代码生成语言规范、错误处理、测试要求
代码审查审查维度、严重性分级、改进建议格式
文档生成受众定义、结构模板、术语一致性
数据分析统计方法、可视化建议、置信度标注
内容创作风格指南、SEO 要求、格式规范
翻译/本地化术语表、文化适配、格式保留

实战案例:从零构建团队 Prompt 标准化体系

场景

一个 10 人开发团队,每个人都在用 AI 辅助开发,但 prompt 质量参差不齐。

操作流程

  1. 收集需求:调研团队最常用的 5 个 AI 使用场景
  2. 编写 Metaprompt:为每个场景编写一个 metaprompt
  3. 批量生成:用 metaprompt 生成 5 个标准化 prompt
  4. 团队评审:让 2-3 个团队成员测试并反馈
  5. 迭代优化:根据反馈调整 metaprompt,重新生成
  6. 发布和维护:将最终 prompt 存入团队知识库,定期更新

案例分析

关键收益:

  • 新成员入职时直接使用标准 prompt,无需从零学习
  • prompt 质量从”看个人水平”变成”有基线保障”
  • 模型更新时,重新运行 metaprompt 即可批量升级

避坑指南

❌ 常见错误

  1. Metaprompt 写得比最终 prompt 还长

    • 问题:过度详细的 metaprompt 反而让模型困惑
    • 正确做法:metaprompt 聚焦关键约束,细节留给模型发挥
  2. 不指定目标模型

    • 问题:生成的 prompt 可能不适合实际使用的模型
    • 正确做法:在 metaprompt 中明确指定目标模型及其特性
  3. 跳过验证直接部署

    • 问题:生成的 prompt 在真实数据上表现可能不如预期
    • 正确做法:至少用 5 个真实案例验证,覆盖正常和边界情况
  4. 不保存 metaprompt

    • 问题:下次需要更新 prompt 时,又要从头写 metaprompt
    • 正确做法:将 metaprompt 和生成的 prompt 一起版本管理
  5. 用弱模型执行 metaprompt

    • 问题:弱模型生成的 prompt 质量有限
    • 正确做法:用最强的可用模型执行 metaprompt,生成的 prompt 可以在较弱模型上运行

✅ 最佳实践

  1. 建立”metaprompt → prompt → 输出”的三层版本管理
  2. 为每个 metaprompt 维护一个测试用例集
  3. 定期(每季度)用最新模型重新生成 prompt
  4. 在团队内分享 metaprompt 模板,而不只是最终 prompt
  5. 记录每次迭代的改动原因,形成 prompt 设计知识库

相关资源与延伸阅读

工具与框架

  • DSPy  — 声明式 Prompt 优化框架,支持自动化的 Metaprompt 迭代和评估
  • Anthropic Prompt Generator  — 官方 Metaprompt 工具,一键生成优化的 System Prompt
  • Agenta  — 开源 Prompt 管理平台,支持 Metaprompt 工作流的可视化管理

评估与测试

  • Promptfoo  — 开源 Prompt 测试框架,支持自动化评估 Metaprompt 生成的 Prompt 质量
  • Braintrust  — Prompt 评估平台,支持 Metaprompt 迭代过程中的质量追踪

学习资源

社区


参考来源


📖 返回 总览与导航 | 上一节:Metaprompt 概念与动机 | 下一节:Prompt 链与动态组装

Last updated on