我如何(以及為何)構建了一個AI助手
本文講述了作者為何選擇自建AI助手而非使用現有工具,詳細介紹了系統架構、技術棧選擇及實現過程,包括LLM、LangChain、記憶體管理和工具整合。
作者從一個效率低下的星期二開始反思:面對客戶簡報、研究資料、郵件和技術文件的多重任務,他意識到自己缺少的不是時間,而是槓桿。與其被動使用通用AI工具,不如構建一個真正理解自己上下文、使用自己風格、連線特定工具並融入現有工作流的助手。
為何不直接購買?作者指出,市面上的助手(如Siri、ChatGPT、Copilot)都是基於通用假設設計的,意味著妥協。自建不僅可以控制資料存放位置(尤其對客戶相關或商業敏感內容至關重要),還能在構建過程中深入理解工具——當出現問題時知道如何排查,當需要新功能時無需等待產品更新。此外,AI助手市場預計從2025年的33.5億美元增長至2030年的211.1億美元,年複合增長率達44.5%,掌握構建技能意味著走在前沿。
技術棧選擇上,作者評估了GPT-4o和Claude,最終選用GPT-4o作為主要模型(因其工具呼叫可靠性和成熟生態),Claude作為後備用於文件密集任務。編排框架選擇了LangChain,儘管有過度抽象的批評,但對於需要記憶、工具使用和推理迴圈的專案,LangChain的抽象能節省大量時間。記憶方面,使用LangChain的ConversationBufferMemory處理會話內上下文,並透過SQLite實現跨會話持久化。工具包括DuckDuckGo搜尋(無需API金鑰)、檔案讀取和自定義Python函式。
環境搭建步驟:建立虛擬環境、安裝依賴包(langchain、langchain-openai、duckduckgo-search等)、安全儲存API金鑰。核心助手構建包括連線到LLM(設定temperature=0.2以平衡一致性和自然語言質量)、設計詳細的系統提示詞(定義助手行為準則)、新增SQLite持久化記憶、註冊工具(搜尋和檔案讀取)。作者強調,系統提示詞是最被低估的部分——越具體,越不需要在對話中糾正模型。
最終構建的助手能搜尋網路、總結檔案、呼叫自定義函式,成為真正可依賴的工作夥伴。作者認為,雖然對於快速問答或寫作輔助買現成的更划算,但若需要深度整合工作流、學習個人偏好並執行特定任務,自建是值得的。