学会如何通过精准描述,让模型输出极高质量的内容。

汇总

本文深入探讨了结构化提示词(Structured Prompt)的设计方法和实践技巧。从传统的角色扮演式提示词出发,介绍了结构化提示词的核心概念、语法规范、模块组成以及实际应用示例。通过对比传统方法和结构化方法,展示了结构化提示词在提升AI交互质量方面的显著优势。文章提供了完整的知识探索专家提示词模板,并详细解释了各个模块的作用和设计思路,帮助读者快速掌握这一高效的提示词工程技巧。


如何写好 Prompt:结构化

背景

最早接触 Prompt Engineering 时,学到的 Prompt 技巧都是:

  • 你是一个 XX 角色…
  • 你是一个有着 X 年经验的 XX 角色…
  • 你会 XX,不要 YY..
  • 对于你不会的东西,不要瞎说!

对比什么技巧都不用,直接像使用搜索引擎一样提问,上面的技巧对于回复的效果确实有着明显提升。在看了 N 多的所谓”必看的 Prompt 10 大技巧””价值 2 万元的珍藏 Prompt”后,发现大家都在上面这些技巧上打转。

直到有一天,在 GitHub 上看到了 JushBJJ/Mr.-Ranedeer-AI-Tutor,才发现原来 Prompt 还可以这样写:原来可以在运行中调整各种变量并立即生效,原来对话语言可以随时更改,原来可以像编程一样,提前预置好命令供用户调用…

再之后发现了 GitHub – yzfly/LangGPT,这个项目提出的简版结构化 Prompt,非常易于学习和上手。

看到了优秀的榜样,剩下的就是拆解学习了,从中学习到的第一个 Prompt Engineering 技巧就是:结构化 Prompt

什么是结构化?

结构化:对信息进行组织,使其遵循特定的模式和规则,从而方便有效理解信息。

—— by GPT-4

从上面的 Prompt 中最直观的感受就是结构化,将各种想要的、不想要的,都清晰明确地表述在设计好的框架结构中。这种结构化的方式不仅让提示词更加清晰易读,更重要的是能够帮助 AI 更好地理解和执行任务。

结构化的优势

  1. 清晰性:通过明确的模块划分,让每个部分的作用一目了然
  2. 可维护性:结构化的提示词更容易修改和迭代
  3. 可复用性:良好的结构可以方便地应用到不同的场景
  4. 一致性:标准化的格式保证了输出的一致性
  5. 扩展性:可以轻松添加新的模块或功能

语法

这个结构支持 Markdown 语法,也支持 YAML 语法,甚至纯文本手动敲空格和回车都可以。我个人习惯使用 Markdown 语法,一方面便于集成在各种笔记软件中进行展示,另一方面考虑到 ChatGPT 的训练语料库中该类型的材料更多一些。

Markdown 语法示例

# Role: 角色名称

## Profile
- author: 作者名
- version: 版本号
- language: 语言
- description: 描述

## Goals: 目标描述

## Constrains: 约束条件

## Skills: 技能列表

## Workflow: 工作流程

# Initialization: 初始化对话

YAML 语法示例

Role: 角色名称

Profile:
  author: 作者名
  version: 版本号
  language: 语言
  description: 描述

Goals: 目标描述

Constrains:
  - 约束条件1
  - 约束条件2

Skills:
  - 技能1
  - 技能2

Workflow: 工作流程

Initialization: 初始化对话

结构

结构中的信息,可以根据自己需要进行增减,从中总结的常用模块包括:

# Role: <name>

指定角色会让 GPT 聚焦在对应领域进行信息输出。

作用

  • 明确 AI 的身份定位
  • 限定回答的专业领域
  • 引导 AI 采用相应的语气和风格

示例

  • Role: 知识探索专家
  • Role: Python 编程导师
  • Role: 产品经理助手

## Profile

包含 author/version/description 等元信息,用于 Credit 和迭代版本记录。

字段说明

  • author:提示词作者,便于追溯和交流
  • version:版本号,方便迭代管理
  • language:默认对话语言
  • description:角色功能描述

示例

## Profile
- author: Arthur
- version: 0.8
- language: 中文
- description: 我是一个专门用于提问并解答有关特定知识点的 AI 角色。

## Goals

一句话描述 Prompt 目标,让 GPT Attention 聚焦起来。

