在给出任务之前先给出上下文
AI 没法像你那样看到你的项目。它不知道你的框架版本、你的文件结构,或者你早已确立的惯例。当你跳过这些时,它就靠猜——而且猜得很糟。更糟的是,它自信地猜。所以在它撞上你真实的代码库之前,输出看起来都挺像样。
对比同一个请求的这两个提示词。
Add a function to validate emails.
This is a TypeScript backend using Express and Zod for validation.
We already validate inputs with Zod schemas in src/schemas/.
Add an email validation schema in that style. Emails must be
lowercase, max 254 chars, and reject disposable domains from
the existing BLOCKED_DOMAINS list in src/config.ts.
第一个提示词产出泛泛的代码,它可能用了一个你不想要的正则,风格也和你的代码库不匹配。第二个产出的代码你可以直接粘贴进去。规则是:陈述技术栈、惯例,以及 AI 应该复用的现有部件。
在你敲下回车之前,一份有用的心理清单:语言和框架(如果版本要紧就连版本一起),相关的文件或模块,项目里已有的模式,以及 AI 该偏好或该避开的库。不必每次都凑齐这四样——但如果答案会因其中之一而改变,就把它点出来。拿不准时,把新代码要适配的那个真实签名、类型或配置直接粘上去。几行现有代码教给 AI 的惯例,远胜过一整段描述。