扒了下 Cursor 的提示词,被狠狠惊艳到了!

如果让你开发一个 AI 编程工具(比如 Cursor),你觉得最大的难点是什么?

是前端技术、后端技术、UI 设计、还是别的?

我觉得是提示词。

我之前手把手带大家做过一个 开源的 AI 代码生成平台,也能生成完整的应用,但无论是生成速度还是效果都不如 Cursor 要好。

要想让 AI 生成的效果好,不仅需要能力强的大模型,还需要精心编写的提示词。

Cursor 在提示词和工程化这点做的就很好,于是我从 开源项目 中获取到了 Cursor 的提示词,写的非常好,真的是惊艳到我了。所以本期我要带大家学习其中的精髓,很多技巧对我们自己开发 AI 应用会有很大的帮助。

⭐️ 推荐观看视频版:https://bilibili.com/video/BV1bBaBzXEae/

Cursor 提示词总览

Cursor 有很多套提示词,每套提示词适用于不同的场景。比如:

  • Agent 模式提示词:让 AI 能够自主地分析、规划并执行编码任务,直到问题被彻底解决。

  • CLI 命令行提示词:适用于可交互命令行环境

  • Chat 对话提示词:适用于以对话问答为主的场景,能快速响应用户的问题。

  • Memory 对话记忆提示词:评估 AI 的长期记忆,保证 AI 能够从历史交互中学习并沉淀高质量的通用偏好记忆。

其中,最值得学习的是 Agent 模式提示词,足足有 500 多行。建议大家用 Markdown 阅读器或代码编辑器打开,比如我用 VSCode,可以一边阅读一边让 AI 给我解释。

不得不吐槽一句,这么长的提示词,token 消耗快不是没有原因的!有时我随便说一句话 AI 都得给我搞个长篇大论。

英文原版和中文版提示词我都发在 代码小抄 上了,方便大家阅读。

Agent 提示词拆解

接下来我们以 Agent 提示词为例,拆解一下 Cursor 提示词的写法。

跟阅读开源项目一样,先整体再局部分析。

整体结构分析

整体来看,这个提示词分为三大模块:角色定义、操作约束、和支持的工具

就跟我们塑造一个游戏角色一样,先知道你是谁、你能做什么、你要做什么;再开始给角色点技能、教他怎么做;最后给角色持续买装备、教他怎么用,越来越强。

💡 我们写提示词也可以按照这个思路,让 AI 先从宏观上理解它的身份和目标,再到微观上遵循每一步的行动规范。

下面我们依次分析每个模块。

1、角色定义

提示词:

这段提示词上来就定义了:

  • 你是谁?编程助手

  • 你在做什么?和用户结对编程

  • 你的任务是什么?解决编程问题

💡 这也是典型的提示词编写技巧,通过明确角色、背景和目的,确保 AI 生成的内容聚焦于某个具体的领域和场景,提升输出的有效性。

接着往下看:

"你必须一直运行到完全解决用户的问题" 这里进一步明确了 AI 的角色,并且赋予 AI Agent 的持续运行模式,让 AI 有能力处理复杂、多步骤的任务。

💡 不知道大家有没有注意到,这段内容的表达有点冗余,多次重复了 "继续工作"、"解决查询"。这也是写 Prompt 常用的一种手段,我们知道,AI 跟人一样,在接受信息比较多的情况下,很可能会忘记一部分内容、或者忽略掉一些重点。通过从不同的角度 反复强调 同一个事情,能够强化 AI 的理解、保证这段内容的权重,也能在一定程度上消除 AI 理解 Prompt 时的歧义。

比如鱼皮说一遍 "记得点赞三连",你可能不以为然,所以这里我要说第二遍 "求你点赞三连",但你可能还是没有被打动,所以我要说第三遍 "在你没有点赞三连之前,请你先点赞三连"。