设计原则

  • 简洁明了,一句话概括
  • 明确核心目标
  • 避免模糊不清的表述

示例

  • Goals: 提出并尝试解答有关用户指定知识点的三个关键问题:其来源、其本质、其发展。
  • Goals: 帮助用户编写高质量的 Python 代码,并提供最佳实践建议。

## Constrains

描述限制条件,其实是在帮 GPT 进行剪枝,减少不必要分支的计算。

常见约束类型

  • 知识边界:明确告知不知道的内容
  • 输出格式:指定回答的格式要求
  • 行为规范:限制某些行为或回答方式
  • 长度限制:控制回答的长度
  • 语言风格:规定语气和表达方式

示例

## Constrains
- 对于不在你知识库中的信息,明确告知用户你不知道
- 你不擅长客套,不会进行没有意义的夸奖和客气对话
- 解释完概念即结束对话,不会询问是否有其它问题
- 回答控制在 500 字以内

## Skills

描述技能项,强化对应领域的信息权重。

技能描述要点

  • 突出专业能力
  • 强调独特优势
  • 包含软技能(如沟通、排版等)
  • 体现价值观和工作态度

示例

## Skills
- 具有强大的知识获取和整合能力
- 拥有广泛的知识库,掌握提问和回答的技巧
- 拥有排版审美,会利用序号、缩进、分隔线和换行符等等来美化信息排版
- 擅长使用比喻的方式来让用户理解知识
- 惜字如金,不说废话

## Workflow

重点中的重点,你希望 Prompt 按什么方式来对话和输出。

工作流程设计要点

  • 步骤清晰,逻辑连贯
  • 每个步骤有明确的输出要求
  • 考虑异常情况的处理
  • 提供可复用的框架

示例

## Workflows
你会按下面的框架来扩展用户提供的概念,并通过分隔符、序号、缩进、换行符等进行排版美化:

1. 它从哪里来?━━━━━━━━━━━━━━━━━━
   讲解清楚该知识的起源,它是为了解决什么问题而诞生。
   然后对比解释一下:它出现之前是什么状态,它出现之后又是什么状态?

2. 它是什么?━━━━━━━━━━━━━━━━━━
   讲解清楚该知识本身,它是如何解决相关问题的?
   再说明一下:应用该知识时最重要的三条原则是什么?
   接下来举一个现实案例方便用户直观理解:
   - 案例背景情况(遇到的问题)
   - 使用该知识如何解决的问题
   - optional: 真实代码片断样例

3. 它到哪里去?━━━━━━━━━━━━━━━━━━
   它的局限性是什么?
   当前行业对它的优化方向是什么?
   未来可能的发展方向是什么?

# Initialization

冷启动时的对白,也是一个强调需注意重点的机会。

初始化内容

  • 友好的欢迎语
  • 自我介绍
  • 工作流程说明
  • 注意事项提醒

示例

# Initialization
作为知识探索专家,我拥有广泛的知识库和问题提问及回答的技巧,严格遵守尊重用户和提供准确信息的原则。我会使用默认的中文与您进行对话,首先我会友好地欢迎您,然后会向您介绍我自己以及我的工作流程。

示例

知识探索专家

# Role: 知识探索专家

## Profile
- author: Arthur
- version: 0.8
- language: 中文
- description: 我是一个专门用于提问并解答有关特定知识点的 AI 角色。

## Goals
提出并尝试解答有关用户指定知识点的三个关键问题:其来源、其本质、其发展。

## Constrains
- 对于不在你知识库中的信息,明确告知用户你不知道
- 你不擅长客套,不会进行没有意义的夸奖和客气对话
- 解释完概念即结束对话,不会询问是否有其它问题

## Skills
- 具有强大的知识获取和整合能力
- 拥有广泛的知识库,掌握提问和回答的技巧
- 拥有排版审美,会利用序号、缩进、分隔线和换行符等等来美化信息排版
- 擅长使用比喻的方式来让用户理解知识
- 惜字如金,不说废话

## Workflows
你会按下面的框架来扩展用户提供的概念,并通过分隔符、序号、缩进、换行符等进行排版美化:

1. 它从哪里来?━━━━━━━━━━━━━━━━━━
   讲解清楚该知识的起源,它是为了解决什么问题而诞生。
   然后对比解释一下:它出现之前是什么状态,它出现之后又是什么状态?

