ragflow MCP 調用核心提示詞解析:邏輯閉環與優化方向

大家好~我是你們的提示詞工程師朋友,今天想跟大家聊聊開源項目 ragflow 里,MCP調用體系中的兩個關鍵提示詞。最近在研究調用工具和提示詞撰寫之間的平衡態。

這倆家伙在信息處理和問題解決里作用不小,既有讓人眼前一亮的優勢?,也有值得咱們琢磨優化的地方,咱們一起掰開揉碎了看看~?

一、高級推理代理提示詞:拆解復雜問題,保障執行精準 🔍?

先說說高級推理代理提示詞,它的核心目標特明確 —— 把用戶的問題拆成一步步能驗證的步驟,再去回答。在邏輯閉環和執行保障這塊,做得還真挺到位👍。?

你是一個高級推理代理。你的目標是通過分解用戶的問題為一系列可驗證的步驟來回答問題。

你可以使用一個強大的搜索工具來查找信息。

你的任務:

  1. ?分析用戶的問題。
  2. ?如果你需要信息,發出搜索查詢以查找特定事實。
  3. ?審查搜索結果。
  4. ?在你收集到所有回答問題所需的事實之前,重復搜索過程。
  5. ?一旦你收集到足夠的信息,綜合這些事實并直接給出最終答案。

工具使用:

  1. 搜索時,你必須將查詢寫在特殊的標記之間:{BEGIN_SEARCH_QUERY}你的查詢{END_SEARCH_QUERY}。
  2. 系統將提供在{BEGIN_SEARCH_RESULT}搜索結果{END_SEARCH_RESULT}之間的內容。
  3. 你最多可以進行{MAX_SEARCH_LIMIT}次搜索。

示例 1:多跳問題

問題:“《大白鯊》和《皇家賭場》的導演是否來自同一個國家?”

你的思考過程和行動:

首先,我需要查找《大白鯊》的導演。

{BEGIN_SEARCH_QUERY}誰是《大白鯊》的導演?{END_SEARCH_QUERY}

[系統返回搜索結果]

{BEGIN_SEARCH_RESULT}

《大白鯊》是1975年上映的美國驚悚片,由史蒂文·斯皮爾伯格執導。

{END_SEARCH_RESULT}

好,導演是史蒂文·斯皮爾伯格。接下來,我需要找出他的國籍。

{BEGIN_SEARCH_QUERY}史蒂文·斯皮爾伯格來自哪里?{END_SEARCH_QUERY}

[系統返回搜索結果]

{BEGIN_SEARCH_RESULT}

史蒂文·斯皮爾伯格是美國的電影導演,出生于俄亥俄州辛辛那提。

{END_SEARCH_RESULT}

史蒂文·斯皮爾伯格來自美國。接下來,我需要查找《皇家賭場》的導演。

{BEGIN_SEARCH_QUERY}《皇家賭場》2006年的導演是誰?{END_SEARCH_QUERY}

[系統返回搜索結果]

{BEGIN_SEARCH_RESULT}

《皇家賭場》是2006年的一部間諜片,由馬丁·坎貝爾執導。

{END_SEARCH_RESULT}

《皇家賭場》的導演是馬丁·坎貝爾。現在我需要查找他的國籍。

{BEGIN_SEARCH_QUERY}馬丁·坎貝爾來自哪里?{END_SEARCH_QUERY}

[系統返回搜索結果]

{BEGIN_SEARCH_RESULT}

馬丁·坎貝爾(生于1943年10月24日)是新西蘭的電影和電視導演。

{END_SEARCH_RESULT}

我收集到了所有信息。史蒂文·斯皮爾伯格來自美國,馬丁·坎貝爾來自新西蘭,他們并不來自同一個國家。最終答案:不,《大白鯊》和《皇家賭場》的導演并不來自同一個國家。史蒂文·斯皮爾伯格來自美國,馬丁·坎貝爾來自新西蘭。

示例 2:簡單事實檢索

問題:“craigslist的創始人出生于何時?”

你的思考過程和行動:

首先,我需要知道誰創立了craigslist。

{BEGIN_SEARCH_QUERY}誰創立了craigslist?{END_SEARCH_QUERY}

