Skip to content

任务描述模板

任务描述写得好不好,直接决定 AI 生成结果的质量。这页给几个具体模板,针对 Vibe Coding 里最常见的几类任务场景。

为什么任务描述需要刻意练习

AI 不会主动帮你澄清需求。如果你说"帮我优化这段代码",它会给你一个基于自己理解的优化版本,不一定是你想要的那种优化。描述越模糊,猜对的概率越低,修改的次数越多。

好的任务描述不是长,而是信息密度高。

通用结构

[我想实现的功能或目标]
[现有的上下文或约束]
[我不想要的东西(可选)]
[成功的标志是什么(可选)]

这个结构不需要照搬,但养成"先说目标,再说约束"的习惯,结果会稳定很多。

场景模板

新建功能

帮我给这个用户管理系统加一个"批量导出"功能。
要求:
- 可以导出为 CSV 格式
- 导出字段包括:用户名、邮箱、注册时间、最后登录时间
- 文件名格式:users-{日期}.csv
- 数据量可能很大,不能一次性加载到内存里

现有代码用 Node.js + Express,数据库是 PostgreSQL,已经有 User model。

关键点:说清楚目标、格式约束、技术栈限制,不要让 AI 猜。

修复问题

登录接口有时候会返回 500 错误,不是每次都能复现。
错误信息是:
TypeError: Cannot read properties of null (reading 'id')
  at UserController.login (controllers/user.js:45)

我的猜测是用户不存在时 findOne 返回 null,但后续代码没有处理这个情况。
帮我修复这个问题,同时把错误处理统一一下。

关键点:贴上完整错误信息,说明复现条件,分享你的猜测(即使不确定),这样 AI 的定位会快很多。

重构代码

帮我重构 @controllers/order.js 这个文件。
现在的问题:
- 一个函数超过 200 行
- 数据库操作、业务逻辑、响应处理全混在一起
- 没有错误处理

目标:
- 把业务逻辑抽到 service 层
- 数据库操作封装到 repository 层
- 每个函数不超过 50 行

不要改接口签名,路由文件我不想动。

关键点:明确说清楚现在哪里不对、目标是什么、哪些东西不能动。

实现一个算法或工具函数

帮我写一个函数,输入一个文章列表(每篇有 title、content、tags),
输出按相关度排序的搜索结果。

搜索规则:
- title 匹配权重是 content 匹配的 3 倍
- tags 完全匹配加 5 分
- 不需要用外部库,用原生 JS 实现
- 要有单元测试,覆盖至少:命中 title、命中 tags、无结果三种情况

返回类型:{ results: Article[], total: number }

关键点:给出输入输出格式,说明权重规则,指定测试要求。

容易犯的描述错误

过于技术化

❌ 把这个 useEffect 改成用 React Query 的 useQuery,添加 staleTime 和 cacheTime 配置

✅ 帮我把这个数据获取逻辑改成 React Query 管理,
   数据 5 分钟内不重新请求,缓存保留 30 分钟

前者要求你先知道 React Query 的 API,后者让 AI 去对应具体参数。

没有约束

❌ 帮我优化这个查询

✅ 这个查询现在每次要 2 秒,帮我把它优化到 200ms 以内,
   不能改数据库 schema,可以加索引

没有约束时,AI 不知道什么叫"优化成功"。

描述行为而非结果

❌ 在数组里遍历每个元素,然后根据条件过滤,再格式化成对象

✅ 输入:[{id: 1, status: 'active', name: 'foo'}]
   输出:{1: 'foo'}(只保留 status 为 active 的,key 是 id,value 是 name)

给示例永远比描述步骤清晰。

迭代的节奏

第一次描述不可能完美,也不需要。更好的方式是:

  1. 写一个粗略的描述,先让 AI 给出方向
  2. 看它理解对了吗,然后修正具体的偏差
  3. 接受部分结果,继续描述下一步

把任务描述当成一次对话的开始,不是一份需求文档。


下一页是 错误修复对话技巧,专门讲出错之后怎么和 AI 配合快速定位问题。

面向开发者的 AI 实战路线——Vibe Coding 与 AI 应用开发