同样的需求,有些人只跟AI说一遍就行,你却需要来回改十轮还不满意。不是AI不给力,而是你跟AI“说”的方式不给力。
中途碰过“跟AI说了半天它就是不懂”的坑,逐渐摸索出一套给AI说需求的方法。今天把这套方法拿出来讲讲,还配了5个你看了直接复制用的模板,学完今晚就能用上了。

先感受差距:同一需求,俩说法
❌ 低效说法:
帮我写一个登陆功能AI给你写的大概率是:通用的HTML登陆表单,用户名密码登陆,啥验证也没做,啥错误提示也没做,token也没设置,跟你的项目都对不上。
✅ 高效说法:
在 src/pages/Login.tsx 中实现登陆页面。用的技术栈:React + TypeScript + Ant Design。做的功能:手机号 + 验证码登陆,手机号格式校验,60秒倒计时,登陆成功后token存localStorage并跳转首页。接口:POST /api/login,参数 {phone, code},返回 {token, userInfo}。风格跟项目里 src/pages/Register.tsx 对着来。AI给你的就是一个能跑的登陆页,校验、倒计时、接口调用、跳转逻辑全写了,连风格都跟你的项目match。
差距就在这几件事上:上下文、结构、边界
5个最常见的提需求坑
坑1:只说目标,不给上下文❌ 帮我写个表格✅ 这是用户管理页面,用了Ant Design的Table组件,数据从 /api/users 来,需要分页,搜索,删除功能,跟 src/pages/OrderList.tsx 写法一致原因:AI可不知道你的项目是啥框架,啥组件库,啥风格。没上下文,它就只能给你一个“最”通用了的版本。
坑2:一次性提太多需求❌ 帮我做个完整的电商后台着包括用户管理,商品管理,订单管理,数据统计✅ 先做用户管理模块,做列表页和新增弹窗,做完这个我们再说下一个原因:AI一口气能干的有限,需求越复杂,遗漏越大。拆成小任务,一个个干,每步质量都高。
坑3:不给边界条件❌ 帮我写个表单提交✅ 表单提交要做的事有:必填校验,手机号格式校验,提交时按钮loading防止重复点击,接口失败展示错误信息,成功后弹个提示关闭弹窗原因:AI默认只写“正常清流程”,不写校验,不写异常处理,不写边界情况。你不说,它就不写。
坑4:不指明文件和位置❌ 帮我加个搜索功能✅ 在 src/pages/UserList.tsx 的 Table 上方加一个搜索区域,搜索条件是姓名和手机号,跟同目录下 OrderList.tsx 的 SearchBar 一样原因:不告诉AI在哪儿,AI可能新建文件,或者写在了错误的地方。告诉它文件,它直接改文件,改完就能跑啦。
坑5:改了不满意,不告诉原因❌ 噢,不对,重新写✅ 基本功能对了,但有3处你需要改:1. 搜索改成防抖,间隔300ms;2. 列表里加上序号列;3. 删除前加个确认弹窗原因:“不对”给AI的信息量为零。你告诉它哪里对了,哪里要改,它能精准地改,而不是全推倒重来。

