站長阿川

站長阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

站長精心設計,帶你實作 63 個小專案,得到作品集!

立即開始免費試讀!

(這篇文章是由手機上的AI撰寫的)

引言

以ChatGPT為首的大規模語言模型(LLM)的進化持續加速。這些AI可以進行近乎自然的人類對話,但要充分發揮其能力,需掌握一些特殊的「說話」技巧。

對我們這些工程師來說,重要的是把AI視為一個應依照規範運作的系統,而非模糊的對話對象。

本文將探討「為什麼對AI的指示(提示)使用邏輯結構會有效?」這個主題,並使用邏輯式公理等關鍵詞,讓每個人都能理解。

「邏輯式」究竟是什麼?

不需要想得太複雜。簡言之,邏輯式是最終一定會得到『是(Yes)』或『否(No)』答案的計算式

我們在日常生活中都在使用邏輯。
比如說,網站的會員註冊。

同意使用條款」打勾,,「電子郵件地址格式正確

這就是一個簡單的邏輯式。兩個條件都必須為是(真),註冊按鈕才能被按下。

這個邏輯式主要由三個部件組成。

  1. 命題:可以用「是/否」回答的主張。
    • 例子:「同意使用條款」的核取方塊已勾選。
  2. 邏輯運算子:連接命題的連接詞。
    • AND (且):若兩者皆「是」,則為「是」。
    • OR (或):若任一為「是」,則為「是」。
    • NOT (非):翻轉「是」與「否」。
  3. 最終答案:整個公式得出的唯一的「是」或「否」。

這種毫不模糊、任誰都能得出唯一結論的特性,對於指示AI至關重要。

將提示設計為「公理系」

那麼,這種思維方式如何在實際提示中運用呢?
這是將提示設計成數學或邏輯學中使用的公理系=Axiomatic System的方式,而非僅僅是「請求語句」。

聽起來可能有點困難,實際上就是製作一個規則手冊

我們可以舉例比擬遊戲。

  • 公理 (Axiom):遊戲的基本規則。無需證明,所有人都必須遵守的基本前提。(例如:「玩家輪流抽取一張牌」)
  • 定理 (Theorem):根據基本規則導出的必勝法或技巧。(例如:「將這張牌和那張牌組合在一起會更強」)

提示與此相同,若能在開頭定義出AI必須遵守的無需證明的絕對規則=公理,則能正確引導AI的思維。

實例:文章摘要提示

以下是「根據文章主題變更摘要樣式」的範本提示結構。

摘要任務的提示設計

# 前提 (Premise)
# 這裡定義AI所處理的輸入數據。
- `a`: 接下來輸入的文章數據 

# 定義 (Definition)
# 這裡定義提示內使用的「詞彙」和「操作」。
# 匯總性地定義,以免之後多次重複書寫相同指示。
- `Summarize_Expert(a)`: 以專業術語為專家進行文章a的摘要操作
- `Summarize_Beginner(a)`: 以通俗易懂的語言為初學者進行文章a的摘要操作

# 公理 (Axiom)
# 這裡描述AI必須絕對遵守的「規則」。
# 基本格式為「如果(IF)~則(THEN)~」。
- 1. 如果`Theme(a)`為`"科技"`,則輸出必須為`Summarize_Expert(a)`。
- 2. 如果`Theme(a)`為`"經濟"`,則輸出必須為`Summarize_Beginner(a)`。

更精確的邏輯式化

1. 前提 (Premise)
系統(AI)接收的、討論的起點事實。
 * 前提1: a是輸入的文章。
   * a ∈ A (a是文章集合A的元素)
 * 前提2: 所有文章 x 都只有一個主題 Theme(x)。
   * ∀ x ∈ A, ∃! t (Theme(x) = t)

2. 定義 (Definition)
明確操作或概念。
 * 定義1: Summarize_Expert(x)是將文章x以專業術語為專家進行摘要的操作(函數)。
 * 定義2: Summarize_Beginner(x)是將文章x以平易的語言為初學者進行摘要的操作(函數)。
 * 定義3: Output(x)是針對文章x最終生成的成果物(摘要)。

3. 公理 (Axiom)
在此系統內被視為絕對真理、無需爭論的規則(AI指示的核心)。
 * 公理1: 如果文章 a 的主題為「科技」,則最終成果必須為「專家摘要」。
   * 邏輯式:
       Theme(a) = 「科技」 → Output(a) = Summarize_Expert(a)

 * 公理2: 如果文章 a 的主題為「經濟」,則最終成果必須為「初學者摘要」。
   * 邏輯式:
       Theme(a) = 「經濟」 → Output(a) = Summarize_Beginner(a)

接收此提示的AI會這樣思考。

  • 嗯,輸入是文章a。(前提的認知)
  • 定義了Summarize_Expert和Summarize_Beginner兩個操作。(定義的認知)
  • 我應該判斷給定文章的主題。如果是科技就遵循規則1,若是經濟則遵循規則2。(公理的認知)

因此,AI不會捕捉模糊的「感受」,而是根據提供的規則手冊進行機械處理。這樣一來,輸出的精確性和穩定性會大大提高。

可以這樣寫

請放心。
AI擅長翻譯。
請讓它將普通的提示翻譯成邏輯式。

請將以下提示以全面、結構性且簡潔的方式,論理化為前提/定義/公理的格式。

提示:

此方法帶來的三大優勢

