【如何建立 Miva|上篇】從 System Prompt 出發:如何打造一個專業的 AI 說書人?
- 謝昆霖
- 6月17日
- 讀畢需時 5 分鐘
已更新:6月20日

在 AI 領域裡,提示詞工程(Prompt Engineering)是一門技術,而在 BookAI ,我們稱為指令設計師(Instruction Designer)。這一系列文章將從 BookAI 團隊開發 Miva 的真實經驗切入,分享如何透過設計 System Prompt 與 Instruction 架構,建立一個專業且值得信賴的 AI 說書人系統。
▎LLM指令設計的靈魂:BookAI System Prompt
BookAI 的產品 Miva Lite、Pro 與 Advanced,是針對不同使用情境所設計的 AI 說書服務。技術開發的核心其實是檢索(Retrieve),如何在以「億」為單位的書籍文字裡找到讀者要的東西,這是我們啟動時設定的挑戰。在完成檢索的POC 後,技術路線被確定。2024年 Q2 最重要的就建立是「設計一個說書服務系統」:一個 Multi-Agent System(MAS)。
一開始,這個 MAS 很陽春只有兩個 Agent,一個專門搞懂讀者在問什麼,一個專門當研究,用書的內容產出回答。直到 2024 Q4,我們的 MAS 架構一共有 4個 Agent。那時候還不太常聽到 MAS,也很少聽到 Agentic Workflow。因此我們一直是自己在黑暗中摸著過河的。
為什麼搞這麼複雜?後面會講到。(笑)
以下是針對「依據檢索到的書籍內容生成回答的 Agent 」來介紹我們的架構。
回到一開始我們規劃的,Miva Lite、Pro/Advanced,這是一個產品線的規劃。除了 Lite 其他都是付費的產品。因此,建立一個共通且嚴謹的「BookAI System Prompt 」平台,成了架構和擴展服務的關鍵。
就像是汽車公司設計的,車輛的「平台」,那就是研發核心。一個好的「平台」換個車殼、內裝、調整引擎就可以變成不同客群的產品,並且有不同的成本、創造不同的定價。
對 BookAI System Prompt 來說,各家的 LLM 就像是不同的引擎。有的力氣大、有的比較細心。整個架構的主要功能是限制與引導 AI 的回答方向與深度,並控制不同 AI 模型的能力邊界。
這是 Miva Lite 其中一個指令模組:
<Miva_Version_and_Core_Mission>
- You are Miva Lite, an AI reading companion created by BookAI.
- Your Mission: Help readers discover books, quickly understand core concepts from <book_excerpts>, and decide if a book is right for them.
- Explain only highest-level core concepts from <book_excerpts>.
- Focus: Answer "What is this excerpt about?" with extreme brevity.
</Miva_Version_and_Core_Mission>
它規範了 Miva Lite 的角色定位(AI reading companion)、功能目標(幫助讀者快速了解書籍核心概念)、以及回答的方式(極簡回答,嚴守書籍邊界)。如此明確的設計,使 Miva Lite 不會超出「書籍介紹」的基本定位。
▎LLM as a Service:Miva Lite Agent 架構設計
其實 Miva Lite 的系統指令會是 Miva 家族中最少的。即便如此,Lite 版本的 MAS 裡,單獨是「說書」Agent 的系統指令還是有二萬個英文字母,共 6,130 tokens。 Pro 和 Advanced 會內含更多的思考框架,指令會更複雜。
在 MAS 裡,我們採用了作業管理(Operation Management)的管理流程,將每個 Agent 視為「獨立的工作站」:定義每一個 Agent 的工作職責、任務目標、評量產出與工作效率、輸入與輸出的格式、Agent 之間和資料之間如何互動。
LLM as a Service(LLMaaS)是 BookAI 團隊很早就發現的趨勢:控制 LLM 的不同輸出,就能當成差異化的服務,並且為之訂價。
以 Miva Lite 為例,光是「依據書籍內容回答讀者問題」的指令,就包含了很多個關鍵模組,其中三個:
讀者請求處理模組:接收「解析過的」讀者的問題與意圖,在這裡會分析它使用的語言、並且了解他真正想知道的東西。
對話記憶管理模組:設計短期、長期記憶,滿足免費模式下的找書能力、也滿足付費模式下的長程記憶。這些記憶會用於處理讀者請求,解析讀者意圖
書籍內容接收引用模組:收到的系統檢索到的相關書籍內容片段,會有排序、有權重、有編碼,會與意圖進行比對和篩選,再進行引用。
回答生產模組:使用經過深度設計的 Instruction ,我們會進一步約束 LLM 輸出,限定輸出格式與內容深度。例如,付費用戶可以享受跨書分析能力。
以下這個模組展示「依據書籍內容回答讀者問題」的輸出控制:
<Output_Formatting_and_Constraints_LITE>
- Answer field: limited to 150 words.
- Focus strictly on high-level, core concepts.
- Be conversational, insightful, inspiring.
- Response must end with a compelling question.
- Use Markdown bold for key terms.
- 2 sentence paragraphs, rarely 3.
</Output_Formatting_and_Constraints_LITE>
這些規範其實是商品設計的一環。刻意設計,目的是強化用戶體驗,避免免費用戶(Freemium Users)找書的過程中資訊過載,同時用簡短但精煉的回應來引發讀者的好奇與進一步探索的動機。
這樣的架構設計,讓每次回覆的成本可以調整和控制,甚至可以搭配不同的 LLM 放大效能,在商業和技術上兼具可行性。
▎忠於書籍內容 vs. 釋放AI的創造力。付費訂閱的那條線
想要在商業上成功,意味著我們必須拿捏技術理想與商業現實之間的尺度。出版商曾經問我們一個問題:「如果讀者問的問題書沒有答案,Miva 會有答案嗎?」我們的回答是:「 Miva 一定都答得出來。但問題是『要不要以書為準』,這是商業問題不是技術問題。」
BookAI 技術研發團隊面臨的挑戰是:「如何讓 LLM 保有創造力,但同時又不能超出書籍內容的邊界?」我們透過 Miva 的訂閱機制設計以下策略:
Miva Lite 免費使用,僅限於介紹書籍與最基本的核心概念。LLM 被嚴格限制創造力,務求忠實傳達書籍內容,不允許做任何的自由發揮或延伸。
Miva Pro/Advanced 付費使用,允許不同程度的的創造性延伸。付費用戶透過付費流程,會清楚知道該付費服務內含更豐富的 LLM 功能,較能接受一定程度的創造力。
具體的指令規範差異化服務會長這樣:
<Creative_Task_Handling_By_Tier>
- Creative tasks out of scope for Miva Lite.
- Example: "Miva Lite introduces books briefly. For creative explorations, Miva Pro offers more capabilities."
</Creative_Task_Handling_By_Tier>
這個模組定義「創意任務」(Creative Task)不屬於 Miva Lite 的服務範疇,並且設計升級推廣(upsell protocol),有效管理讀者期待,兼顧商業與認知平衡。
▎簡約、簡約、簡約。LLM 控制的第一性原理
回顧 Miva 的 BookAI System Prompt 設計歷程,從一開始想到什麼就寫什麼,導致後期 MAS 擴大後產生的管理困難,我們學到最重要的原則:「簡約、模組化」。
由於 LLM 在輸出時會對所有輸入的脈絡採樣,不它管它叫 System Prompt 還是 User Prompt,差別只是在採樣的權重有差異。因此實務上,指令越複雜,出錯機率越高,也越難除錯。盡可能地設計模組化指令,將每個指令設計成獨立的「功能單元」,才能比較方便處理指令衝突(Prompt Conflict)的除錯需求。
例如,我們將角色定位與功能模組完全區隔:
角色模組(Miva Persona Core)
任務模組(Core Mission)
格式模組(Output Formatting)
處理模組(Tiered Logic Handling)
這種模組化設計的好處是,可以個別獨立調整與最佳化每個模組,而不會影響其他模組,大幅降低維護成本,也提升調校速度。
指令設計太繁瑣,容易導致指令邏輯互相衝突,LLM 雖然不會當機秀「錯誤」(error)給你看,但回答品質會明顯不如預期。這就是指令設計師(Instruction Designer)最頭痛之處,也是「 BookAI System Prompt 」平台設計中嚴格控管的地方。
▎挑戰來自於江湖
「走出學術溫室,就是江湖」,如何在真實的世界中創造收益並且獲利,這是設計系統指令的核心,也是最有藝術性的地方:用最簡約的控制指令、最模組化的設計; 建立一個人類容易管理的架構,盡力控制 LLM 的行為。
作為一個商業產品,我們面對的考驗不僅來自每三個月大翻新的技術,也必須時刻關注使用者體驗與商業模式的需求。
下一篇文章將進一步分享我們如何解決「書沒有相關答案」的問題、Multi-Agent 系統如何協同運作,並深入談談商業策略、UX設計與精實原則如何落實到產品設計中。
(上篇完)