三段式提需求法:说场景+说需求+说限制
这是我个人觉得最有效的给AI提需求的框架,叫“三段式”:
1. 场景:告诉AI你在做啥,用啥技术,参考啥 2. 需求:清楚地说你要啥功能,啥效果 3. 限制:说边界条件,不要啥,注意啥 4.
套用公式:
【场景】我在做一个xxx项目,技术栈是xxx,参考xxx的写法。【需求】实现xxx功能,包含xxx、xxx、xxx。【限制】不使用xxx,注意xxx,必须处理xxx异常。
给登录功能作个例子:
【场景】React + TypeScript + Ant Design 项目,参考 src/pages/Register.tsx 的代码风格【需求】实现手机号 + 验证码登录页,手机号格式校验,验证码60秒倒计时,登录成功跳到首页【限制】不使用第三方登录库,token存在 localStorage,接口失败要toast提示,按钮加loading防止重复提交三段式的好处:说的不多不少,恰恰好,够AI理解你的真实意图。场景说少了,AI就胡猜;限制说多了,AI就动弹不得,这叫拿捏得恰到好处。
5个可以直接抄的Prompt模板
模板1:新建页面
【场景】项目技术栈:{React/Vue} + {TypeScript} + {UI组件库},参考 {已有页面路径} 的代码风格【需求】新建 {页面名称},主要有 {功能列表},数据接口是 {接口路径和方法}【限制】遵循项目目录结构,页面和组件拆分方式参考 {参考页面},{特殊要求}
模板2:新建接口/函数
【场景】在 {文件路径} 中新增一个函数,项目使用 {请求库,如axios/fetch}【需求】实现 {功能描述},入参 {参数及类型},返回 {返回值结构},需要处理 {loading/错误/缓存}【限制】参考同文件中 {已有函数名} 的写法,错误码参考 {错误码文档或枚举}
模板3:修复Bug
【场景】{文件路径} 的 {函数/组件名} 有个bug【需求】现在的表现:{具体表现},期望的表现:{正确表现},步骤是:{如何触发}【限制】只改问题相关代码,不要重构其他部分,保持与现有代码风格一致
模板4:重构代码
【场景】{文件路径} 中 {组件/函数} 要重构,问题是:{代码太长/耦合太紧/维护起来太费劲}【需求】重构目标是:{拆分组件/提取Hook/优化逻辑},保持重构后功能不变【限制】不改接口和props,测试用例全过了,今天只重构一个方向
模板5:加功能/改需求
【场景】{文件路径} 中的 {组件/函数},目前实现了 {现有功能}【需求】新增/修改:{具体改动},涉及 {哪些部分需要改}【限制】保持现有功能不受影响,改动最小化,只改 {指定范围}

进阶技巧:让AI越用越懂你
写模板是第一步,让AI真正高效编程的关键在这二用。.md让Claude Code自动理解你的项目
Claude Code支持项目级配置文件 CLAUDE.md,丢在项目根目录,每次启动自动读取,不用你重复说项目规矩:
# 项目规矩- 技术栈:React 18 + TypeScript + Ant Design 5- 有状态管理:Zustand- 请求写在:src/utils/request.ts- 组件写法:函数组件 + Hooks- 命名规矩:页面用大驼峰,工具函数用小驼峰- 测试用:vitest,测试文件放在同目录 __tests__ 下- 绝不any写好这档子,Claude Code开机时自动加载,换句话说,每次跟你聊之前,它已经“事先拜读”了你的“项目说话”。你不用每次都说“我用的是React”,它就按规矩来。比起每次跟AI对话开头都要手动贴规矩,简直是省大事了。二、每次跟AI对话结束,叫Claude总结
弄完一组功能,对Claude说:
总结下这回改了哪些文件,每个文件改了啥,别忘了这是点啥把这总结存好。下一次改相关功能,把总结给Claude,吭哧,半天,它就晓得你的码村儿在哪里了。

今晚就能试的3件事爆(不)料
1. 把下一次想给AI的需求用三段式重写一遍:场景+需求+限制,看看AI给你出的活儿质量咋样 2. 在自己项目里装一个 CLAUDE.md 板子:写写你用的栈啥、咋写的,Claude Code只管走着瞧 3. 收藏5个活计模版:下回直接拿来用,老几不自己琢磨 4.
给AI派活——你说得明明白白,它干得亮闪闪。别觉得AI坑,不如30秒把活说清楚,30分钟的来回省了。
往期推荐
Prompt、Skill、Agent天天听,但到底啥区别?每次看到这三个词就头疼
你写的SKILL,其实VSCode也能用
AI 高效使用干货:PROMPT 适配临时需求,SKILL 搞定重复任务,彻底告别返工烦恼!
每次跟 AI 沟通都要反复说同样的流程?这个 SKILL.md 文档帮你彻底解决低效难题
写了 SKILL.md 却总翻车?5 条血泪法则,让你的 AI 技能真正靠谱
Claude 进阶干货:SKILL.md 的 6 个核心模块拆解,附可直接套用的销售数据分析实战案例!
夜雨聆风