057 · LangChain 眼中的 agent 現況
No Priors Ep. 57 | With LangChain CEO and Co-Founder Harrison Chase
Harrison Chase 從 LangChain 的起點談起,聊 agent 還缺哪些元件、兩種記憶、換模型有多難、長 context 會不會取代 RAG,最後落在 few shot 與持續學習。
057 講了什麼
- 穩定的是底層,變得快的是上層Harrison 說 LangChain 的整合與底層執行環境這幾個月相對穩定,組裝方式則從簡單的 chain、複雜的 chain,一路變到自主 agent,現在落在受控的狀態機或圖。
- agent 還缺三件事Harrison 點名 UX 還沒定論、LLM 的規劃能力不夠,以及開發者還在摸索節點之間的資訊流與測試方法。目前能用的 agent,多半靠開發者把任務拆小,再把領域知識放進流程。
- 記憶分兩種Harrison 把記憶分成系統層級的程序性記憶,和個人化記憶。前者靠 few shot 範例效果很好;後者有兩條路,一是讓 agent 主動決定要記什麼,一是在背景從對話裡抽取重點,Harrison 看好後者。
- 換模型沒有想像中容易Harrison 說每個模型的 prompt 仍然要不同,而最迫切要換模型的時刻,是從原型走向規模化、得考慮成本與延遲的時候。
- 長 context 不等於 RAG 結束Harrison 認為單次抽取變得更可行,但 RAG 常要綜合多個資訊點再推理,needle in a haystack 測的不是這件事。
- 看好 few shot 式的持續學習Harrison 認為用累積的 few shot 範例讓應用自己變好,比 fine-tuning 快、便宜,也比程式化改 prompt 容易。
從哪一段開始看12 段
- 00:05LangChain 的起點主持人介紹 Harrison。LangChain 本來是 2022 年 9、10 月的個人 side project,ChatGPT 約一個月後出現;現在公司有 LangChain 開源套件與 LangSmith 兩條產品線。
- 01:54什麼穩定、什麼在變整合有 700 種,底層做了 LangChain Expression Language 與 LangGraph;變動最快的是上層的組裝方式。
- 04:18agent 還缺什麼Harrison 點出 UX、LLM 的規劃能力,以及開發者怎麼組節點、怎麼測試;也談到規劃與反思兩類研究。
- 07:11兩種記憶程序性記憶靠 few shot 與資料飛輪;個人化記憶有主動記住與背景抽取兩種做法,Harrison 認為這個領域還很早期。
- 09:53應用變複雜了嗎Sarah 問應用的複雜度是否明顯升高。Harrison 說 LangChain 一直鎖定多步驟應用,近來新增的是 RAG 的 query analysis,以及介於 chain 與自主 agent 之間的受控狀態機。
- 12:30agent 在哪裡跑得動Harrison 認為客服與寫程式是目前最明確的兩類;程式可以執行驗證,做的人又是開發者。
- 14:03換模型到底行不行prompt 仍要依模型調整;function calling 等功能越來越多家支援,會讓 prompt 較好移植。真正想換模型多在規模化的階段。
- 17:10長 context 與 RAG長 context 讓單次抽取更可行,但要與環境互動的 agent 和規模化的場景仍然需要別的做法;Harrison 說自己最沒把握的是 RAG 的索引與切塊。
- 19:50fine-tuning 為什麼少見多數人只在非常大的規模才做;難在資料集、評估,以及比起改 prompt 或 few shot 更難快速迭代。
- 21:23開源模型的推理能力Sarah 說 LangChain 第一個 commit 在 2022 年 10 月,那時還沒有 Llama 2 與 Mistral。Harrison 看到大家對開源越來越有興趣,但推理能力仍落後 Claude 3 與 GPT-4。
- 22:57沒人做的方向Harrison 認為最有趣的在應用與 UX 層,並說若重新創業,會做善用長期記憶的應用。
- 24:02持續學習與 DSPyHarrison 看好從互動中學習:累積 few shot 範例資料集,讓應用從錯誤與成功裡自己變好;也說 DSPy 的優化跟 LangSmith 的方向很像,對使用者來說就是個人化。
值得記的話5 句
all these agents are basically running an llm in a loop you need Cycles
這些 agent 基本上都是把 LLM 放進迴圈裡跑,你需要循環03:13the prompts still need to be different for each model
每個模型的 prompt 還是得不一樣14:50I still don't think we see super compelling reasoning abilities in the open source models
我還是不覺得開源模型的推理能力有多讓人信服22:41I'd probably start something at the application layer
如果現在不做 LangChain、重新創業,我大概會做應用層的東西23:30it would basically allow the application to automatically get better over time
它基本上會讓應用隨著時間自動變好25:04
名詞與人物12 個
- Harrison Chase
- LangChain 共同創辦人兼 CEO。
- LangChain
- 開源套件,起點是 Harrison 的 side project,現在有 700 種整合。
- LangSmith
- LangChain 公司的平台,用於測試、評估與監控。
- LangChain Expression Language
- LangChain 的底層串接協定,Harrison 稱為 chaining protocol。
- LangGraph
- 針對有循環的圖而設計的協定,不限於 DAG,用來支撐跑迴圈的 agent。
- few shot prompting
- 把好的範例放回 prompt,Harrison 認為是教模型用工具、做規劃的有效方式。
- data flywheel
- 監控應用、蒐集好範例、再以 few shot 放回應用的循環,LangSmith 正在推。
- query analysis
- RAG 中先分析使用者問題,再決定送去哪個 retriever 或加什麼 metadata filter。
- needle in a haystack
- 在長 context 中找出單一資訊點的測試,Harrison 說無法反映多數 RAG 使用情境。
- parent document retriever
- LangChain 的概念,為每份文件建立多個向量。
- DSPy
- 出自 Stanford 的專案,把應用視為多步驟並做優化,主要手段是 few shot 範例。
- Lance Martin
- LangChain 團隊成員,剛發布一個 benchmark:needle 數量增加、或要求推理而不只是檢索時,模型表現都會下降。
提到但沒有展開
- Harrison 提到最早版本的 LangChain 現在已經跑不起來,因為當初搭配的 OpenAI 模型大約一個月前下架了。
- ChatGPT 的記憶功能,Harrison 的理解是模型可以呼叫函式來記住或刪除某個事實,屬於 agent 主動決定要記什麼的那一種。
