最近看到鱼皮的Cursor提示词分享(微信公众平台),刚好之前也在做Agent开发,跟提示词打交道的多,也经常发现 ai 蠢蠢的,一点不会根据提示词设计的来,按鱼皮的分享研究了一下,写了这篇博客。

Cursor 的提示词不仅逻辑严谨、场景覆盖全面,更把「如何让 AI 精准理解编程需求」这件事做到了极致。今天就带大家拆解 Cursor 提示词的精髓,这些技巧对我们自己开发 AI 应用也会有巨大帮助。

一、Cursor 提示词:场景化设计是核心

Cursor 并非只有一套提示词,而是针对不同使用场景设计了多套方案,每一套都对应特定的功能目标。比如:

  • Agent 模式提示词:让 AI 具备「自主分析-规划-执行」的能力,能从头到尾解决复杂编码任务,直到问题彻底解决;
  • CLI 命令行提示词:适配命令行交互场景,支持通过指令快速调用工具;
  • Chat 对话提示词:聚焦问答场景,能快速响应用户的代码咨询、语法解释等简单需求;
  • Memory 对话记忆提示词:负责管理 AI 的长期记忆,评估哪些信息值得沉淀(比如用户的编码偏好),哪些需要舍弃,避免无效信息干扰。

从开源仓库的文件列表中,我们能清晰看到这些提示词的迭代痕迹:

提示词文件

说明

Agent CLI Prompt 2025-08-07.txt

2025年8月更新的 Agent 命令行场景提示词

Agent Prompt v1.0.txt

Cursor 1.0 版本的基础 Agent 提示词

Agent Prompt v1.2.txt

迭代更新的 Agent 提示词(优化逻辑)

Chat Prompt.txt

对话场景核心提示词(已重命名优化)

Memory Prompt.txt

对话记忆管理基础提示词

Memory Rating Prompt.txt

记忆质量评估提示词(筛选有效记忆)

在这些提示词中,Agent 模式提示词最值得深入学习——足足 500 多行的内容。

二、Agent :三大模块构建 AI 编程能力

Cursor 的 Agent 提示词本质分为三大模块:角色定义(让 AI 知道“我是谁、要做什么”)、操作约束(教 AI“该怎么做、不能怎么做”)、支持的工具(给 AI“装备”,让它有能力执行任务)。

1. 角色定义:给 AI 清晰的“身份认知”

提示词的开篇就直接明确了 AI 的定位,没有任何模糊空间,原文(中英文对照)核心内容如下:

