一、任务描述的重要性
任务描述是提示工程的基础,清晰、准确的任务描述是获得高质量AI输出的关键。一个好的任务描述能够让AI准确理解你的需求,从而生成符合预期的结果。
二、任务描述的核心要素
2.1 任务目标
明确任务的最终目标:
// 不好的描述
"写一个排序算法"
// 好的描述
"请帮我实现一个基于C#的快速排序算法,要求能够对任意类型的可比较对象进行排序"
2.2 输入输出要求
明确输入参数和期望输出:
"请帮我实现一个计算折扣的函数:
输入参数:
- totalAmount: decimal类型,表示订单总金额
- customerLevel: int类型,表示客户等级(1-4)
输出:
- decimal类型,表示折扣后的金额
功能说明:
- 普通客户(等级1):无折扣
- 银卡客户(等级2):5%折扣
- 金卡客户(等级3):10%折扣
- 钻石客户(等级4):15%折扣"
2.3 约束条件
明确技术约束和限制条件:
graph TD
A[任务描述] --> B[任务目标]
A --> C[输入输出]
A --> D[约束条件]
A --> E[质量要求]
B --> B1[明确目标]
B1 --> B2[避免歧义]
B2 --> B3[可衡量性]
C --> C1[输入参数]
C1 --> C2[输出格式]
C2 --> C3[返回类型]
D --> D1[技术栈]
D1 --> D2[框架版本]
D2 --> D3[性能要求]
D3 --> D4[安全要求]
E --> E1[代码质量]
E1 --> E2[测试覆盖率]
E2 --> E3[文档要求]
三、任务描述技巧
3.1 使用主动语态
使用主动语态,让描述更清晰:
| 类型 | 示例 | 效果 |
|---|---|---|
| 被动语态 | "一个排序函数被实现" | 模糊不清 |
| 主动语态 | "请实现一个排序函数" | 清晰明确 |
3.2 使用具体动词
使用具体的动词描述操作:
// 模糊的动词
"处理订单"
"管理用户"
// 具体的动词
"创建订单"
"验证用户身份"
"计算订单金额"
"发送邮件通知"
3.3 避免模糊词汇
避免使用模糊不清的词汇:
// 模糊的描述
"优化这段代码"
"改进这个功能"
"让它更好"
// 具体的描述
"将这段代码的时间复杂度从O(n²)优化到O(n log n)"
"添加用户注册时的邮箱验证功能"
"将API响应时间从2秒降低到500毫秒以内"
四、任务描述模板
4.1 通用任务描述模板
"请帮我{动作},要求:
任务目标:
{详细描述}
输入参数:
{参数列表}
输出要求:
{输出格式和内容}
约束条件:
- 技术栈:{技术栈}
- 框架版本:{版本}
- 性能要求:{要求}
- 安全要求:{要求}
质量标准:
{代码质量、测试、文档等要求}"
4.2 代码生成任务模板
"请帮我实现{功能名称}功能:
功能描述:
{详细描述}
输入:
{输入参数及其类型}
输出:
{输出结果及其类型}
实现要求:
1. 使用{语言/框架}
2. 遵循{编码规范}
3. 包含{测试/文档}
4. 处理{边界情况/异常}
参考信息:
{相关代码、文档链接等}"
五、任务描述最佳实践
5.1 最佳实践清单
- 明确目标:清晰描述任务的最终目标
- 具体详细:提供足够的细节信息
- 结构清晰:使用列表和分段组织内容
- 语言简洁:使用简洁明了的语言
- 避免歧义:避免模糊不清的表述
5.2 任务描述流程图
flowchart TD
A[开始] --> B[明确任务目标]
B --> C[确定输入输出]
C --> D[列出约束条件]
D --> E[设定质量标准]
E --> F[组织描述结构]
F --> G[使用具体语言]
G --> H[检查歧义]
H --> I{是否有歧义}
I --> J[是]
I --> K[否]
J --> L[修改描述]
L --> H
K --> M[完成任务描述]
M --> N[提交给AI]
六、总结
任务描述是提示工程的基础,掌握任务描述技巧能够显著提升AI编程的效率和质量。通过明确任务目标、输入输出要求、约束条件和质量标准,能够获得更准确、更符合预期的AI输出。