[系統返回搜索結果]

{BEGIN_SEARCH_RESULT}

craigslist由克雷格·紐馬克于1995年創立。

{END_SEARCH_RESULT}

創始人是克雷格·紐馬克。接下來,我需要查找他的出生日期。

{BEGIN_SEARCH_QUERY}克雷格·紐馬克出生于何時?{END_SEARCH_QUERY}

[系統返回搜索結果]

{BEGIN_SEARCH_RESULT}

克雷格·紐馬克于1952年12月6日出生。

{END_SEARCH_RESULT}

我找到了答案。最終答案:craigslist的創始人克雷格·紐馬克于1952年12月6日出生。

重要規則:

  1. 一次只獲取一個事實:?將問題分解,每次發出一個搜索查詢來獲取一個單一、具體的信息。
  2. 要精確:?明確和精準地表述搜索查詢。如果搜索失敗,重新措辭。
  3. 最終綜合:?在完成所有必要的搜索之前,不要給出最終答案。
  4. 語言一致性:?搜索查詢應該與用戶問題使用相同的語言。

現在,開始你的工作。請通過一步步思考來回答以下問題。

(一)核心優勢:讓復雜問題解決有章可循 ??

  1. 任務拆解顆粒度精準,降低復雜問題門檻?

這個提示詞特實在,要求 “一次只獲取一個事實”。不管多繞的多維度問題,它都能拆成線性的小步驟。比如咱們想知道《大白鯊》和《皇家賭場》的導演是不是一個國家的,它能拆成 “找《大白鯊》導演→查這導演國籍→找《皇家賭場》導演→查這導演國籍”,一步一步來。這樣一來,信息不會亂成一鍋粥🥣,每步搜索都有明確目標,多跳推理的問題也不怕,還能減少漏關鍵信息的風險,復雜問題一下子就好上手了!?

? ? 2. 工具使用規范明確,減少操作模糊性?

它把規則定得明明白白:搜索查詢必須用 {BEGIN_SEARCH_QUERY} 和 {END_SEARCH_QUERY} 包起來,搜索結果也有固定格式,形成 “指令 - 執行 - 反饋” 的標準流程。這種硬約束能避免格式出錯,交互效率高,機器也好用🤖。而且還限制了 “最多 {MAX_SEARCH_LIMIT} 次搜索”,不讓咱們在沒用的地方浪費時間,既保證信息全,又不拖慢節奏??。?

? ? 3. 結果導向的流程設計,確保回答準確性?

它還有個 “死規矩”:沒收集完所有必要信息,絕不給最終答案。這就逼著咱們先把事實摸透,再下結論,避免看一半就瞎猜?。比如查 craigslist 創始人的出生時間,它會先讓咱們確認創始人是克雷格?紐馬克,再去查出生日期,保證答案不缺關鍵信息。另外,要是搜索沒結果,它還會提醒 “重新措辭”,比如把 “《皇家賭場》導演” 改成 “2006 年《皇家賭場》導演”,讓搜索更準🎯。?

(二)可優化方向:讓流程更高效、判斷更清晰 💡?

  1. 缺乏 “搜索優先級” 引導?

現在的流程沒說清 “該先查啥,后查啥”。比如問 “某電影的票房和導演國籍”,咱不知道該先查好獲取的 “導演國籍”,還是先啃難搞的 “票房數據”,搞不好就在難查的信息上浪費次數😮?💨。我覺得可以加個引導,比如 “優先查確定度高、簡單的事實”,這樣效率能上來。??

? ? ?2.未定義 “信息足夠” 的判斷標準?

提示詞里說 “收集到所有回答問題所需的事實”,但沒說 “到底要收集多少才算夠”。比如判斷 “兩位導演是不是同國籍”,有倆國籍信息就夠了;但判斷 “某電影賺沒賺錢”,得要票房、成本、分賬比例這些。沒說清 “哪些信息必須有”,容易漏關鍵的??。建議加個步驟,“根據問題核心,列個必需信息清單”,收集起來更有方向。?

? ? 3. 未覆蓋 “搜索結果沖突” 的處理?