你是一个由 GPT-4.1 驱动的 AI 编程助手,在 Cursor 中运行。(You are an AI coding assistant, powered by GPT-4.1. You operate in Cursor.)
你正在与用户进行结对编程,以解决他们的编码任务。每当用户发送消息时,系统会自动附上用户的当前状态(比如打开的文件、光标位置、最近查看的文件、Linter 错误等),这些信息是否相关由你判断。(You are pair programming with a USER to solve their coding task. Each time the USER sends a message, we may automatically attach some information about their current state...)
在用户的查询完全解决之前,请继续工作;只有确定问题已解决,才结束你的回合。返回用户之前,需自主尽最大能力解决问题。(You are an agent-please keep going until the user's query is completely resolved... Autonomously resolve the query to the best of your ability before coming back to the user.)

这段提示词看似简单,却暗藏三个关键技巧:

  • 明确三要素:直接告诉 AI“身份(编程助手)、场景(结对编程)、目标(解决编码任务)”,避免 AI 输出偏离场景(比如不会突然讲编程理论,而是聚焦解决当前问题);
  • 强化 Agent 属性:强调“持续工作到问题解决”,赋予 AI 处理多步骤任务的能力(比如用户让“开发一个登录页面”,AI 会自动拆解“写 HTML 结构→加 CSS 样式→写 JS 交互→处理接口请求”,而不是只做一步就停);
  • 重复强调核心目标:多次提到“解决问题”“完成查询”,这是因为 AI 可能会忽略零散指令,通过多角度重复,能强化 AI 对核心目标的记忆(就像我们提醒别人“记得点赞三连”,会换几种说法反复提,避免对方忘记)。

还有一个隐藏技巧叫「Re-Reading(重读)」,本质是让 AI 反复确认需求——有文献证明,让模型“再读一遍问题”能提升推理准确性,这一点在 Cursor 的提示词中也有体现。

2. 操作约束:教 AI“规范做事”,避免犯错

如果说“角色定义”是给 AI 定方向,那“操作约束”就是给 AI 定规则——告诉它“该怎么说话、怎么用工具、怎么改代码”,甚至“不能做什么”。这部分用对称的 HTML 标签(比如 <communication> <tool_calling>)划分模块,结构非常清晰,我们逐个拆解:

(1)规范 AI 的“表达方式”

核心作用是统一 AI 的输出格式,告诉 AI 怎么说话,方便用户阅读和后续程序处理:

在助手消息中使用 Markdown 时,用反引号格式化文件、目录、函数和类名(比如 src/utils.js);用 ( 和 ) 表示行内数学公式(比如 (a2 + b2 = c^2)),用 [ 和 ] 表示块级数学公式。

(2)AI 使用工具的“红线规则”

这是整个提示词中最关键的部分,直接决定 AI 能否正确调用工具解决问题,核心规则有 9 条,其中 5 条必须重点关注:

  1. 严格遵循工具格式:必须按指定 schema 调用工具,不能漏填参数;
  2. 禁止调用未授权工具:即使对话中提到其他工具,只要没明确提供,就不能用;
  3. 不向用户提“工具名”:比如调用“读取文件工具”时,不能说“我要用 read_file 工具”,而是说“我会帮你读取这个文件的内容”;
  4. 优先工具获取信息:如果能通过工具查到答案(比如读文件看代码结构),就不要问用户(避免“你这个文件路径是什么?”这种无意义提问);
  5. 制定计划后立即执行:不用等用户确认(比如 AI 计划“先读登录接口代码,再写前端调用逻辑”,直接做就行,不用问“我可以先读接口代码吗?”)。

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

  • 通过设定负面指令(大写的 NEVER)和正面指令(大写的 ALWAYS),强化了对 AI 的行为约束。
  • 通过 “切勿调用未明确提供的工具”、“仅使用标准的工具调用格式和可用的工具”、“读取文件而不是猜测或编造答案” 尽可能地消除 AI 的幻觉。
  • 在合适的场景给 AI 放权,不用让它频繁找用户确认。
(3)让 AI“想透彻”再动手

核心原则是“全面、深入”,确保 AI 理解所有上下文后再输出,避免“想当然”:

收集信息时要彻底,回复前必须掌握完整场景;追溯每个符号的定义和用法(比如某个函数的参数含义),不要只看第一个相关结果;用“语义搜索”作为主要工具,先从宽泛的高层查询(比如“用户认证流程”)入手,再拆成子问题(比如“登录态怎么存储?”);必须用不同措辞多搜几次,第一遍结果往往漏关键信息。

这其实是「思维链(CoT)」和「推理执行(ReAct)」的结合——先让 AI 想清楚“要查什么、怎么查”,再动手执行,而不是上来就写代码。比如用户问“为什么登录接口报 500 错”,AI 会先搜“登录接口的代码位置”→“看报错日志”→“查数据库连接是否正常”,而不是直接猜测“可能是参数错了”。

(4)规范 AI 的“改代码行为”

针对“代码修改”的专属约束,重点解决“输出冗余”和“代码不可运行”的问题:

除非用户要求,否则不要直接输出代码,必须用代码编辑工具修改(比如只替换某几行代码,而不是重新输出整个文件);生成的代码必须能立即运行,要自动加全导入语句、依赖配置(比如创建 requirements.txt);如果引入 Linter 错误,最多尝试修复 3 次,第 3 次没解决就问用户;构建 Web 应用时,要保证 UI 美观且符合 UX 最佳实践。

这个约束非常实用:比如用户要修改一个 5000 行的配置文件,AI 不用输出完整文件,只需用“字符串替换工具”改关键行——既高效,又方便用户对比修改前后的差异。

(5) 处理“优先级”和“记忆”
  • <summarization>:如果有 <most_important_user_query> 标签,就优先处理这个核心查询,忽略之前的需求(比如用户先问“改按钮样式”,后说“先解决登录报错”,AI 就聚焦登录问题);
  • <memories>:管理对话记忆,比如用户纠正过的错误记忆(比如“之前说的接口地址错了,应该是 xxx”),必须立即用 update_memory 工具删除或更新;用记忆时必须标注来源(比如“我会用 -la 命令查看文件 [[memory:123]]”),如果因记忆拒绝用户请求,要告诉用户“可以纠正记忆”。

3. 支持的工具:给 AI 趁手的“装备”

工具模块占了整个提示词的 80%,核心是“给 AI 清晰的工具使用指南”——通过「命名空间(namespace)」分类,让 AI 快速找到对应工具,主要分为两类:

  • functions:基础工具集合,比如 codebase_search(语义搜索代码)、read_file(读取文件)、grep_search(精确文本搜索)、file_search(按名称找文件);
  • multi_tool_use:多工具组合包装,支持同时调用多个 functions 下的工具,比如“先搜代码位置,再读文件内容”。

每个工具的定义都有严格的结构,以 codebase_search(语义搜索)为例:

// ### 何时使用:探索不熟悉的代码库、问“如何/在哪里/什么”类问题(比如“前端登录组件在哪里”)、按含义找代码;
// ### 何时不使用:精确文本匹配(用 grep_search)、读已知文件(用 read_file)、简单符号查找(用 grep_search)、按名称找文件(用 file_search);
// ### 示例:
// // 查询:“前端中在哪里实现了接口 MyInterface?” // 好:问题完整,带“前端”上下文,明确要找“实现位置”; // //
// // 查询:“MyInterface frontend” // 不好:太模糊,应改成“ MyInterface 在前端中在哪里使用?”; // //

这里用到了提示词的经典技巧「Few-shot(少样本示例)」——通过“好例子+坏例子+推理”,让 AI 快速理解工具的正确用法,比单纯说“要明确查询”效果好得多。

三、提示词编写原则:从 Cursor 中提炼的实战经验

拆解完 Cursor 的 Agent 提示词,我们可以总结出 5 条通用的提示词编写原则,无论是开发 AI 编程工具,还是做其他 AI 应用,都能用到:

  1. 明确场景、角色和目标:不要只说“你是一个助手”,要具体到“你是 XXX 场景下的 XXX 助手,目标是解决 XXX 问题”(比如 Cursor 中“GPT-4.1 驱动的编程助手,目标是结对解决编码任务”);
  2. 提供详细的执行流程:不仅要告诉 AI“做什么”,还要说“怎么做”——比如“用语义搜索时,先高层查询再拆子问题,多换措辞搜几次”;
  3. 模块化+格式化+强强调:用标签(如 <tool_calling>)划分模块,用大写关键词(NEVER/ALWAYS)强调重点,避免零散指令被忽略;
  4. 工具说明要“手把手”:如果 AI 需要用工具,必须讲清“适用场景、不适用场景、示例”,最好加“好/坏例子对比”;
  5. 严格定义输出格式:如果 AI 输出需要被程序处理(比如工具调用参数、代码片段),一定要约定格式(如反引号包裹、JSON 结构),避免解析错误。

最后

Cursor 的提示词之所以“惊艳”,不在于复杂的语法,而在于“以用户需求为核心”的设计思路——每一条约束、每一个工具定义,都是为了让 AI 更精准、更高效地解决编程问题。

参考

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/95742.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/95742.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/95742.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 内存模型:用生活中的例子理解并发编程

C 内存模型&#xff1a;用生活中的例子理解并发编程 文章目录C 内存模型&#xff1a;用生活中的例子理解并发编程引言&#xff1a;为什么需要内存模型&#xff1f;核心概念&#xff1a;改动序列原子类型&#xff1a;不可分割的操作内存次序&#xff1a;不同的同步级别1. 宽松次…

AI急速搭建网站:Gemini、Bolt或Jules、GitHub、Cloudflare Pages实战全流程!

文章目录AI急速搭建网站&#xff1a;Gemini、Bolt或Jules、GitHub、Cloudflare Pages实战全流程&#xff01;&#x1f680; 极速建站新范式&#xff1a;Gemini、Bolt.new、GitHub & Cloudflare Pages 全流程实战&#xff01;第一步&#xff1a;创意可视化与代码生成 — Goo…

Qwen2.5-VL实现本地GPTQ量化

本文不生产技术,只做技术的搬运工!! 前言 公开的Qwen2.5-VL模型虽然功能非常强大,但有时面对专业垂直领域的问题往往会出现一些莫名其妙的回复,这时候大家一版选择对模型进行微调,而微调后的模型如果直接部署则显存开销过大,这时就需要执行量化,下面将介绍执行本地GPT…

【Redis】常用数据结构之Hash篇:从常用命令到使用场景详解

目录 1.前言 插播一条消息~ 2.正文 2.1Hash与String对比 2.2常用命令 2.2.1HSET 2.2.2HGET 2.2.3HEXISTS 2.2.4HDEL 2.2.5HKEYS 2.2.6HVALS 2.2.7HGETALL 2.2.8HMGET 2.2.9HLEN 2.2.10HSETNX 2.2.11HINCRBY 2.2.12HINCRBYFLOAT 2.3内部编码 2.3.1. ziplist&…

OSPF基础部分知识点

OSPF基础 前言 路由器 根据 路由表 转发数据包&#xff0c;路由表项 可通过手动配置 和动态路由协议 生成。&#xff08;两种生成方式&#xff09;静态路由比动态路由使用更少的带宽&#xff0c;并且不占用CPU资源来计算和分析路由更新。当网络结构比较简单时&#xff0c;只需配…

Flutter 真 3D 游戏引擎来了,flame_3d 了解一下

在刚刚结束的 FlutterNFriends 大会上&#xff0c;Flame 展示了它们关于 3D 游戏的支持&#xff1a;flame_3d &#xff0c;Flame 是一个以组件系统&#xff08;Flame Component System, FCS&#xff09;、游戏循环、碰撞检测和输入处理为核心的 Flutter 游戏框架&#xff0c;而…

无需公网IP,电脑随时与异地飞牛同步互联保持数据一致性

最近小白有这样一个烦恼&#xff1a;随身带着的电脑每天都在更新内容&#xff0c;于是就会有很多很多的存稿。电脑的空间开始变得不够用了。各式各样的图片、视频、文稿等内容&#xff0c;如果要整理到飞牛NAS上&#xff0c;好像很麻烦&#xff0c;而且每次都是需要回到家里才能…

数据库中间件ShardingSphere v5.2.1

数据库中间件ShardingSphere v5.2.1 文章目录数据库中间件ShardingSphere v5.2.1一 概述1 数据库的瓶颈2 优化的手段3 主从复制4 读写分离5 分库分表5.1 背景5.2 垂直分片5.3 水平分片6 ShardingSphere简介二 ShardingSphere-JDBC讲解1 读写分离实现1.1 基于Docker搭建MySQL主从…

[Upscayl图像增强] Electron主进程命令 | 进程间通信IPC

第三章&#xff1a;Electron主进程命令 欢迎回来&#x1f43b;‍❄️ 在第一章&#xff1a;渲染器用户界面&#xff08;前端&#xff09;中&#xff0c;我们探索了您与之交互的按钮和菜单。然后在第二章&#xff1a;AI模型中&#xff0c;我们了解了让您的图像看起来更棒的&qu…

电竞护航小程序成品搭建三角洲行动护航小程序开发俱乐部点单小程序成品游戏派单小程序定制

功能列表&#xff1a;商家入驻 成为管事 平台公告 客服密钥 客服管理 发单模板 快捷发单 自定义发单 打手入驻 订单裁决 即时通讯 &#xff08;接单者员与发单者&#xff09; 打手排行 邀请排行 余额提现技术栈&#xff1a;前端uniapp 后端java

Redis数据库基础

1.关系型数据库和NoSQL数据库数据库主要分为两大类:关系型数据库与NoSQL数据库关系型数据库&#xff0c;是建立在关系模型基础是的数据库&#xff0c;其借助集合代数等数学概念和方法来处理数据库中的数据主流的MySQL&#xff0c;Oracle&#xff0c;MS SQL Server 和DB2都属于这…

【Java实战㉗】Java日志框架实战:Logback与Log4j2的深度探索

目录一、日志框架概述1.1 日志的作用1.2 常见日志框架1.3 日志级别二、Logback 框架实战2.1 Logback 依赖导入2.2 Logback 配置文件2.3 日志输出格式自定义2.4 Logback 进阶配置三、Log4j2 框架实战3.1 Log4j2 依赖导入3.2 Log4j2 配置文件3.3 Log4j2 与 SLF4J 整合3.4 日志框架…

基于WFOA与BP神经网络回归模型的特征选择方法研究(Python实现)

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取 或者私信获取。 1.项目背景 在大数据分析与智能建模领域&#xff0c;高维数据广泛存在于金融预测、环境监测和工业过程控制等场景…

​​AI生成PPT工具推荐,从此以后再也不用担心不会做PPT了​​

对于很多人老说&#xff0c;做ppt实在太麻烦了&#xff0c;快速制作出专业且美观的PPT成为众多人的需求&#xff0c;AI生成PPT工具应运而生&#xff0c;极大地提升了PPT制作的效率。以下为大家推荐多个实用的AI生成PPT工具。 1、AiPPT星级评分&#xff1a;★★★★★ AiPPT是一…

CentOS系统停服,系统迁移Ubuntu LTS

CentOS官方已全面停止维护CentOS Linux项目&#xff0c;公告指出 CentOS 7在2024年6月30日停止技术服务支持&#xff0c;(在此之前 2022年1月1日起CentOS官方已经不再对CentOS 8提供服务支持&#xff09;&#xff0c;详情见CentOS官方公告。 一、系统迁移评估 用户需要开始计…

Linux知识回顾总结----文件系统

上章讲的是 os 如果管理被打开的文件&#xff0c;那么没有被打开的文件&#xff08;也就是在磁盘单中的文件&#xff09;使用文件系统进行管理。了解完这一章&#xff0c;我们就可以理解我们如果想要打开一个文件的是如何找到整个文件&#xff0c;然后如何把它加载到内存中的&a…

iOS蓝牙使用及深入剖析高频高负载传输丢包解决方案(附源码)

最近开发了一套iOS原生的蓝牙SDK&#xff0c;总结了一些有价值的踩过的坑&#xff0c;分享出来给有需要的同学做个参考。 一、蓝牙的使用 iOS有一套封装好的完善的蓝牙API &#xff0c;可以很便捷的实现与蓝牙的连接和通信&#xff0c;蓝牙通信的大体流程如下&#xff0c;先对基…

Python 正则表达式实战:用 Match 对象轻松解析拼接数据流

摘要 这篇文章围绕 Python 的正则表达式 Match 对象&#xff08;特别是 endpos、lastindex、lastgroup 以及 group / groups 等方法/属性&#xff09;做一个从浅入深、贴近日常开发场景的讲解。我们会给出一个真实又常见的使用场景&#xff1a;解析由设备/服务发来的“拼接式”…

基于Pygame的六边形战术推演系统深度剖析——从数据结构到3D渲染的完整实现(附完整代码)

1. 项目概述与技术选型 战术推演系统是军事训练和游戏开发中的重要组成部分,它能够模拟真实的战术场景,为用户提供策略思考的平台。本文将深入分析一套基于Python Pygame框架开发的城市巷战战术推演系统,该系统采用六边形网格布局,实现了恐怖分子与反恐精英的对抗模拟,具…

支持二次开发的代练App源码:订单管理、代练监控、安全护航功能齐全,一站式解决代练护航平台源码(PHP+ Uni-app)

一、技术架构&#xff1a;高性能与跨平台的核心支撑前端框架Uni-app&#xff1a;基于Vue.js的跨平台框架&#xff0c;支持编译至微信小程序、H5、iOS/Android App及PC端&#xff0c;代码复用率超80%&#xff0c;显著降低开发成本。实时通信&#xff1a;集成WebSocket实现订单状…