Cursor 提示詞探索——如何打造真正懂自己的Agent

最近看到魚皮的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實現訂單狀…