我深深被 Cursor 的提示词震撼到了,真是太惊艳了!

如果你要自己动手开发一个像 Cursor 这样的 AI 编程工具,你觉得最大的挑战会是什么呢?是前端技术、后端开发、UI设计,还是其他什么呢?我认为,最大的难点其实在于提示词的设计。

我之前带大家一起动手做过一个开源的 AI 代码生成平台,虽然也能生成完整的应用,但无论是在速度还是效果上,都比不上 Cursor。

我深深被 Cursor 的提示词震撼到了,真是太惊艳了!

想要让 AI 生成的结果更出色,不仅需要一个能力强大的模型,还得有巧妙的提示词设计。

Cursor 在提示词和工程化方面做得相当不错,所以我从一个开源项目中获取到了 Cursor 的提示词,写得真是太棒了,令我大开眼界。因此,这期我想带大家一起学习其中的精华,很多技巧对我们自己开发 AI 应用会有很大的帮助。

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

Cursor 提示词概览

Cursor 拥有多组提示词,每组都适合不同的场景。例如:

  • Agent 模式提示词:让 AI 能够自我分析、规划并执行编码任务,直到问题得到全面解决。
  • CLI 命令行提示词:适合在可交互命令行的环境中使用。
  • Chat 对话提示词:非常适合以问答为主的场景,能迅速响应用户的问题。
  • Memory 对话记忆提示词:帮助评估 AI 的长期记忆,确保 AI 能从历史交互中学习并积累高质量的通用记忆。
我深深被 Cursor 的提示词震撼到了,真是太惊艳了!

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

我深深被 Cursor 的提示词震撼到了,真是太惊艳了!

不得不说,这么长的提示词,token 消耗快也不无道理!有时候我随便问一句,AI 就得给我来一段长篇大论。

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

Agent 提示词解析

接下来我们以 Agent 提示词为例,来分析一下 Cursor 提示词的写作方式。

就像阅读开源项目一样,先从整体入手,再来细致分析。

整体结构分析

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

就像我们在构建一个游戏角色,首先要了解角色是谁、能做什么、需要完成什么任务;然后再为角色赋予技能,教他如何行动;最后不断提升角色的装备和使用技巧,让他更加强大。

同样,我们在编写提示词时,也可以采用这种思路,让 AI 先从宏观上理解自己的身份和目标,接着再细化到每一步的行动规范。

接下来,我们逐一分析每个模块。

1、角色定义

提示词:

我深深被 Cursor 的提示词震撼到了,真是太惊艳了!

这一段提示词一开始就明确了:

  • 你是谁?编程助手。
  • 你在做什么?和用户一起编程。
  • 你的任务是什么?解决编程问题。

这是提示词编写的一种经典技巧,通过明确角色、背景和目标,确保 AI 生成内容时专注于某个具体领域和场景,提高输出的有效性。

接下来看看:

我深深被 Cursor 的提示词震撼到了,真是太惊艳了!

“你必须持续运行,直到完全解决用户的问题。” 这段话进一步明确了 AI 的角色,还赋予了 AI Agent 持续运行的能力,让它能够处理复杂的多步骤任务。

不知道大家有没有发现,这段话的表达有点重复,反复提到“继续工作”、“解决查询”。这也是写提示词时常用的手法,AI 在接收信息量较大的情况下,可能会忘记一些内容或忽略重点。通过从不同角度反复强调同一个点,可以加强 AI 的理解,确保这段内容的重要性,也能在一定程度上消除 AI 理解提示词时的歧义。

就像鱼皮说一次“记得点赞三连”,你可能没太在意;然后我再说一次“求你点赞三连”,你可能仍然没动心;所以我第三次说“在你没有点赞三连之前,请你先点赞三连”。

我深深被 Cursor 的提示词震撼到了,真是太惊艳了!

还有一个类似的技巧叫 Re-Reading 重读,也称为 Re2。其实就是让模型重新阅读一遍问题,这样可以提高推理能力,文献也证实了这一效果。

2、操作约束

接下来的提示词是在教 AI 如何执行任务。

它分为六个部分,每个部分都用一组对称的 HTML 标签包裹,结构十分清晰。

我深深被 Cursor 的提示词震撼到了,真是太惊艳了!

communication

我深深被 Cursor 的提示词震撼到了,真是太惊艳了!

这个模块就是在告诉 AI “该怎么说话”,以便用户理解。

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

这样的统一输出格式不仅方便用户阅读,也有助于后续对输出文本的处理。

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

我深深被 Cursor 的提示词震撼到了,真是太惊艳了!

tool_calling

我深深被 Cursor 的提示词震撼到了,真是太惊艳了!
我深深被 Cursor 的提示词震撼到了,真是太惊艳了!

这是整个提示词中非常重要的约束部分,是 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 命名空间进行分类,包括 functionsmulti_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知识库:编程导航 – 程序员一站式编程学习交流社区,做您编程学习路上的导航员

来源:知乎
原文标题:扒了下 Cursor 的提示词,被狠狠惊艳到了!
声明:
文章来自网络收集后经过ai改写发布,如不小心侵犯了您的权益,请联系本站删除,给您带来困扰,深表歉意!

发表评论