有時候搜同一個事實,會出來不一樣的結果,比如 “某導演國籍”,一會兒說美國,一會兒說英國,提示詞沒說該信哪個🤔。可以加條規則,“結果沖突時,優先信權威平臺的,比如 IMDb、維基百科,或者再補搜驗證下”,這樣答案才準。?

二、信息提取模塊提示詞:聚焦目標信息,提升處理效率 📌?

再聊聊信息提取模塊提示詞,它就干一件事 —— 從 “已搜索網頁” 里扒出最相關的信息,直接回答 “當前搜索查詢”。在聚焦目標和輸出規范上,優勢很明顯🌟。?

你是一個高效的信息提取模塊。你的唯一任務是從提供的“已搜索網頁”中提取最相關的信息,直接回答“當前搜索查詢”。

你的任務:

  1. ?閱讀“當前搜索查詢”以了解需要哪些特定信息。
  2. ?瀏覽“已搜索網頁”以找到該查詢的答案。
  3. ?僅提取直接回答查詢的必要、事實性信息。簡明扼要。

上下文(僅供參考):

提供了“先前推理步驟”以便你了解整體目標,但你的主要焦點必須放在回答“當前搜索查詢”上。不要在輸出中使用先前步驟的信息。輸出格式:

  1. ?你的回答必須嚴格遵循以下兩種格式之一:如果找到了直接和相關的答案:
    1. ?直接以“最終信息”開始。
    2. ?僅提供提取的事實(不要添加額外的對話文本)。

示例:

當前搜索查詢:馬丁·坎貝爾來自哪里?

已搜索網頁:[關于馬丁·坎貝爾的長篇文章片段,其中包含“馬丁·坎貝爾(生于1943年10月24日)是新西蘭電影和電視導演...”]

你的輸出:

最終信息

  1. ?馬丁·坎貝爾是新西蘭的電影和電視導演。如果沒有找到直接回答查詢的相關信息:
    1. ?直接以“最終信息”開始。
    2. ?寫出準確的短語:“沒有找到有用的信息”。

(一)核心優勢:精準提取信息,降低理解成本 ??

? ? ?1. 嚴格限定提取范圍,避免信息冗余?

這個提示詞特 “專一”💘,要求 “只提直接回答問題的必要事實,還不能用之前步驟的信息”,逼著模塊只盯著當前查詢,不被無關內容帶偏。比如查 “馬丁?坎貝爾來自哪里”,它就只提 “馬丁?坎貝爾是新西蘭的電影和電視導演”,出生日期、作品這些多余的一概不沾,輸出又簡潔又準。?

? ? 2. 輸出格式二元化,降低理解成本?

它把輸出分成兩種:找到答案就以 “最終信息” 開頭,沒找到就說 “沒有找到有用的信息”,格式固定得很。這樣后續模塊(比如高級推理代理)一眼就能看明白結果,不用費勁解析,自動化處理起來特方便,多模塊協作也順暢🤝。?

? ?3.目標導向的流程設計,提升提取準確率?

提取步驟就三步:“讀查詢→找答案→提信息”,邏輯直來直去,不跑偏。比如面對長篇網頁,模塊先明確 “要提啥”,再針對性找,不會犯 “把‘導演在新西蘭工作’當成‘國籍新西蘭’” 這種錯?,提取準確率能上去。?

(二)可優化方向:讓信息提取更權威、更全面 🤔?

  1. 未明確 “權威來源優先” 的提取規則?

網頁里同一事實可能有多個來源,比如 “某人生日”,粉絲網站說 1952 年,維基百科說 1953 年,提示詞沒說該優先選哪個,搞不好就選了不權威的🚫。建議加條規則,“優先提權威來源的信息,比如官方資料、知名數據庫,有多個來源就標出來,方便驗證”。?

? ? ? 2. 未覆蓋 “信息部分相關” 的處理?

有時候網頁沒直接回答問題,但有間接信息,比如查 “某導演國籍”,網頁只說 “導演長期在法國工作,拍的多是法語電影”,沒明說國籍,現在的提示詞只會說 “沒找到有用信息”,白白浪費了線索💔。可以補充下,“有間接信息就提出來,標上‘這是間接推斷的,不是直接答案’”,給后續搜索指個方向。?

