任务输入:上下文、约束、验收标准
agent 不需要完美提示词,但需要足够清楚的工作边界。最稳定的结构是:目标、上下文、约束、验收。复杂功能先让它采访你,写成规格,再开新会话执行。
本章目标
- 会把一句模糊需求改写成可执行任务。
- 知道哪些上下文应该直接交给 agent,而不是靠口头转述。
- 能让它先计划、先采访或先提问,而不是直接开干。
四段式任务说明
四段式不是模板崇拜,而是让 agent 在同一条消息里看到“做什么、从哪里看、不要越过哪里、做到什么算完成”。研发场景里,少一段通常就会变成返工。
- 目标:最终要交付什么行为或产物。
- 上下文:相关路径、错误、截图、日志、参考实现、官方链接。
- 约束:不能改的接口、风格、依赖、路径、权限和范围。
- 验收:要跑的命令、要复现的步骤、要检查的页面状态或输出。
EXAMPLE
把“修一下搜索”改成可执行任务
搜索问题如果不给复现路径,它可能只改输入框样式或重写搜索逻辑。
不够好的写法
搜索有问题,帮我修一下。更可执行的写法
目标:修复 /search 输入中文后结果闪烁的问题。
上下文:复现步骤是打开 /search,输入“AI”,快速删除再输入“Agent”;相关文件可能在 src/app/search 和 src/lib/search。
约束:不要重写搜索页,不新增状态库,不改变搜索 API。
验收:用浏览器复现同样步骤,确认结果稳定;运行 npm run lint;最后说明根因和未覆盖边界。你应该期待的结果
- 先按复现路径定位,而不是猜。
- 改动范围被约束在搜索相关代码。
- 验证和汇报能对应原始症状。
给它更丰富、更直接的上下文
能直接给原始材料,就不要自己二次转述。转述会丢细节,也会把你的猜测混进事实。让 agent 自己读文件、看截图、查日志、打开 URL,通常比你描述“应该在某某地方”更可靠。
- 引用文件:用 @ 或明确路径让它读真实文件,而不是靠你口头描述。
- 贴截图:UI 溢出、设计稿、报错弹窗,截图比文字更准确。
- 喂日志:把错误输出、CI 日志、tail 结果直接给它,别只贴最后一行。
- 给官方链接:涉及 API、框架、工具变化时,直接给权威 URL。
- 让它自己查:能用 gh、aws、sentry-cli、MCP 或 shell 拿到的信息,不必你先整理成摘要。
CASE
UI 溢出问题
场景
你看到移动端图片或代码块超出边界。用截图和视口尺寸描述,比一句“样式有问题”更有效。
可以这样说
目标:修复 /manual/agent/complete-tutorial 在 390px 宽度下配图超出容器的问题。
上下文:我已截图标出问题元素;请先定位是哪类 figure/img 或 SVG 造成溢出。
约束:不要重做页面布局,不改文章内容,不改无关图片。
验收:用浏览器检查 390px 和桌面宽度;确认所有手册配图不横向溢出;运行 npm run lint。验收点
- 明确页面和视口。
- 先定位具体元素。
- 修复范围不扩大。
- 用浏览器验收而不是只看 CSS。
复杂任务先看计划
改动面大、涉及共享逻辑、需求没想清、或你不熟悉代码时,先让它只读地给计划。计划的价值不是漂亮分步骤,而是暴露它是否读懂了目标、边界、影响面和验证方式。
- 适合先计划:多文件改动、共享模块、数据迁移、权限、性能、复杂 UI、陌生代码。
- 可以跳过计划:一句话能说清、影响面小、可回滚的机械改动。
- 计划要能审:包含将改哪些文件、为什么、哪些不改、怎么验证。
- 计划跑偏时:先修计划,不要让它硬按错误假设执行。
CASE
计划里出现越界动作
场景
你只想修移动端溢出,但它计划重构布局组件和调整全局样式。
可以这样说
这个计划范围过大。请收窄到复现移动端溢出、定位具体元素、做最小样式修复、验证 390px 和桌面宽度。不要重构组件,不改全局样式变量。改完再给我看新计划。验收点
- 计划被收窄。
- 验证目标明确。
- 不夹带重构。
- 执行范围可 review。
大功能先让它采访你
真正复杂的功能,一开始往往连你自己也没想全。比写长 prompt 更有效的方式,是让它反过来采访你:专门问技术实现、交互细节、边界情况和取舍。问完后写成 SPEC.md,再开新会话执行。
新会话只带规格,不带采访过程中的试探和废话,上下文更干净。好的规格应该自包含:涉及哪些文件和接口、明确不做什么、最后怎么端到端验证。
CASE
评论功能不要直接实现
场景
评论功能会涉及登录、审核、通知、分页、删除、垃圾内容处理。直接实现大概率会做出你没想要的版本。
可以这样说
我想做评论功能:登录用户可以评论文章,支持回复。请先采访我,覆盖技术实现、交互细节、边界情况和取舍;不要问显而易见的问题,专挑我可能没想到的难点问。问完后把完整规格写进 SPEC.md,先不要写代码。验收点
- 先提问,不先写代码。
- 问题聚焦容易遗漏的细节。
- 最终产出可执行 SPEC.md。
- 规格里有端到端验收步骤。
常见缺口
- 只说“优化一下”,没有说明优化方向。
- 只贴错误,没有说明怎么复现。
- 只给目标,没有说明哪些文件、接口或依赖不能动。
- 只要求完成,没有说明怎么验证。
- 只说“参考官方文档”,没有给具体链接或版本。
照着做
把你最近想交给 agent 的一个模糊任务,按“目标 / 上下文 / 约束 / 验收”重写。先不要执行,只让它指出这份任务说明还缺哪些信息、哪些假设可能出错。