我如何(以及為何)構建了一個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持久化記憶、註冊工具(搜索和文件讀取)。作者強調,系統提示詞是最被低估的部分——越具體,越不需要在對話中糾正模型。
最終構建的助手能搜索網絡、總結文件、調用自定義函數,成為真正可依賴的工作夥伴。作者認為,雖然對於快速問答或寫作輔助買現成的更划算,但若需要深度集成工作流、學習個人偏好並執行特定任務,自建是值得的。