角色设定、任务分解、输出格式控制
本文探讨提示词工程中的三个关键技巧:角色设定、任务分解和输出格式控制。角色设定通过明确AI的身份定位,显著提升回答的专业性和适用性,包括专业角色、创意角色、服务角色和特定风格等类型。文章通过对比示例展示了角色设定的效果差异,并提供了各类角色的详细模板,如专业专家模板、创意创作者模板等。最佳实践建议包括角色描述要具体而非笼统、包含关键属性、明确回答方式等,以优化AI输出的质量和用户体验。
·
文章目录
在提示词工程中,角色设定、任务分解和输出格式控制是三个关键技巧,它们能够显著提升AI输出的质量和可用性。本文将深入探讨这三个技巧的原理、应用场景和最佳实践,帮助你设计出更加精准有效的提示词。
角色设定(Role Assignment)
为什么需要角色设定?
角色设定能够为AI提供明确的身份定位,影响其回答的专业度、语气和视角。
class RoleAssignment:
"""
角色设定详解
"""
def __init__(self):
self.benefits = {
'提升专业性': '让AI以专家身份回答,提供更专业的见解',
'控制语气风格': '匹配特定场景的沟通方式',
'调整知识深度': '根据受众调整解释的详细程度',
'增强一致性': '保持整个对话的角色一致性',
'提高可信度': '明确的角色定位增加用户信任'
}
def show_comparison(self):
"""展示有无角色设定的对比"""
print("角色设定效果对比")
print("=" * 80)
comparisons = [
{
'task': '健康咨询',
'without_role': {
'prompt': '我最近总是失眠,怎么办?',
'output': '失眠可能是压力大或作息不规律导致的。建议早睡早起,睡前不要玩手机。'
},
'with_role': {
'prompt': '''你是一位有15年临床经验的睡眠医学专家。
请以专业但易懂的方式回答患者问题。
患者:我最近总是失眠,怎么办?''',
'output': '''作为睡眠医学专家,我建议从以下几个方面评估:
1. **睡眠卫生评估**
- 入睡时间和起床时间是否规律?
- 睡前2小时是否有蓝光暴露(手机、电脑)?
- 卧室环境(温度、光线、噪音)是否适宜?
2. **可能的原因**
- 心理因素:焦虑、压力、抑郁
- 生理因素:疼痛、呼吸问题
- 行为因素:咖啡因摄入、运动时间
3. **初步建议**
- 建立固定的睡眠时间表
- 睡前1小时进行放松活动
- 避免午后摄入咖啡因
4. **就医建议**
如果失眠持续超过3周,建议到睡眠门诊进行专业评估,可能需要进行睡眠监测。
注意:以上建议不能替代面诊,请根据实际情况就医。'''
},
'improvement': '专业性提升,结构化回答,包含评估和建议'
}
]
for comp in comparisons:
print(f"\n任务: {comp['task']}")
print(f"\n❌ 无角色设定:")
print(f" 提示词: {comp['without_role']['prompt']}")
print(f" 输出: {comp['without_role']['output']}")
print(f"\n✅ 有角色设定:")
print(f" 提示词: {comp['with_role']['prompt']}")
print(f" 输出: {comp['with_role']['output']}")
print(f"\n💡 改进: {comp['improvement']}")
print("-" * 80)
role = RoleAssignment()
role.show_comparison()
角色类型与应用场景
class RoleTypes:
"""
角色类型分类
"""
def __init__(self):
self.role_categories = {
'专业角色': {
'examples': ['医生', '律师', '工程师', '分析师', '教师', '顾问'],
'use_cases': ['专业咨询', '技术问题', '行业分析'],
'key_elements': ['专业背景', '经验年限', '专长领域']
},
'创意角色': {
'examples': ['作家', '诗人', '编剧', '设计师', '艺术家'],
'use_cases': ['内容创作', '创意生成', '艺术指导'],
'key_elements': ['创作风格', '擅长类型', '代表作品']
},
'服务角色': {
'examples': ['客服', '助理', '教练', '导师', '顾问'],
'use_cases': ['客户服务', '任务协助', '指导培训'],
'key_elements': ['服务态度', '沟通方式', '解决能力']
},
'特定风格': {
'examples': ['苏格拉底式导师', '严格的评审', '友好的伙伴', '批判性思考者'],
'use_cases': ['教学引导', '批判性分析', '头脑风暴'],
'key_elements': ['思维方式', '互动风格', '反馈方式']
}
}
def show_role_templates(self):
"""展示角色模板"""
print("\n\n角色设定模板")
print("=" * 80)
templates = {
'专业专家模板': '''你是一位{领域}专家,拥有{X}年的{具体方向}经验。
专业背景:
- 教育背景:{学历和专业}
- 工作经历:{主要经历}
- 专长领域:{具体专长}
回答风格:
- 专业但易懂
- 结构化清晰
- 提供实用建议
- 必要时引用权威来源
请回答以下问题:{问题}''',
'创意创作者模板': '''你是一位{创作类型}创作者,风格{风格描述}。
创作特点:
- 代表作品:{作品示例}
- 擅长主题:{主题列表}
- 创作手法:{手法描述}
创作要求:
- 保持{风格}风格
- 注重{重点要素}
- 目标受众:{受众描述}
请创作:{创作任务}''',
'服务助手模板': '''你是一位{服务类型}助手,致力于{服务目标}。
服务特点:
- 态度:{态度描述}
- 沟通方式:{沟通风格}
- 核心能力:{能力列表}
服务原则:
- {原则1}
- {原则2}
- {原则3}
请协助:{任务描述}''',
'教学导师模板': '''你是一位{学科}导师,采用{教学方法}教学法。
教学特点:
- 目标学生:{学生群体}
- 教学风格:{风格描述}
- 核心理念:{教学理念}
教学方法:
- 使用{方法1}
- 结合{方法2}
- 强调{重点}
请讲解:{教学内容}'''
}
for template_name, template in templates.items():
print(f"\n{template_name}:")
print(template)
print("-" * 60)
role_types = RoleTypes()
role_types.show_role_templates()
角色设定最佳实践
class RoleBestPractices:
"""
角色设定最佳实践
"""
def show_practices(self):
"""展示最佳实践"""
print("\n\n角色设定最佳实践")
print("=" * 80)
practices = [
{
'principle': '1. 具体而非笼统',
'bad': '你是一个专家',
'good': '你是一位有10年经验的Python后端开发专家,专注于高并发系统设计',
'reason': '具体的角色定位让AI更清楚如何回答'
},
{
'principle': '2. 包含关键属性',
'bad': '你是一位医生',
'good': '你是一位儿科医生,有15年临床经验,擅长儿童常见病诊断,沟通风格温和耐心',
'reason': '关键属性(专科、经验、专长、风格)影响回答质量'
},
{
'principle': '3. 明确回答方式',
'bad': '你是一位老师',
'good': '你是一位数学老师,擅长用生活化的例子解释抽象概念,回答时先给结论,再解释原理',
'reason': '明确的回答方式确保输出符合期望'
},
{
'principle': '4. 设定约束条件',
'bad': '你是一位律师',
'good': '你是一位公司法律师,回答时必须:1)引用具体法条 2)说明法律风险 3)提供合规建议 4)使用非专业人士能理解的语言',
'reason': '约束条件确保回答的完整性和规范性'
},
{
'principle': '5. 考虑目标受众',
'bad': '解释量子计算',
'good': '你是一位物理学教授,向高中生解释量子计算。使用通俗语言,避免复杂公式,多用类比',
'reason': '受众定位影响解释的深度和方式'
}
]
for practice in practices:
print(f"\n{practice['principle']}")
print(f" ❌ 不好: {practice['bad']}")
print(f" ✅ 更好: {practice['good']}")
print(f" 💡 原因: {practice['reason']}")
practices = RoleBestPractices()
practices.show_practices()
任务分解(Task Decomposition)
为什么需要任务分解?
复杂任务直接执行容易出错或遗漏,分解为子任务能提高完成质量。
class TaskDecomposition:
"""
任务分解详解
"""
def __init__(self):
self.benefits = [
'降低任务复杂度',
'提高完成质量',
'减少错误和遗漏',
'便于调试和优化',
'提升可控性'
]
def show_decomposition_examples(self):
"""展示任务分解示例"""
print("\n\n任务分解示例")
print("=" * 80)
examples = [
{
'complex_task': '写一篇产品评测文章',
'direct_prompt': '写一篇关于iPhone 15 Pro的评测文章',
'decomposed_prompt': '''请按以下步骤完成iPhone 15 Pro评测文章:
步骤1:产品概述(200字)
- 发布时间和定位
- 主要升级点
- 目标用户群
步骤2:外观设计评测(300字)
- 材质和工艺
- 尺寸和重量
- 颜色选择
- 手感体验
步骤3:性能测试(400字)
- A17 Pro芯片性能
- 游戏表现
- 发热控制
- 续航测试
步骤4:相机系统评测(400字)
- 主摄表现
- 长焦和超广角
- 夜景模式
- 视频拍摄
步骤5:使用体验(300字)
- iOS 17新特性
- 日常使用感受
- 优缺点总结
步骤6:购买建议(200字)
- 适合人群
- 性价比分析
- 与竞品对比
总字数:约1800字
语气:客观专业,有数据支撑''',
'improvement': '结构清晰,每部分有明确要求,不易遗漏'
},
{
'complex_task': '代码审查',
'direct_prompt': '审查这段代码',
'decomposed_prompt': '''请按以下维度审查代码:
维度1:功能正确性
- 是否实现了预期功能?
- 是否有逻辑错误?
- 边界条件是否处理?
维度2:代码质量
- 命名是否清晰?
- 是否符合编码规范?
- 是否有重复代码?
- 注释是否充分?
维度3:性能
- 时间复杂度如何?
- 空间复杂度如何?
- 是否有性能瓶颈?
维度4:安全性
- 是否有安全漏洞?
- 输入验证是否充分?
- 是否有SQL注入风险?
维度5:可维护性
- 代码结构是否清晰?
- 是否易于扩展?
- 是否有技术债务?
每个维度给出:
1. 评分(1-10分)
2. 具体问题
3. 改进建议
4. 优化代码示例(如需要)
代码:[代码内容]''',
'improvement': '审查全面,有明确的评估标准'
}
]
for ex in examples:
print(f"\n复杂任务: {ex['complex_task']}")
print(f"\n❌ 直接提示:")
print(f" {ex['direct_prompt']}")
print(f"\n✅ 分解后的提示:")
for line in ex['decomposed_prompt'].split('\n'):
print(f" {line}")
print(f"\n💡 改进: {ex['improvement']}")
print("-" * 80)
task_decomp = TaskDecomposition()
task_decomp.show_decomposition_examples()
任务分解方法
class DecompositionMethods:
"""
任务分解方法
"""
def show_methods(self):
"""展示分解方法"""
print("\n\n任务分解方法")
print("=" * 80)
methods = {
'顺序分解': {
'description': '按时间或流程顺序分解',
'suitable_for': '有明确先后顺序的任务',
'example': '''任务:制作一个网站
步骤1:需求分析
步骤2:设计原型
步骤3:前端开发
步骤4:后端开发
步骤5:测试
步骤6:部署上线'''
},
'维度分解': {
'description': '按不同评估维度分解',
'suitable_for': '分析、评估类任务',
'example': '''任务:评估一个商业计划
维度1:市场分析
维度2:竞争分析
维度3:财务预测
维度4:风险评估
维度5:团队能力'''
},
'层级分解': {
'description': '从宏观到微观逐层分解',
'suitable_for': '复杂的系统性任务',
'example': '''任务:优化网站性能
第一层:识别问题领域
- 前端性能
- 后端性能
- 数据库性能
第二层:前端性能细分
- 资源加载
- 渲染优化
- 交互响应
第三层:资源加载细分
- 图片优化
- JS/CSS压缩
- CDN配置'''
},
'并行分解': {
'description': '分解为可并行执行的子任务',
'suitable_for': '独立的多个子任务',
'example': '''任务:准备产品发布
并行任务1:技术准备
- 代码审查
- 性能测试
- 安全检查
并行任务2:市场准备
- 宣传材料
- 媒体联系
- 社交媒体
并行任务3:运营准备
- 客服培训
- 文档准备
- 监控配置'''
}
}
for method, info in methods.items():
print(f"\n{method}")
print(f" 描述: {info['description']}")
print(f" 适用: {info['suitable_for']}")
print(f"\n 示例:")
for line in info['example'].split('\n'):
print(f" {line}")
print("-" * 60)
methods = DecompositionMethods()
methods.show_methods()
任务分解模板
def task_decomposition_templates():
"""任务分解模板"""
print("\n\n任务分解模板")
print("=" * 80)
templates = {
'分析类任务': '''请按以下框架分析{分析对象}:
第一部分:背景与现状
- 基本情况
- 历史发展
- 当前状态
第二部分:深入分析
- 优势(Strengths)
- 劣势(Weaknesses)
- 机会(Opportunities)
- 威胁(Threats)
第三部分:数据支撑
- 关键指标
- 对比数据
- 趋势分析
第四部分:结论与建议
- 核心发现
- 行动建议
- 风险提示''',
'创作类任务': '''请按以下步骤创作{创作内容}:
步骤1:构思阶段
- 确定主题和核心信息
- 明确目标受众
- 设定创作风格
步骤2:大纲设计
- 开头:如何吸引注意
- 主体:核心内容结构
- 结尾:如何收尾
步骤3:内容创作
- 按大纲逐部分创作
- 注意过渡和连贯
- 保持风格一致
步骤4:优化润色
- 检查逻辑
- 优化表达
- 调整节奏''',
'问题解决类': '''请按以下步骤解决{问题}:
步骤1:问题定义
- 明确问题是什么
- 问题的影响范围
- 问题的紧急程度
步骤2:原因分析
- 可能的原因列表
- 根本原因识别
- 因果关系分析
步骤3:方案设计
- 列出可能的解决方案
- 评估每个方案的优缺点
- 选择最优方案
步骤4:实施计划
- 具体行动步骤
- 所需资源
- 时间安排
步骤5:效果评估
- 评估标准
- 监控指标
- 调整机制''',
'学习类任务': '''请按以下步骤学习{学习内容}:
步骤1:概览理解
- 这是什么?
- 为什么重要?
- 应用场景
步骤2:核心概念
- 关键概念列表
- 概念之间的关系
- 重点难点
步骤3:详细讲解
- 逐个概念深入
- 使用类比和示例
- 常见误区
步骤4:实践应用
- 实际案例
- 动手练习
- 常见问题
步骤5:总结巩固
- 知识点总结
- 学习路径建议
- 进阶资源'''
}
for template_name, template in templates.items():
print(f"\n{template_name}:")
print(template)
print("-" * 60)
task_decomposition_templates()
输出格式控制(Output Format Control)
为什么需要格式控制?
明确的输出格式让结果更易读、易用、易处理。
class OutputFormatControl:
"""
输出格式控制详解
"""
def __init__(self):
self.format_types = {
'结构化格式': ['JSON', 'XML', 'YAML', 'CSV'],
'文档格式': ['Markdown', 'HTML', 'LaTeX'],
'表格格式': ['表格', '列表', '树形结构'],
'代码格式': ['函数', '类', '配置文件'],
'对话格式': ['问答', '对话', '脚本']
}
def show_format_examples(self):
"""展示格式控制示例"""
print("\n\n输出格式控制示例")
print("=" * 80)
examples = [
{
'task': '信息提取',
'without_format': {
'prompt': '从文本中提取人物信息',
'output': '张三,35岁,软件工程师,在北京工作,邮箱是zhangsan@example.com'
},
'with_format': {
'prompt': '''从文本中提取人物信息,以JSON格式输出:
{
"name": "姓名",
"age": 年龄(数字),
"occupation": "职业",
"location": "工作地点",
"contact": {
"email": "邮箱",
"phone": "电话"
}
}
文本:[输入文本]''',
'output': '''{
"name": "张三",
"age": 35,
"occupation": "软件工程师",
"location": "北京",
"contact": {
"email": "zhangsan@example.com",
"phone": null
}
}'''
},
'benefit': 'JSON格式可直接被程序解析使用'
},
{
'task': '步骤说明',
'without_format': {
'prompt': '说明如何做咖啡',
'output': '首先准备咖啡豆和热水,然后研磨咖啡豆,接着冲泡,最后享用。'
},
'with_format': {
'prompt': '''说明如何做咖啡,按以下格式输出:
## 所需材料
- 材料1(数量)
- 材料2(数量)
## 所需工具
- 工具1
- 工具2
## 制作步骤
1. 步骤1(详细说明)
2. 步骤2(详细说明)
## 注意事项
- 注意点1
- 注意点2
## 预计时间
总计:X分钟''',
'output': '''## 所需材料
- 咖啡豆(15-20克)
- 热水(250毫升,90-95°C)
- 糖/奶(可选)
## 所需工具
- 咖啡研磨机
- 手冲壶
- 滤纸和滤杯
- 咖啡杯
## 制作步骤
1. 研磨咖啡豆至中等粗细(约30秒)
2. 将滤纸放入滤杯,用热水润湿
3. 倒入咖啡粉,轻轻摇平
4. 第一次注水(30ml),闷蒸30秒
5. 分3次注入剩余热水,每次间隔30秒
6. 等待滤完(约2-3分钟)
## 注意事项
- 水温不要超过95°C,避免过度萃取
- 研磨粗细影响口感,可根据喜好调整
- 冲泡时间控制在3-4分钟
## 预计时间
总计:5-6分钟'''
},
'benefit': '结构清晰,易于遵循和理解'
}
]
for ex in examples:
print(f"\n任务: {ex['task']}")
print(f"\n❌ 无格式控制:")
print(f" 提示词: {ex['without_format']['prompt']}")
print(f" 输出: {ex['without_format']['output']}")
print(f"\n✅ 有格式控制:")
print(f" 提示词: {ex['with_format']['prompt']}")
print(f" 输出: {ex['with_format']['output']}")
print(f"\n💡 优势: {ex['benefit']}")
print("-" * 80)
format_control = OutputFormatControl()
format_control.show_format_examples()
常用输出格式模板
class FormatTemplates:
"""
常用输出格式模板
"""
def show_templates(self):
"""展示格式模板"""
print("\n\n常用输出格式模板")
print("=" * 80)
templates = {
'JSON格式': {
'description': '适合结构化数据,便于程序处理',
'template': '''{
"key1": "value1",
"key2": 123,
"key3": ["item1", "item2"],
"key4": {
"nested_key": "nested_value"
},
"key5": true
}''',
'use_case': '数据提取、API响应、配置文件'
},
'Markdown表格': {
'description': '适合数据对比和展示',
'template': '''| 列1 | 列2 | 列3 | 列4 |
|-----|-----|-----|-----|
| 值1 | 值2 | 值3 | 值4 |
| 值5 | 值6 | 值7 | 值8 |''',
'use_case': '数据对比、性能测试结果、特性对比'
},
'Markdown列表': {
'description': '适合层级信息和要点列举',
'template': '''## 一级标题
### 二级标题1
- 要点1
- 要点2
- 子要点2.1
- 子要点2.2
- 要点3
### 二级标题2
1. 步骤1
2. 步骤2
3. 步骤3''',
'use_case': '文档、教程、总结、大纲'
},
'代码块格式': {
'description': '适合代码展示',
'template': '''```python
def function_name(param1, param2):
"""
函数说明
Args:
param1: 参数1说明
param2: 参数2说明
Returns:
返回值说明
"""
# 实现代码
result = param1 + param2
return result
```''',
'use_case': '代码示例、技术文档、教程'
},
'问答格式': {
'description': '适合FAQ和对话',
'template': '''Q1: 问题1
A1: 回答1
Q2: 问题2
A2: 回答2
Q3: 问题3
A3: 回答3''',
'use_case': 'FAQ、面试问答、学习笔记'
},
'分析报告格式': {
'description': '适合分析和报告',
'template': '''# 标题
## 执行摘要
[核心发现和建议]
## 背景
[背景信息]
## 分析方法
[使用的方法]
## 主要发现
### 发现1
[详细说明]
### 发现2
[详细说明]
## 数据支撑
[图表和数据]
## 结论与建议
[结论和行动建议]
## 附录
[补充信息]''',
'use_case': '商业分析、技术报告、研究报告'
}
}
for format_name, info in templates.items():
print(f"\n{format_name}")
print(f" 描述: {info['description']}")
print(f" 适用场景: {info['use_case']}")
print(f"\n 模板:")
for line in info['template'].split('\n'):
print(f" {line}")
print("-" * 60)
templates = FormatTemplates()
templates.show_templates()
格式控制技巧
class FormatControlTips:
"""
格式控制技巧
"""
def show_tips(self):
"""展示技巧"""
print("\n\n格式控制技巧")
print("=" * 80)
tips = [
{
'tip': '1. 提供完整的格式示例',
'bad': '以JSON格式输出',
'good': '''以JSON格式输出,格式如下:
{
"name": "姓名",
"age": 年龄,
"skills": ["技能1", "技能2"]
}''',
'reason': '完整示例避免格式错误'
},
{
'tip': '2. 明确数据类型',
'bad': '输出年龄',
'good': '输出年龄(整数类型,如果未知则为null)',
'reason': '明确类型避免格式不一致'
},
{
'tip': '3. 使用分隔符',
'bad': '输出结果',
'good': '''输出结果,格式:
---开始---
[结果内容]
---结束---''',
'reason': '分隔符便于提取和解析'
},
{
'tip': '4. 指定字段顺序',
'bad': '输出用户信息',
'good': '输出用户信息,顺序:姓名、年龄、职业、邮箱',
'reason': '固定顺序便于处理'
},
{
'tip': '5. 处理特殊情况',
'bad': '提取邮箱',
'good': '提取邮箱,如果文本中没有邮箱,输出"未找到"',
'reason': '明确特殊情况的处理方式'
},
{
'tip': '6. 限制输出长度',
'bad': '总结文章',
'good': '用3-5句话总结文章(每句不超过30字)',
'reason': '控制输出长度符合需求'
}
]
for tip_info in tips:
print(f"\n{tip_info['tip']}")
print(f" ❌ 不好: {tip_info['bad']}")
print(f" ✅ 更好: {tip_info['good']}")
print(f" 💡 原因: {tip_info['reason']}")
tips = FormatControlTips()
tips.show_tips()
三者结合的综合应用
class CombinedApplication:
"""
角色设定、任务分解、格式控制的综合应用
"""
def show_comprehensive_example(self):
"""展示综合示例"""
print("\n\n综合应用示例")
print("=" * 80)
example = '''
任务:为电商平台生成产品分析报告
【角色设定】
你是一位资深的电商数据分析师,拥有8年的电商行业经验,擅长从用户行为数据中挖掘商业洞察。
专业背景:
- 曾在阿里巴巴、京东等大型电商平台工作
- 精通数据分析工具和方法
- 擅长将数据转化为商业建议
分析风格:
- 数据驱动,结论明确
- 注重实用性和可操作性
- 使用可视化辅助说明
【任务分解】
请按以下步骤完成产品分析报告:
步骤1:数据概览(200字)
- 分析时间范围
- 数据来源说明
- 关键指标概览
步骤2:销售表现分析(400字)
- 销售额趋势
- 订单量变化
- 客单价分析
- 同比/环比对比
步骤3:用户行为分析(400字)
- 流量来源分布
- 转化率分析
- 用户画像
- 复购率
步骤4:产品竞争力分析(300字)
- 价格竞争力
- 评价分析
- 与竞品对比
- 优势和劣势
步骤5:问题识别(200字)
- 主要问题列表
- 问题影响评估
- 根本原因分析
步骤6:优化建议(300字)
- 短期行动建议(1个月内)
- 中期优化方向(3个月内)
- 长期战略建议
- 预期效果
【输出格式】
请按以下Markdown格式输出:
# 产品分析报告:[产品名称]
## 执行摘要
[3-5句话概括核心发现和建议]
## 1. 数据概览
- **分析周期**:YYYY-MM-DD 至 YYYY-MM-DD
- **数据来源**:[来源]
- **核心指标**:
- 总销售额:¥XXX
- 总订单量:XXX
- 平均客单价:¥XXX
## 2. 销售表现分析
### 2.1 销售趋势
[分析内容]
| 指标 | 本期 | 上期 | 同比 | 环比 |
|------|------|------|------|------|
| 销售额 | | | | |
| 订单量 | | | | |
| 客单价 | | | | |
### 2.2 关键发现
- 发现1
- 发现2
## 3. 用户行为分析
### 3.1 流量分析
[分析内容]
### 3.2 转化分析
[分析内容]
### 3.3 用户画像
- 年龄分布:
- 地域分布:
- 消费偏好:
## 4. 产品竞争力分析
### 4.1 价格竞争力
[分析内容]
### 4.2 用户评价
- 好评率:XX%
- 主要好评点:
- 主要差评点:
### 4.3 竞品对比
| 维度 | 本产品 | 竞品A | 竞品B |
|------|--------|-------|-------|
| 价格 | | | |
| 评分 | | | |
| 销量 | | | |
## 5. 问题识别
### 问题1:[问题描述]
- **影响程度**:高/中/低
- **根本原因**:[分析]
### 问题2:[问题描述]
- **影响程度**:高/中/低
- **根本原因**:[分析]
## 6. 优化建议
### 6.1 短期行动(1个月内)
1. 建议1
- 具体措施:
- 预期效果:
- 所需资源:
2. 建议2
- 具体措施:
- 预期效果:
- 所需资源:
### 6.2 中期优化(3个月内)
[建议内容]
### 6.3 长期战略
[建议内容]
## 7. 总结
[总结核心观点和下一步行动]
---
**报告生成时间**:YYYY-MM-DD
**分析师**:[姓名]
【输入数据】
[实际的产品数据]
'''
print(example)
print("\n\n这个综合示例的特点:")
features = [
'✓ 角色设定:明确了分析师的专业背景和分析风格',
'✓ 任务分解:将复杂的分析任务分解为6个清晰的步骤',
'✓ 格式控制:使用Markdown格式,包含表格、列表、层级结构',
'✓ 结构清晰:每个部分都有明确的要求和字数限制',
'✓ 可操作性:输出结果可直接使用,无需二次整理'
]
for feature in features:
print(f" {feature}")
combined = CombinedApplication()
combined.show_comprehensive_example()
实战技巧总结
class PracticalSummary:
"""
实战技巧总结
"""
def show_summary(self):
"""展示总结"""
print("\n\n实战技巧总结")
print("=" * 80)
summary = {
'角色设定技巧': [
'具体明确:包含专业、经验、专长',
'匹配场景:角色要符合任务需求',
'设定风格:明确沟通方式和语气',
'考虑受众:根据目标用户调整',
'添加约束:规范回答的方式和内容'
],
'任务分解技巧': [
'选对方法:顺序、维度、层级、并行',
'粒度适中:不要太粗也不要太细',
'逻辑清晰:步骤之间关系明确',
'可执行性:每个子任务都可独立完成',
'完整性:覆盖所有必要方面'
],
'格式控制技巧': [
'提供示例:完整的格式示例',
'明确类型:指定数据类型',
'使用分隔符:便于提取和解析',
'处理边界:说明特殊情况处理',
'验证输出:确保格式符合要求'
],
'组合使用技巧': [
'先设定角色,确定专业视角',
'再分解任务,明确执行步骤',
'最后控制格式,规范输出结构',
'三者配合,相互补充',
'持续迭代,不断优化'
]
}
for category, tips in summary.items():
print(f"\n{category}:")
for tip in tips:
print(f" ✓ {tip}")
def show_checklist(self):
"""展示检查清单"""
print("\n\n提示词设计检查清单")
print("=" * 80)
checklist = {
'角色设定': [
'☐ 是否明确了角色的专业背景?',
'☐ 是否说明了经验和专长?',
'☐ 是否设定了回答风格?',
'☐ 是否考虑了目标受众?',
'☐ 是否添加了必要约束?'
],
'任务分解': [
'☐ 是否选择了合适的分解方法?',
'☐ 是否覆盖了所有必要步骤?',
'☐ 步骤之间的逻辑是否清晰?',
'☐ 每个步骤是否可执行?',
'☐ 是否有明确的完成标准?'
],
'格式控制': [
'☐ 是否提供了完整的格式示例?',
'☐ 是否明确了数据类型?',
'☐ 是否说明了特殊情况处理?',
'☐ 格式是否便于后续使用?',
'☐ 是否有验证机制?'
]
}
for category, items in checklist.items():
print(f"\n{category}:")
for item in items:
print(f" {item}")
summary = PracticalSummary()
summary.show_summary()
summary.show_checklist()
总结
本文深入探讨了提示词工程的三大关键技巧:
1. 角色设定
- 核心价值:提供专业视角和风格定位
- 关键要素:专业背景、经验、专长、风格
- 应用场景:专业咨询、创意创作、服务协助
2. 任务分解
- 核心价值:降低复杂度,提高完成质量
- 分解方法:顺序、维度、层级、并行
- 应用场景:复杂分析、系统设计、项目规划
3. 输出格式控制
- 核心价值:规范输出,便于使用和处理
- 常用格式:JSON、Markdown、表格、代码
- 应用场景:数据提取、文档生成、报告输出
最佳实践:
- 根据任务特点选择合适的技巧
- 三者结合使用效果最佳
- 持续测试和优化
- 建立自己的模板库
掌握这三大技巧,你就能设计出高质量、高效率的提示词。在下一篇文章中,我们将提供20个实用的提示词模板,涵盖各种常见场景,让你可以直接使用和改编。
更多推荐



所有评论(0)