任务简报模板¶
任务简报(Task Brief)是一次编码请求的完整上下文包。把它填完整后再让 AI 开始工作,能显著减少跑偏、过度重构和漏验证。
模板¶
背景:
当前项目在做什么,相关模块在哪里。
目标:
这次要实现或修复的具体行为。
范围:
可以修改哪些文件,哪些地方不要碰。
约束:
风格、兼容性、性能、安全、依赖和发布限制。
验收:
需要运行的命令、需要看到的结果、人工检查点。
交付:
最终回复要包含改动摘要、验证结果和残余风险。
填写示例¶
示例一:新功能¶
背景:
这是一个 Next.js 14 + Prisma 的 SaaS 项目。用户管理模块在 src/features/users/,
数据库 schema 在 prisma/schema.prisma。
目标:
为用户列表页添加按邮箱搜索的功能。输入框在列表上方,实时过滤(debounce 300ms),
不需要后端接口,直接在前端过滤已加载的数据。
范围:
只改 src/features/users/UserList.tsx 和相关的 hook。
不改后端接口、不改数据库查询、不改其他页面。
约束:
使用项目现有的 Input 组件(src/components/ui/Input.tsx)。
不引入新依赖。搜索不区分大小写。
验收:
1. pnpm tsc --noEmit 无错误
2. pnpm test users 全部通过
3. 手动验证:输入邮箱片段后列表实时过滤,清空后恢复全部
交付:
改动摘要 + 测试结果截图 + 残余风险说明
示例二:Bug 修复¶
背景:
src/lib/date.ts 的 formatRelativeTime() 函数在时区偏移为负数时返回错误结果。
复现:在 UTC-5 时区调用 formatRelativeTime(new Date()) 返回 "6 hours ago"。
目标:
修复时区处理逻辑,确保在任意时区返回正确的相对时间。
范围:
只改 src/lib/date.ts 中的 formatRelativeTime 函数。
不改调用方,不改其他日期工具函数。
约束:
不引入新的日期库(项目已有 date-fns,可以使用)。
保持函数签名不变。
验收:
1. 运行 pnpm test lib/date
2. 新增测试用例覆盖 UTC-5、UTC+8、UTC+0 三个时区
3. 确认现有测试全部通过
交付:
改动的函数代码 + 新增测试用例 + 验证结果
简报的长度¶
简报不需要很长。覆盖边界比覆盖细节更重要。
- 简单任务:背景 + 目标 + 验收,三段就够
- 复杂任务:全部六段,每段 2-4 句话
- 安全敏感:全部六段,约束部分要详细
判断标准:读完简报,你能预测 AI 会改哪些文件、不改哪些文件吗?如果能,简报就够了。
先写简报,再开对话
把简报作为对话的第一条消息发出去,而不是在来回几轮后才补充约束。 越早约束边界,AI 越少做无效工作。