Cursor编程提示词教程怎么更像真实搜索问题
写提示词时,最怕AI听不懂你的真实困境。与其扔给它一句“怎么用React Query做乐观更新”,不如直接告诉它你正卡在哪个文件的哪一行——这样才能让Cursor立刻明白你要解决的具体问题,而不是对着一个抽象概念发呆。

把“怎么用React Query做乐观更新”改成真实搜索问题
第一件事:删掉所有教学体动词,比如“如何”“怎样”“请说明”。
这些词会触发Cursor默认的文档模式,输出一堆编号的教程体,而不是直接帮你修bug。
然后,补上你正在编辑的文件路径和光标位置。举个例子:“我在/src/features/order/hooks/useUpdateOrderStatus.ts里写了mutateAsync,但乐观更新后UI没刷新”——这样AI就知道该去哪个文件翻代码。
最后,把你刚写的那几行出问题的代码直接粘进来,别截图。AI需要看到真实的类型签名和变量名,才能判断是useMutation配置漏了onSettled,还是queryClient.invalidateQueries参数写错了。
让提示词自带上下文锚点
一个很管用的技巧:用@符号引用当前打开的文件。在提示词开头写“@src/app/settings/page.tsx第42行”,Cursor会自动读取那个文件,把光标定位到第42行附近。这比说“这个页面”准确十倍。
再带上最近一次报错信息。终端里报“TypeError: Cannot read property 'data' of undefined”,直接复制进来,AI会优先修这个具体错误,而不是泛泛讲useQuery返回结构。
别忘了标注你刚改过的依赖版本。一句“项目刚升级react-query v5.52,旧的useInfiniteQuery写法报错”,就能让AI跳过v4的示例代码,直接给你正确版本。
模仿你在Slack里问同事的真实语气
想想你在Slack里怎么问同事?你不会说“请生成一个防抖函数”,而是会说:“我在写搜索框的实时过滤,刚加了lodash.debounce,但输入太快时useEffect里fetch还在跑老请求,怎么让它自动abort?”
这句话里藏着卡点(fetch未中止)、已有动作(用了debounce)、失败现象(老请求还在跑),AI能直接定位到AbortController或queryKey动态拼接的问题。
别想太复杂,直接把你在团队群聊里随手敲的话复制进Cmd+K窗口就行。
用时间戳和操作动线锁定场景
在提示词里加入时间点和操作线索,能让上下文更清晰:
① 先说明你刚完成的动作——比如“我五分钟后上线新功能,现在正调试/src/lib/api/auth.ts里的refreshToken逻辑”。
② 再描述你下一步要做什么——“想在调用refreshToken后,自动把新token写进localStorage并触发router.replace('/dashboard')”。
③ 最后给出你手头已有的变量——“当前有newToken、expiresAt、userRole三个变量,不要新建state。”