我之前带大家一起动手做过一个开源的 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 在接收信息量较大的情况下,可能会忘记一些内容或忽略重点。通过从不同角度反复强调同一个点,可以加强 AI 的理解,确保这段内容的重要性,也能在一定程度上消除 AI 理解提示词时的歧义。
就像鱼皮说一次“记得点赞三连”,你可能没太在意;然后我再说一次“求你点赞三连”,你可能仍然没动心;所以我第三次说“在你没有点赞三连之前,请你先点赞三连”。

还有一个类似的技巧叫 Re-Reading 重读,也称为 Re2。其实就是让模型重新阅读一遍问题,这样可以提高推理能力,文献也证实了这一效果。
2、操作约束
接下来的提示词是在教 AI 如何执行任务。
它分为六个部分,每个部分都用一组对称的 HTML 标签包裹,结构十分清晰。

communication

这个模块就是在告诉 AI “该怎么说话”,以便用户理解。
规定了 AI 的响应要使用 Markdown 格式,以及文件名、函数名的格式化方式,以及如何用定界符展示数学公式。
这样的统一输出格式不仅方便用户阅读,也有助于后续对输出文本的处理。
鱼皮之前带大家做的AI 零代码应用生成平台项目中,提示词也约定了输出格式:

tool_calling


这是整个提示词中非常重要的约束部分,是 AI 使用工具时必须遵循的规则。
例如:
- 禁止 AI 在与用户交流时直接提及工具名称。
- 鼓励 AI 优先通过调用工具获取信息,而不是直接向用户提问,避免无意义的互动影响用户体验。
- 一旦制定计划,应立即执行,无需等待用户确认。这也是 AI 常见的情况,制定计划后总是结束会话询问用户是否执行。
- 在不确定代码库结构或文件内容时,必须使用工具读取信息,禁止猜测。
从这一段提示词中,我们可以学到几个技巧:
- 通过设定负面指令(大写的 NEVER)和正面指令(大写的 ALWAYS),强化对 AI 行为的约束。
- 通过“切勿调用未明确提供的工具”、“仅使用标准的工具调用格式和可用的工具”、“读取文件而不是猜测或编造答案”,尽量消除 AI 的幻觉。
- 在合适的场景给 AI 放权,不必让它频繁地找用户确认。
我记得刚开始用 AI Agent 的时候,有次我临睡前让 AI 跑个大任务,结果第二天一看,AI竟然在等我确认是否需要安装依赖……结果整晚都没干成事!
优化上下文理解
这一部分主要是教 AI 如何更好地思考和收集信息,重点在于全面和深入。具体来说:
- 在回答之前,得确保通过工具或提问掌握了完整的上下文信息。
- 要追溯每个符号的定义和用法,确保自身理解到位。
- 强制 AI 使用多种不同的表达方式进行多次搜索,以保证信息的完整性。
对于最后一点,我觉得特别值得注意,想想我们程序员遇到 Bug 的时候,一个关键词往往不能找到想要的答案,就得尝试其他关键词,信息足够多了,问题自然就容易解决。
这部分其实体现了思维链 CoT(Chain-of-Thought)和ReAct(推理执行)的思路,给 AI 规划了一条具体的信息收集和分析流程,让它在动手之前,先尽量思考和获取足够的信息。
代码修改规范
这个模块的主要功能是规范 AI 修改代码的方式:
- 不允许直接在聊天中输出代码,必须使用代码编辑工具进行修改。这样能避免对话框被大量代码占据。
- 生成的代码要是可直接运行的,AI 需要自动处理好依赖和导入等前置条件。要是生成的代码不能用,那用户体验肯定差。不过,这只是一个约束,毕竟谁能保证一次就写出 100% 可运行的代码呢?
- 为 AI 设定错误处理的循环机制,最多尝试修复 3 次,如果还不行,就得向用户求助。
对于 AI 编程工具来说,这段提示词非常重要。想象一下,如果已经生成了一个 5000 行的代码文件,而用户只需要改动其中一行,难道还要把整份代码重新输出一遍吗?更高效的做法是给 AI 提供一个支持“字符串替换”的代码编辑工具,这样只需修改部分代码,不仅效率高、修改精确,还能方便比较前后的代码。
查询总结
这一部分比较简短,主要增加了一个约束——AI 应优先处理最重要的查询。
这是为了强制 AI 调整注意力焦点。随着对话的深入,用户可能会提出新的、更加紧急的需求,有了这段提示词,AI 就能灵活转移任务重心,优先响应用户的核心诉求。
就像我正在忙工作,老板突然说:“别干了,出去团建!”那我肯定不能继续埋头工作吧。
记忆功能
这一段提示词虽然有点长,但主要是帮助 AI 正确使用 Cursor 的对话记忆功能,了解一下就好。
支持的工具
Tools 模块内容很长,占据了整个提示词的 80%,但其实很好理解,就是给 AI 提供各种工具,并清楚描述每个工具的作用、用法和注意事项。
由于工具很多,最外层通过 namespace 命名空间进行分类,包括 functions 和 multi_tool_use,这样为 AI 提供了一个清晰的工具层级。
命名空间下有许多工具,比如代码库搜索工具:
从这个模块中,我们可以学到一些小技巧。
1)工具的定义通过 ### 标题语法来创建逻辑段落,使文档内容清晰易懂。
2)每个工具都有使用示例,并附上简短的推理来评估使用方式是否正确。这其实是编写提示词的经典技巧 Few-shot,通过手把手的例子教学,帮助 AI 理解工具的正确使用方法,大大提升 AI 输出的准确性。
至此,我们已经把 Cursor 的 Agent Prompt 拆解完了。如果大家感兴趣,可以看看其他提示词,比如记忆模块的提示词定义了一套过滤评估机制,指导 AI 判断哪些信息值得长期记忆,哪些要舍弃,以避免无用或错误内容影响记忆质量。文本评估也是 AI 的一个典型应用场景。
总结
通过对 Cursor 提示词的拆解,我们可以提炼出一些编写提示词的原则:
- 要明确角色和目标
- 不仅仅告诉 AI 该做什么,还要指导它该怎么做,最好给出详细的步骤
- 零散的指令容易被忽视,因此提示词需要模块化和格式化,可以通过重复和强调等方法来加强
- 如果 AI 需要使用工具,应该为每个工具提供详细的说明、使用场景和范例
- 如果 AI 的输出需要被其他程序使用,必须在提示词中严格定义输出格式,确保输出内容结构化
还有更多提示词编写技巧、AI 知识和工具等,大家可以在我开源的 AI 知识库中获取。
如果你觉得本期内容有帮助,别忘了点个赞哦!这其实很简单,只需把手放在手机上,或者轻轻敲两下就可以了,你学会了吗?
更多资源
编程学习交流:编程导航:编程导航 – 程序员一站式编程学习交流社区,做您编程学习路上的导航员
简历快速制作:老鱼简历:https://laoyujianli.com
✏️ 面试刷题神器:面试鸭:https://mianshiya.com
AI 学习指南:AI知识库:编程导航 – 程序员一站式编程学习交流社区,做您编程学习路上的导航员