? ? ?3. 缺乏 “信息完整性” 的判斷標準?

比如查 “某公司成立時間”,網頁只說 “20 世紀 90 年代成立”,沒說具體年份,現在的提示詞可能就直接提這個信息了,但其實這回答不了問題🙅。建議加條規則,“提的信息得能完整回答問題,比如時間要到年 / 月,地點要到國家 / 城市,信息不全就標‘信息不夠,得再搜’”,別輸出沒用的內容。?

三、總結?

總的來說,ragflow MCP 調用里的這兩個提示詞,在信息處理和問題解決中都挺能打的💪—— 高級推理代理提示詞擅長拆復雜問題,保證執行準;信息提取模塊提示詞專注抓目標信息,提高處理效率。當然,它們也有能優化的地方,咱們針對性改改,相信能讓它們在 MCP 調用里更給力,給 ragflow 的信息處理能力再加點 buff~🎉

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/96010.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96010.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/96010.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從基礎功能到自主決策, Agent 開發進階路怎么走?

Agent 開發進階路線 基礎功能開發 環境感知與數據采集:傳感器集成、數據預處理(濾波、歸一化)、多模態數據融合簡單規則引擎:基于if-then的邏輯決策樹、狀態機實現基礎行為控制基礎交互能力:語音識別/TTS集成、基礎對話…

ModelScope概述與實戰

