LangChain 的核心抽象:Models(LLM 提供者的統一介面)、Prompts(帶變數的模板)、Chains(LLM 呼叫和處理步驟的序列)、Agents(決定使用哪些工具的 LLM)、Memory(對話狀態管理)和 Retrievers(與向量資料庫和其他資料來源的連接)。這些可以組合:一個 RAG 鏈透過提示模板將檢索器連接到模型。
LangChain 在開發者社群中兩極分化。支持者重視統一的抽象、廣泛的整合和快速原型開發的速度。批評者認為這些抽象是有漏洞的(你無論如何都需要理解底層 API)、程式碼難以除錯(你和 API 呼叫之間有太多層),以及簡單的應用程式最好直接使用 API 呼叫。共識似乎是:LangChain 適合原型開發和複雜的多步驟工作流程,但簡單的應用程式通常不需要它。
LangChain 生態系統擴展到了核心函式庫之外。LangGraph 將複雜的代理工作流程作為狀態機處理(對於多步驟代理比線性鏈更好)。LangSmith 提供可觀察性——LLM 應用程式的追蹤、評估和監控。這個生態系統解決了真實的需求,但完整堆疊的複雜性對於需要在生產環境中維護和除錯這些系統的團隊來說是一個合理的擔憂。