iT邦幫忙

2025 iThome 鐵人賽

DAY 11
0
生成式 AI

左手藍圖,右手魔法:DDD 與 Vibe Coding 的開發協奏曲系列 第 11

Day 11: 【心法 #2】透過AI幫我們生成Prompt

  • 分享至 

  • xImage
  •  

安安,我是 ChiYu!

昨天,我們終於完成了上半部分的最後一份文件!可以正式進入開發的環節!但在進入開發環節前,我想要回頭再詳細聊一下 Ai Prompt Engineering。

我相信大家在經歷了前面五天、一連串燒腦的文件生成後,肯定會有點累,心中可能還會冒出一個疑問:

「ChiYu 你每次給的 Prompt 都又臭又長,結構還那麼複雜,每次都要自己想,也太累了吧?」

你說的沒錯!所以今天,我們要稍微轉換一下節奏,暫時不推進度。我們要來一場「魔法師的幕後揭秘」,聊聊我是如何生成那些看似複雜、但效果奇佳的完整 Prompt 的!

Part 1:為什麼現在才說?先學會走路,再學會開跑車

在揭曉我的秘密武器之前,我想先解釋一下,為什麼我刻意把這個技巧,留到今天才告訴大家。

過去五天,我讓大家親手去「感受」一個 Prompt 的好壞。你們親自體驗了從一個模糊的想法,到一個結構化的指令;從 AI 給出不甚滿意的答案,到透過迭代優化,最終得到專業產出的完整過程。

這個 「手動」的過程至關重要。因為它能讓你建立起對**「好 Prompt」的品味與鑑賞力**。

如果我第一天就教你開跑車,你可能會因為速度太快而看不清沿途的風景,甚至直接翻車。只有當你親自走過一遍崎嶇的山路,你才會知道跑車的懸吊有多重要、輪胎該怎麼選。

現在,你已經是一位合格的**「Prompt 手工藝人」了。是時候,為你配備一台「Prompt 工業母機」**了!

Part 2:我們的「靈感實驗室」:Gemini Web UI

你可能又會問:「咦?我們不是說好要完全在終端機裡 Vibe Coding 嗎?怎麼又回到瀏覽器了?」

問得好!一個專業的開發者,懂得為不同的任務,選擇最適合的工具。

  • Gemini CLI:是我們的**「生產線」**。它追求的是效率、精準、可重複。當我們心中已經有了明確的目標時(例如:根據 @API_SPEC.yml 生成程式碼),CLI 是我們的最佳選擇。
  • Gemini Web UI:是我們的**「靈感實驗室」「創意沙盒」**。它擁有更自由、更具創意的互動介面,可以同時看到多個版本的草稿、方便地進行長篇大論的對話。它最適合的場景,就是進行探索性、創造性、迭代性的任務——例如,打磨我們即將在 CLI 中使用的「終極咒語」!

Part 3:AI 幫我寫咒語:Prompt Engineering 的「後設」技巧

「Prompt Engineering」,直白點說,就是「如何跟 AI 好好說話的藝術」。我們在 Day 5 已經介紹過它的基本原則。但今天,我們要玩一個更進階的**「後設 (Meta)」**技巧——讓 AI 自己,成為一位提示工程專家。

這就像是,我們不只問許願精靈『我想要什麼』,而是拉著精靈坐下來,一起討論:『嘿,精靈!以你對魔法的理解,如果我想要一座完美的黃金城堡,我應該用什麼樣的「許願詞」、提供哪些細節(例如:尺寸、風格、純度),才能讓你最有效率、最不會理解錯誤地幫我變出來?』我們正在讓 AI 成為我們的『許願顧問』。

首先打開你的靈感實驗室,前往 gemini.google.com

這邊我提供我在使用的萬用咒語:

【我的萬用 Prompt 模板】

# 角色 (Role)
你是一位頂尖的 AI Prompt Engineering 專家與思維框架建構師。你的核心專長是,將使用者提出的初步、模糊的想法,轉化為一個結構完整、指令清晰、包含所有最佳實踐的高品質「進階 Prompt」。

# 目標 (Objective)
我的任務是,請你根據我下方提供的「初步構想」,為我生成一個可以直接複製使用、用於驅動其他 AI 完成具體任務的「進階 Prompt」。

---

## 使用者提供的初步構想 (User's Initial Idea)

* **[核心任務]**: `[請在這裡用一句話描述你最想讓 AI 做什麼。例如:幫我規劃一趟為期七天的日本東京家庭旅遊行程。]`
* **[目標產出]**: `[請描述你希望最終得到的產出物是什麼。例如:一份 Markdown 格式的每日行程表。]`
* **[目標受眾]**: `[請描述這個產出物是給誰看的,或在什麼情境下使用。例如:給我的家人看,成員包含兩位長輩和一位小孩。]`
* **[關鍵細節與限制]**: `[請列出任何你認為重要的額外資訊、風格要求或限制。例如:行程要輕鬆,不要太趕;需要考慮長輩的體力;預算中等;希望包含至少一個親子景點。]`

---

## 你的任務與產出要求 (Your Task & Output Requirements)