將提示如此邏輯化結構化後,特別是在系統開發現場有三大顯著優勢。

確保可維護性和再利用性

由於提示被模組化為「前提」「定義」「公理」,因此對於規格的變更非常強韌。

  • 可維護性:如果出現「希望經濟文章的摘要更詳細」的變更,只需修正# 定義部分的Summarize_Beginner(a)即可,無需解析整個提示。
  • 再利用性:如「專家摘要」的Summarize_Expert(a)定義,可以在其他提示中重複使用。就像是匯入函數的感覺。

輸出語調不受影響

LLM容易受提示整體文體的影響。然而,在這個結構中指示的邏輯描述部分=公理等與輸出風格的定義部分=定義是分離的。
這樣一來,指示本身可以簡明扼要,而輸出則能按照「友善」、「專業」等所指定的語調進行,從而防止意外的語調混入。

最終節省Token

看似結構化後提示會變長,但從長遠來看,卻能節省Token。

  • 一次成功的機率提高:與其屢次來回修改模糊的指示,不如精確的指示一次性得到所需輸出,總Token會減少。
  • 消除冗長性:無需每次都寫「以專家身份,使用專業術語,詳細摘要...」。只需參考一次Summarize_Expert(a)和其定義即可。

注意事項:勿在提示中寫「定理」

絕對不要。
不要寫。
因為這會變成垃圾。

重申一次

  • 公理 (Axiom):遊戲的基本規則。無需證明,所有人都必須遵守的基本前提。(例:「玩家輪流抽取一張牌」)
  • 定理 (Theorem):從基本規則導出的必勝法或技巧。(例:「將這張牌和那張牌組合在一起會更強」)

如果在提示中寫下定理,AI會變成「總是選擇那條路」。
會像是任何遊戲都在不停按鈕想要通關的傻瓜。
其實這個場景也不會發生,所以最好不寫。
檢查公理是否正確的debug可能也無法順利進行。

結語

對AI的指示、提示工程,並非單純的「文字遊戲」或「魔法咒語搜尋」。而是一種設計系統的方式,如何將沒有模糊性的規範傳達給AI,使其按意圖運行

本文介紹的「邏輯式」及「公理系」的思維方式,將成為強有力的工具。
希望大家在開發過程中都能以「向AI提供規則手冊」的心態設計提示,這樣肯定會讓AI的輸出更加穩定和可靠。

參考文獻

  1. 論文名稱: "Dissecting Logical Reasoning in LLMs: A Fine-Grained Evaluation and Supervision Study"

    • 論文連結: https://arxiv.org/html/2506.04810v1
    • 發布日: 2025年6月
      這篇論文是對LLM邏輯推理過程的詳細評估研究。特別重要的是,它分析了提示風格如何影響推理質量的方式。
      論文中的調查結果(Findings)部分提到:

    "自然語言指導提供強大的泛化能力 [...]而符號推理風格則促進更具結構性和原子的推理鏈。"
    (自然語言指導使得良好的泛化能力得以實現,而符號推理風格則促進了更結構性健全且原子的推理連鎖)

    這是一個強有力的證據,指示在提示中使用符號或引入邏輯式等形式化風格,可以使LLM的推理步驟更加邏輯且健全。這意味著結構化的指示比模糊自然語言能提升推理的「質量」。

  2. 論文名稱: "Structure Guided Prompt: Instructing Large Language Model in Multi-Step Reasoning by Exploring Graph Structure of the Text"

    • 論文連結: https://arxiv.org/html/2402.13415v1
    • 發布日: 2024年2月
      本研究提出了一種新的框架,稱為「結構引導提示(Structure Guided Prompt)」,以進行複雜的多步推理。這是讓LLM自身將非結構文本(正常的文章)轉換為圖結構(Graph Structure)的手法,並根據該結構進行推理。
      圖用節點和邊展示關聯性的形式邏輯結構,正是邏輯式中所需明示關係的核心思考。論文中指出,這種方法

    "使得LLM能提供更準確且具上下文意識的回應。"
    (LLM能夠提供更準確、更具上下文感知的回應)

    這清晰表明,在提示中加上明確的邏輯結構(在此例中為圖結構),會提升LLM的精度。

  3. 論文名稱: "The STROT Framework: Structured Prompting and Feedback-Guided Reasoning with LLMs for Data Interpretation"

    • 論文連結: https://arxiv.org/html/2505.01636v1
    • 發布日: 2025年5月
      本論文提出了一種「結構化提示(Structured Prompting)」框架,旨在提高LLM在數據分析等任務中的可靠性。
      本研究的關鍵在於「目標導向提示支架(Goal-Aligned Prompt Scaffolding)」的概念。這是一種根據分析目標和數據結構動態構建提示的方式。論文中提到:

    "這確保了模型的推理根植於輸入的結構性和統計特徵,讓生成的邏輯與用戶意圖一致。"
    (這樣可以保證模型的推理基於輸入的結構性和統計特徵,並且生成的邏輯會與用戶的意圖保持一致)

    這表明,根據數據的固有邏輯結構設計提示,而非隨意撰寫自然語言,可以導致LLM的推理更貼近用戶的意圖。


原文出處:https://qiita.com/makotosaekit/items/031bf2a5b62050e3ca99


共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
站長阿川

站長阿川私房教材:
學 JavaScript 前端,帶作品集去面試!

站長精心設計,帶你實作 63 個小專案,得到作品集!

立即開始免費試讀!