💡 还有个类似的技巧叫 Re-Reading 重读,又称 Re2。其实就是复读机,通过让模型重新阅读一遍问题来提高推理能力,有 文献 印证了它的效果。

2、操作约束

接下来的提示词就是在教 AI 做事。

分为 6 个部分,每个部分都是用一组对称的 HTML 标签括了起来,结构非常清晰。

communication

见名知意,这里就是在告诉 AI "怎么说话",便于用户理解。

规定了 AI 的响应要使用 Markdown 格式,以及如何格式化文件名、函数名,如何使用定界符来展示数学公式。

💡 统一输出格式不仅能帮助用户阅读,而且也有利于后续对输出文本的处理。

鱼皮之前带大家做的 AI 零代码应用生成平台项目 中,提示词内也约定了输出格式:

tool_calling

这是整个提示词中非常关键的约束部分,是 AI 使用工具时必须要遵守的原则。

比如:

  • 禁止 AI 在和用户交流时直接提及工具名称。

  • 鼓励 AI 优先通过调用工具获取信息,而不是直接向用户提问,避免一些无意义的交互影响用户的体验。

  • 一旦制定计划,应立即执行,无需等待用户确认。这也是 AI 经常出现的情况,制定计划之后总是会结束会话并询问用户是否执行。

  • 在不确定代码库结构或文件内容时,必须使用工具读取信息,禁止猜测。

💡 这一段提示词中,我们能学到几个技巧:

  • 通过设定负面指令(大写的 NEVER)和正面指令(大写的 ALWAYS),强化了对 AI 的行为约束。

  • 通过 "切勿调用未明确提供的工具"、"仅使用标准的工具调用格式和可用的工具"、"读取文件而不是猜测或编造答案" 尽可能地消除 AI 的幻觉。

  • 在合适的场景给 AI 放权,不用让它频繁找用户确认。

我印象很深刻,刚开始用 AI Agent 的时候,有一次我睡觉前让 AI 跑个大任务,结果第二天发现 AI 在等我确认需不需要安装依赖。。。合着卡了一晚上啥都没干!

maximize_context_understanding

这部分的作用是告诉 AI 如何进行思考和信息收集、最大限度地理解上下文,核心原则是 全面深入

  • 在回答前,必须通过工具或提问确保掌握了完整的上下文。

  • 要追溯每个符号的定义和用法,确保完全理解。

  • 强制 AI 使用多种不同措辞进行多次搜索,确保信息的完备性。

💡 其中,最后一点是我认为非常值得学习的,就跟我们程序员遇到 Bug 时一样,一个关键词可能无法搜索到我们想要的答案,就要多尝试几组关键词,得到足够多的信息后问题才更容易解决。

💡 这部分内容也是 思维链 CoT(Chain-of-Thought)ReAct(推理执行) 的体现,给 AI 规划了一套具体、可执行的信息收集分析流程,让 AI 先尽可能思考、获取到足够的信息之后,再具体执行。

making_code_changes

这个模块的作用是 规范 AI 修改代码的行为

  • 禁止直接在聊天中输出代码,必须通过代码编辑工具来实现更改。这样做就避免了对话框的空间被大量的代码块占据。

  • 强调生成的代码必须是 可立即运行的 ,要求 AI 自动处理好依赖、导入等所有前置条件。否则生成一堆没法用的代码的话,体验就很差了。不过这里也只是一个约束罢了,毕竟谁能保证一次性写出的代码 100% 能运行呢?

  • 为 AI 设定了处理错误的循环机制,尝试修复最多3次,如果失败就向用户求助。

💡 对于 AI 编程工具来说,这段提示词非常重要。想象一下,如果已经生成了一个 5000 行代码的文件,结果用户只需要修改文件中的某一行代码,难道要重新把这 5000 行代码输出一遍么?更高效的方式肯定是提供给 AI 一个支持 "字符串替换" 的代码编辑工具,可以让 AI 只修改部分代码,不仅输出效率更高、修改更精准可控,还有利于对比修改前后的代码。