1.  **分析與擴寫**: 請深度分析我提供的「初步構想」,並將其擴寫成一個包含以下所有結構化區塊的「進階 Prompt」:
    * **`# 角色 (Role)`**: 根據我的核心任務,為 AI 賦予一個最適合的專家角色。
    * **`# 目標 (Objective)`**: 將我的核心任務,轉化為一段清晰、明確的指令。
    * **`# 上下文與關鍵資訊 (Context & Key Information)`**: 將我提供的「目標受眾」和「關鍵細節」整理成點列式,並預留出其他 AI 可能需要補充資訊的 placeholder,例如 `[請補充:成員的具體年齡層]`。
    * **`# 產出格式與要求 (Output Format & Requirements)`**: 根據我的「目標產出」,設定詳細的格式指令,例如要求使用 Markdown 表格、包含特定欄位等。
    * **`# 限制與風格 (Constraints & Style)`**: 明確列出任務的限制條件與風格要求。
    * **`# (可選) 提供一個簡短範例 (Optional: Provide a Short Example)`**: 如果適用,可以加入一個簡單的範例來引導 AI。

2.  **直接產出**: 請直接生成上述擴寫後的完整「進階 Prompt」內容,不要有任何額外的對話或解釋。

如何使用這座「Prompt 工業母機」?

第一步:填寫你的「初步構想」

很簡單,你只需要將上面模板中 ## 使用者提供的初步構想 區塊的內容,換成你自己的想法。就像填空一樣,把 [...] 裡面的範例文字,換成你這次任務的具體需求。

第二步:將填好的模板,餵給 Gemini Web UI

將你修改好的整段「萬用 Prompt 模板」文字,完整地複製並貼到 Gemini Web UI 的對話框中,然後按下 Enter。

第三步:收穫你的「進階 Prompt」並進行微調

當你按下 Enter,Gemini Web UI 就會為你生成一段可以被複製、直接貼到終端機使用的「終極咒語」!

現在,你身為專案主人的價值就體現出來了。你必須用我們前幾天學到的知識,去審核這段由 AI 生成的 Prompt:

  • 它賦予的角色是否精準?
  • 它要求的上下文是否完整?
  • 它的需求列表,有沒有漏掉我們需要的關鍵功能?

這時你才發現,AI 生成的 Prompt 才是真正完整的 Prompt!

經過你的微調與確認後,一份完美的、生產級別的 Prompt 就誕生了!

如何使用這個模板?【實戰範例】

以下是一個實戰範例,演示如何用它來生成「專案章程文件」的進階 Prompt。

範例一:生成文件 (以「專案章程」為例)

假設你的原始想法是:「我想為我的 App 點子,弄一份專案章程。」

第一步:填寫「萬用 Prompt 生成器 Pro」

# 角色 (Role)
你是一位頂尖的 AI Prompt Engineering 專家與思維框架建構師。你的核心專長是,將使用者提出的初步、模糊的想法,轉化為一個結構完整、指令清晰、包含所有最佳實踐的高品質「進階 Prompt」。

# 目標 (Objective)
我的任務是,請你根據我下方提供的「初步構想」,為我生成一個可以直接複製使用、用於驅動其他 AI 完成具體任務的「進階 Prompt」。

---

## 使用者提供的初步構想 (User's Initial Idea)

* **[核心任務]**: `為我的一個模糊想法,生成一份專業的「專案章程」。`
* **[目標產出]**: `一份結構完整的 Markdown 文件,可以用來作為專案的啟動指南。`
* **[目標受眾]**: `給Gemini CLi 與我(開發者)一同協作使用。`
* **[關鍵細節與限制]**: `我的想法是「做個能幫助使用者追蹤好習慣、記錄每日心情的 Web App」。文件需要包含願景、目標、範圍和核心功能這幾個部分。`

---

## 你的任務與產出要求 (Your Task & Output Requirements)
...(以下與模板相同)...

第二步:透過Prompt生成Prompt

與 Gemini 對話生出進階的 Prompt。

第三步:微調並在 CLI 中使用

現在,你得到了一個高品質的「進階 Prompt」。你可以對它進行最後的微調,然後將這整個進階 Prompt,完整地複製並貼到你的 Gemini CLI 中執行(例如,後面接上 > docs/PROJECT_CHARTER.md),就能得到一份極高品質的專案章程草稿了!

或是今天需要參考其他文件,我們就可以在終端機上去 @ 文件檔案。

這個「萬用生成器」的強大之處在於,它自動化了建構一個好 Prompt 的思考過程,讓你從繁瑣的指令設計中解放出來,只需專注於你最核心的想法。

【重要心法】AI 的非確定性

請記住,AI 的生成結果具有隨機性。即使是完全相同的 Prompt,每次產出的「進階 Prompt」也可能有些微差異。這完全正常!重點不是追求和我的範例一模一樣,而是要去檢核 AI 生成的 Prompt 結構是否完整、邏輯是否清晰、是否真正符合你的核心需求。你,才是最終的把關者。

結語:從「使用者」到「指揮家」

恭喜!今天,我們完成了一次思維上的巨大飛躍。

我們不再只是一個單純對 AI 下指令的「使用者」,我們學會了如何引導、如何訓練 AI,讓它反過來幫我們打造更強大的工具。我們正在從 AI 的「使用者」,蛻變為 AI 的**「指揮家」,甚至是一位「訓練師」**。

掌握了這個「後設」技巧,你未來在面對任何複雜的開發任務時,都能先退一步,問問你的 AI 副駕:「嘿,針對這個任務,你覺得我該怎麼跟你溝通,效率會最高?」這將徹底改變你的開發工作流。

好了,心法傳授完畢!明天,我們將帶著這些更強大的武器,正式開始建構我們的專案基底架構。


上一篇
Day 10: 【文件 #5】溝通的契約:用 Gemini 撰寫「Web API 規格書」
下一篇
Day 12: 【後端 #1】起手式:AI 代理人 生成模組化的 Flask 專案
系列文
左手藍圖,右手魔法:DDD 與 Vibe Coding 的開發協奏曲13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言