iT邦幫忙

2025 iThome 鐵人賽

DAY 12
0

在前幾天的練習裡,我們已經成功建立了簡單的 Root_Agent,並透過 Google ADK 讓它們能互相協作。
不過你可能會發現一個現象:明明程式碼幾乎一樣,Agent 的表現卻差很多?
其實,關鍵就在於 —— Prompt
今天我們就來聊聊什麼是 Prompt,以及它在 Agent 裡的重要角色。

什麼是 Prompt?

簡單來說,Prompt = 提示 / 指令 / 問題
它就是你輸入給 AI 的「文字說明」,用來告訴 AI:

  • 你要它做什麼
  • 你希望結果長什麼樣
  • 它需要遵守的規則或風格

換句話說,Prompt 就是 AI 的任務說明書

舉個例子:

你是一個友善的客服,請用簡單的語氣回答使用者的問題。

這樣的一段文字,就可以算是一個 Prompt。

Prompt 的三大元素

要寫出一個好的 Prompt,可以從三個角度來思考:

  1. 任務內容(Task)
    • 你要 AI 做什麼?
    • 例:「幫我總結這篇文章」
  2. 上下文(Context)
    • 給 AI 一些背景資訊,幫助它更了解需求。
    • 例:「這篇文章是關於氣候變遷的新聞」
  3. 格式 / 輸出要求(Format)
    • 你希望答案怎麼呈現?
    • 例:「請用三點條列式回答」

Prompt 範例

假設我想讓 AI 當英文老師:

  • 壞的 Prompt
    幫我學英文
    
    太模糊,AI 根本不知道從哪裡開始。
  • 好的 Prompt
    你是一位英文老師,請解釋 "break a leg" 的意思,並舉三個生活化例句。
    
    這就很具體,AI 會用老師的口吻解釋片語,還會提供例子。

差別很明顯:清楚的 Prompt 才能得到更有條理、更符合期待的輸出。

Prompt 在 Agent 中的重要性

Google ADK 的設計裡,每個 Agent 通常會有:

  • name:名稱,用來識別
  • description:描述,讓人知道它的用途
  • instruction:這就是 Prompt

其中,真正決定 Agent 行為邏輯 的,其實就是 instruction(Prompt)。
如果 Prompt 沒設計好,Agent 可能會出現「答非所問」、甚至亂發揮的狀況。
所以可以把 Prompt 想像成 Agent 的操作手冊 —— 它直接影響結果的品質與穩定度。

Prompt 在 LLM Agent 的角色

在一個 LLM Agent 系統中,Prompt 就像是 行為設定檔。常見的用法有:

  1. 角色設定(Role Setting)

    你是一個精確的數學助教,專門負責解題。
    

    → 讓模型用特定身份回覆。

  2. 任務說明(Task Instruction)

    當使用者輸入一個算式,請回傳計算結果,並附上簡短解釋。
    

    → 清楚定義它要做的事。

  3. 格式規範(Output Format)

    請回傳 JSON 格式:
    {
        "status": "success",
        "result": "..."
    }
    

    → 輸出一致,方便程式解析。

  4. 限制範圍(Boundary Setting)

    如果問題與數學無關,請回覆「這不在我的範圍內」。
    

    → 避免模型胡亂回答。

Prompt 對 Agent 行為的影響

  • Prompt 太模糊 → 輸出不穩定
    例如只寫「請幫我查天氣」,AI 可能會亂講或缺少細節。

  • Prompt 清晰明確 → 輸出一致

    你是一個天氣助手。
    請根據輸入的地點與日期,輸出以下格式:
    - 地點
    - 日期
    - 天氣描述
    - 溫度
    
  • Prompt 有明確邊界 → 減少錯誤
    例如指定「如果資訊不足就回覆請求補充」,能避免模型亂編。

在實務上,設計一個好的 Agent,往往不是一次就能完成,而是需要 不斷測試與微調 Prompt。這樣才能讓 Agent 的行為真正符合我們的需求。


上一篇
【Day 11】 Master Agent 基礎實作(下)
系列文
Multi-Agent 實戰:開發多代理智慧小幫手12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言