summarization

这部分比较简短,只添加了一个约束 ------ AI 应该处理最重要的查询。

这其实是强行调整 AI 的注意力焦点。随着对话进行,用户可能会提出新的、更优先的需求,有了这段提示词,AI 可以转移任务重心,优先处理用户的核心诉求。

就好比我正在处理一个工作,老板突然说:"别干了,出去团建去!",那我不可能还继续干之前的工作对吧。

memories

这段提示词虽然很长,但核心的功能是为了让 AI 正确使用 Cursor 的对话记忆功能,了解一下就好。

3、支持的工具

Tools 模块的内容非常长,占了整个提示词的 80%,但其实很好理解,就是给 AI 提供各种各样的工具,并且将每个工具的作用、用法、注意事项给 AI 描述清楚。

由于工具较多,在最外层将工具通过 namespace 命名空间进行分类,包括 functionsmulti_tool_use,为 AI 提供了一个清晰的工具层级。

命名空间下有很多工具,比如代码库搜索工具:

💡 从这个模块中,我们能学到一些小技巧。

1)工具的定义内部通过 ### 标题语法来创建逻辑分段,让文档内容层次分明,便于解析和理解。

2)工具提供了使用示例,并用一段简短的推理来评估使用方式是否正确。这其实是写提示词的经典技巧 Few-shot,通过手把手举例教学的方式,帮助 AI 理解工具的正确使用方法,能很大程度提高 AI 输出的准确度。

至此,我们就把 Cursor 的 Agent Prompt 拆解完了。大家感兴趣的话可以看看其他 Prompt,比如记忆模块的 Prompt 定义了一套过滤评估机制,指导 AI 判断哪些信息值得长期记忆,哪些应当舍弃,避免无用、错误内容干扰记忆质量。文本评估也是 AI 典型的应用场景之一了。

总结

最后,通过本期对 Cursor 提示词的拆解,我们可以提炼出一些提示词编写原则:

  • 明确角色和目标

  • 不要只告诉 AI 做什么,还要指导它怎么做,最好给出详细的流程

  • 零散的指令很容易被忽略,所以 Prompt 需要模块化、格式化,还可以通过重复、强调等方法强化

  • 如果 AI 需要使用工具,为每个工具提供详尽的说明、场景和范例

  • 如果 AI 的输出需要被其他程序消费,那么一定要在提示词中严格定义输出格式,保证输出内容的结构化

还有更多提示词编写技巧、AI 知识、AI 工具等等,大家可以在我 开源的 AI 知识库 中获取。

如果本期内容让你有所收获,记得点赞三连,这个操作其实挺简单的,把手按在手机上,或者敲两下就可以了,你学会了么?

更多编程学习资源

相关推荐
bylander5 小时前
【论文阅读】自我进化的AI智能体综述
人工智能·大模型·智能体
京东云开发者6 小时前
我如何用Prompt工程将大模型调教成风控专家
程序员
京东云开发者7 小时前
理论到实战,高可用架构踩坑说明书
程序员
CoderJia程序员甲7 小时前
GitHub 热榜项目 - 日榜(2025-09-07)
ai·github·开源项目·github热榜
即兴小索奇8 小时前
Recharts:React图表库,组件化设计助力高效数据可视化开发
ai·商业·ai商业洞察·即兴小索奇
袁煦丞10 小时前
宝塔FTP远程文件管理+安全防护:cpolar内网穿透实验室第417个成功挑战
前端·程序员·远程工作
韦德说11 小时前
我的副业之 - 三年磨一剑,让非技术人员也能实现建站自由
后端·程序员·开源
居7然12 小时前
美团大模型“龙猫”登场,能否重塑本地生活新战局?
人工智能·大模型·生活·美团
灵感__idea12 小时前
JavaScript高级程序设计(第5版):前端的能力边界
前端·javascript·程序员