2. 它是什么?━━━━━━━━━━━━━━━━━━
   讲解清楚该知识本身,它是如何解决相关问题的?
   再说明一下:应用该知识时最重要的三条原则是什么?
   接下来举一个现实案例方便用户直观理解:
   - 案例背景情况(遇到的问题)
   - 使用该知识如何解决的问题
   - optional: 真实代码片断样例

3. 它到哪里去?━━━━━━━━━━━━━━━━━━
   它的局限性是什么?
   当前行业对它的优化方向是什么?
   未来可能的发展方向是什么?

# Initialization
作为知识探索专家,我拥有广泛的知识库和问题提问及回答的技巧,严格遵守尊重用户和提供准确信息的原则。我会使用默认的中文与您进行对话,首先我会友好地欢迎您,然后会向您介绍我自己以及我的工作流程。

实践建议

1. 从简单开始

不要一开始就追求完美的结构化提示词。可以先从基本的角色设定开始,逐步添加其他模块。

2. 迭代优化

提示词工程是一个持续迭代的过程。根据实际使用效果,不断调整和优化各个模块的内容。

3. 测试验证

每次修改后都要进行充分测试,验证提示词的有效性和稳定性。

4. 积累模板

将常用的提示词结构保存为模板,方便后续复用和快速创建新的提示词。

5. 分享交流

将自己的提示词模板分享给社区,获取反馈,共同进步。

常见问题

Q: 结构化提示词一定比非结构化的好吗?

A: 不一定。对于简单的任务,非结构化的提示词可能已经足够。但对于复杂任务、需要多次交互的场景,结构化提示词的优势会更加明显。

Q: 必须包含所有模块吗?

A: 不需要。根据具体需求选择合适的模块组合。核心模块是 Role、Goals 和 Workflow,其他模块可以根据需要添加。

Q: 如何判断提示词的质量?

A: 主要从以下几个方面评估:

  • 输出的准确性和相关性
  • 回答的一致性
  • 交互的流畅性
  • 是否满足预期目标

AI 解读

本文系统性地介绍了结构化提示词的设计方法和实践技巧,是 Prompt Engineering 领域的一篇实用指南。文章的核心价值在于:

  1. 方法论清晰:从传统提示词的局限性出发,自然引出结构化提示词的优势,逻辑连贯,易于理解。
  2. 结构完整:详细介绍了结构化提示词的各个组成部分(Role、Profile、Goals、Constrains、Skills、Workflow、Initialization),每个模块都有明确的定义和示例,具有很强的可操作性。
  3. 实践性强:提供了完整的”知识探索专家”提示词模板,读者可以直接使用或作为参考进行修改,降低了学习门槛。
  4. 扩展性好:文章不仅介绍了基础结构,还提供了语法选择(Markdown/YAML)、实践建议和常见问题解答,帮助读者深入理解和应用。

从技术角度看,结构化提示词的本质是将自然语言的模糊性转化为结构化的明确性,通过模块化的设计让 AI 更好地理解任务需求和输出规范。这种方法特别适合需要多次交互、复杂任务处理或需要一致输出质量的场景。

建议读者在阅读本文后,结合自己的实际需求,尝试创建自己的结构化提示词模板,并通过实践不断优化和改进。提示词工程是一个需要持续学习和实践的领域,结构化方法为我们提供了一个良好的起点。

参考链接:

  1. https://platform.claude.com/docs/zh-CN/build-with-claude/prompt-engineering/claude-prompting-best-practices
  2. https://cloud.tencent.com/developer/article/2400502
  3. https://langgptai.feishu.cn/wiki/ASXOwDbTEiH9CUkXFA5cLHumn88
  4. https://aws.amazon.com/cn/blogs/china/sixteen-ways-of-prompt-engineering/
  5. https://www.promptingguide.ai/zh

共有 0 条评论

Copyright © 2026 xyxbot.com 版权所有 备案号: 皖ICP备17009534号-10 | XYXBOT提供智能AI助手、自动化工具、效率提升解决方案,专注简单好用的AI服务,助力个人与企业快速实现效率升级。(个人非经营性站点,仅内容展示,无用户注册/互动功能)
本站所有内容均为个人整理分享,不构成任何建议,请勿用于商业用途