概述 ModelScope,簡稱MS,魔搭社區,由阿里巴巴達摩院推出的一個多任務、多模態的預訓練模型開放平臺,提供模型下載與運行、數據集管理、在線推理體驗、開發者社區交流等一站式服務,支持多種主流框架(如PyTo…

人工智能學習:LR和SVM的聯系與區別?

LR和SVM的聯系與區別?相同點:(1) LR和SVM都可以處理分類問題 ,且— 般都用于處理線性二 分類問題(在改進的情況下可以處理多分類問題)(2)兩個方 法都可以增加不同的正則化…

Integer 緩存機制

現象描述 Integer a 100; Integer b 100; System.out.println(a b); // true(引用相同,從緩存中取)Integer c 200; Integer d 200; System.out.println(c b); // false(超出緩存范圍,new Integer(200)&#xff0…

生物化學Learning Track(II)——多肽+蛋白質一級結構

本筆記基于楊榮武教授第四版《生物化學》(持續更新)1. 多肽我們在上一節筆記里面介紹了什么是氨基酸,還有氨基酸的種類以及氨基酸基本的一些性質如等電點極性手性等等,這里我們開始介紹氨基酸結合的產物,因為氨基酸是脫…

Caffeine Weigher

Weigher 接口Weigher 是 Caffeine 緩存庫中一個非常重要的函數式接口,它用于計算緩存中每個條目(entry)的權重(weight)。這個權重值主要用于基于容量的驅逐策略,特別是當你希望緩存的總大小不是基于條目數量…

C/C++入門之搭建開發環境(VScode篇)

本文主要記錄 Visual Studio Code 中配置 C/C 的開發環境,包括項目設置、編譯選項和調試配置。VScode是編輯器,我們還需要安裝編譯器,才能實現編寫程序到生成可執行文件這一流程。關于編輯器,編譯器和IDE如果有些分不清&#xff0…

【營銷策略算法】關聯規則學習-購物籃分析

Apriori算法是關聯規則學習領域中最經典、最著名的算法之一,用于從大規模數據集中發現有價值的關聯規則。最典型的例子就是購物籃分析,通過分析顧客的購物籃,發現商品之間的關聯關系,從而制定營銷策略(如“買尿布的顧客…

行為式驗證碼技術解析:滑塊拼圖、語序選詞與智能無感知

隨著傳統字符驗證碼逐漸被 OCR 與自動化腳本攻破,越來越多業務開始采用 行為式驗證碼 來區分真人與機器。這類驗證碼不僅依賴用戶的操作行為,還結合圖形干擾、環境信息和風控模型,既提升了安全性,也改善了用戶體驗。 常見的實現方…

基于多項式同態加密和秘密共享的JPEG可逆信息隱藏

學習題為《Reversible steganography in cipher domain for JPEG images using polynomial homomorphism》的論文隨著物聯網(IoT)設備的普及,大量敏感數據(如指紋、身份信息)需要在云端傳輸和存儲。傳統隱寫技術雖然能…

從 0 到 1 攻克訂單表分表分庫:億級流量下的數據庫架構實戰指南

引言: 本文總字數:約 8500 字建議閱讀時間:35 分鐘 當訂單表撐爆數據庫,我們該怎么辦? 想象一下,你負責的電商平臺在經歷了幾個雙十一后,訂單系統開始頻繁出現問題:數據庫查詢越來…

網絡編程(5)Modbus

【1】Modbus 1. 起源Modbus由Modicon公司于1979年開發,是全球第一個真正用于工業現場的總線協議在中國,Modbus 已經成為國家標準,并有專業的規范文檔,感興趣的可以去查閱相關的文件,詳情如下:標準編號為:GB…

WordPress性能優化全攻略:從插件實戰到系統級優化

一、性能診斷:定位瓶頸是優化第一步 在對 WordPress 進行性能優化前,精準定位性能瓶頸至關重要。這就好比醫生看病,只有先準確診斷,才能對癥下藥。下面將從核心性能指標檢測工具和服務器基礎性能排查兩個方面展開。 1.1 核心性能…

十、網絡與信息安全基礎知識

1 網絡概述 1.1 計算機網絡的概念 1.1.1 計算機網絡的發展 計算機網絡的發展經歷了四個主要階段: 具有通信功能的單機系統: 早期形式:一臺計算機連接多個終端。例子:20 世紀 50 年代的 SAGE 系統。 具有通信功能的多機系統&#x…

校園管理系統|基于SpringBoot和Vue的校園管理系統(源碼+數據庫+文檔)

項目介紹 : SpringbootMavenMybatis PlusVue Element UIMysql 開發的前后端分離的校園管理系統,項目分為管理端和用戶端和院校管理員端 項目演示: 基于SpringBoot和Vue的校園管理系統 運行環境: 最好是java jdk 1.8,我們在這個平臺上運行的。其他版本理…

新后端漏洞(上)- Weblogic SSRF漏洞

漏洞介紹:Weblogic中存在一個SSRF漏洞,利用該漏洞可以發送任意HTTP請求,進而攻擊內網中redis、fastcgi等脆弱組件。編譯及啟動測試環境docker-compose up -d訪問http://127.0.0.1:7001/uddiexplorer/,無需登錄即可查看uddiexplore…

Fiddler 實戰案例解析,開發者如何用抓包工具快速解決問題

在現代軟件開發中,網絡通信問題幾乎是最常見的 Bug 來源。無論是前端調用后端 API、移動端與服務端交互,還是第三方 SDK 請求,都會因為參數錯誤、環境差異、網絡條件不穩定而出現各種難以復現的問題。 在這些場景下,日志往往并不…

【佳易王藥品進銷存軟件實測】:操作簡單 + 全流程管理,醫藥臺賬管理好幫手#軟件教程全解析

前言: (一)試用版獲取方式 資源下載路徑:進入博主頭像主頁第一篇文章末尾,點擊卡片按鈕;或訪問左上角博客主頁,通過右側按鈕獲取詳細資料。 說明:下載文件為壓縮包,使用…

【設計模式】UML 基礎教程總結(軟件設計師考試重點)

【設計模式】UML 基礎教程總結(軟件設計師考試重點) 統一建模語言(Unified Modeling Language,UML),是一種標準化的面向對象建模語言,用于可視化、規范化和文檔化軟件系統設計。 參考資料:UML基礎教程資料(可用于軟件設計師考試)! (關注不迷路哈!!!) 文章目錄 【…

vite_react 插件 find_code 最終版本

vite_react 插件 find_code 最終版本當初在開發一個大型項目的時候,第一次接觸 vite 構建,由于系統功能很龐大,在問題排查上和模塊開發上比較耗時,然后就開始找解決方案,find-code 插件方案就這樣實現出來了&#xff0…