LangChain 的開源軟體工廠

@BraceSproul
英語2 天前 · 2026年7月18日
154K
263
46
10
671

TL;DR

LangChain 發布了一系列開源工具,包括 dcode、OpenSWE 與 OpenWiki,旨在為軟體工程工作流程打造一套完整的 AI Agent 工廠。

在 LangChain,我們透過終端機、Slack、Linear、GitHub 和 CI 來與軟體工程 Agent 互動。

不同的工作流程需要不同的 Agent。本機端編碼應該具備互動性。雲端編碼則應在背景執行並開啟 PR。程式碼審查必須仔細且與 GitHub 整合。儲存庫文件應該緊貼程式碼,為 Agent 提供有用的上下文。

我們將這個系統打造成一套開源工具:

這些工具共同構成了我們的軟體工程 Agent 工廠。這是我們內部使用的架構:本機 Agent、雲端 Agent、審查 Agent、儲存庫記憶、開源模型,以及貫穿整個系統的 LangSmith 追蹤。

為什麼開源很重要

軟體工程 Agent 需要讀取程式碼、編輯程式碼、審查 PR,並參與工程工作流程。團隊需要理解並控制這些 Agent 的行為。

如果 Agent 是一個封閉系統,這就很難做到。你會受限於供應商支援的模型、審查行為、整合功能以及可觀測性。

我們希望 Agent 能讓團隊檢查、修改,並根據自己的工作流程進行調整,包括自家的審查標準、儲存庫慣例、模型選擇和內部工具。這就是為什麼這些專案都是開源的。

各個元件

dcode

dcode 是我們從終端機使用的本機端編碼 Agent。

Brace - inline image

CLI 和 Agent 執行環境在本機端運作,而模型仍然可以託管在遠端。這讓開發者可以直接在本機儲存庫上工作,同時使用可能無法在筆電上運行的大型編碼模型。

我們使用 dcode 進行互動式編碼工作:探索儲存庫、進行編輯,以及從終端機執行實作任務。

OpenSWE

OpenSWE 是我們在需要背景運作時使用的雲端編碼 Agent。

許多工程工作並非始於終端機。錯誤可能在 Slack 上出現。功能請求可能在 Linear 中。儲存庫維護任務可能需要排程執行。

OpenSWE 可以從 Slack、Linear、GitHub 或網頁 UI 觸發。它在雲端運行,處理程式碼,並在完成後開啟 pull request。

在內部,這已經成為我們最常使用的 Agent 工作流程之一。僅在過去一週,我們就從 Slack 觸發了 OpenSWE 將近 1,000 次,這還不包含 Linear 或 UI 的使用次數。

由於 OpenSWE 在雲端的沙箱中運行,我們可以平行執行許多編碼 Agent,而不會佔用任何人的本機環境。

OpenSWE 也包含一個 UI,用於檢查 Agent 的工作、與雲端編碼 Agent 對話、配置模型和提示、查看分析數據,以及設定排程自動化。

Brace - inline image

OpenSWE Review

OpenSWE Review 連接到 GitHub,並自動審查 pull request。它能在程式碼合併前找出錯誤和回歸問題。

Brace - inline image

它在外部基準測試中也表現出色。在 Offline Code Review Benchmark 中,OpenSWE Review 使用 GPT-5.5 搭配中等推理能力 時,得分 47%。這使其位列 整體第 6 名,並且是 開源程式碼審查 Agent 中的第 1 名

程式碼審查與組織高度相關。不同的團隊在意不同的問題、使用不同的措辭,以及對 Agent 何時應阻擋、建議或保持沉默,也有不同的期望。

OpenSWE Review 為我們提供了一個強大的預設方案,我們可以透過調整提示、工作流程、模型選擇和儲存庫特定行為來加以適應。

OpenWiki

OpenWiki 使用 Google 的 Open Knowledge Format 來生成並維護程式碼庫文件。

文件與程式碼共存,並透過 GitHub Action 自動保持更新。這為人類和 Agent 提供了儲存庫的持續維護知識層,而無需擔心文件維護問題(OpenWiki 會幫你處理!)。

Brace - inline image

如果 Agent 每次運行都得重新探索儲存庫的架構,它會浪費 token 並錯過重要的慣例。OpenWiki 為編碼和審查 Agent 提供了更好的起點,同時支援自動更新流程,讓你從此無需再考慮維護 Agent 文件。

技術堆疊

Deep Agents

dcode、OpenSWE、OpenSWE Review 和 OpenWiki 都建立在 Deep Agents 之上。

工作流程各不相同,但它們共享相同的底層 Agent 基礎。這為我們提供了一致的方式來建構、自訂和改進跨本機編碼、雲端編碼、審查和文件的 Agent。當它們都在同一個框架中建構時,共享程式碼、資源和工程知識就變得更加容易。

開源模型

我們針對開源模型優化了這個技術堆疊。

SWE Agent 在整個組織中運行時,成本會迅速增加。本機編碼、雲端編碼、程式碼審查、文件、排程維護和重複的儲存庫分析都會消耗 token。

開源模型讓我們能更好地控制成本(這是最關鍵的原因)、延遲和部署選擇。它們也讓團隊可以將不同的任務分配給不同的模型、實驗開源編碼模型,甚至可以針對自己的儲存庫和工作流程進行微調。

LangSmith

我們使用 LangSmith 來追蹤這些 Agent。

當 Agent 開啟 PR、留下審查評論或任務失敗時,追蹤記錄會顯示它檢查過的檔案、載入的上下文、進行的工具呼叫,以及在哪裡卡住。

這些追蹤記錄幫助我們偵錯單次運行,並隨著時間改善系統。我們使用它們來識別失敗模式、改進提示、比較模型,並將更高品質的範例饋入 LangSmith Engine 的持續改進工作流程。

Engine 用於編碼 Agent 是一個我們正在實驗的新工作流程:讓 Engine 遍歷編碼 Agent 的追蹤記錄,識別不足之處,並提出優化建議。由於 LangChain 每位員工的每次編碼 Agent 運行都會被追蹤,Engine 能夠從宏觀視角(而非針對個別工程師的追蹤記錄)來識別並執行這些優化。

打造你自己的軟體工程 Agent 工廠

這個技術堆疊反映了我們在 LangChain 使用軟體工程 Agent 的方式,但這些元件都是開源的,因此其他團隊可以加以調整,並對你自己的軟體工廠保留完整控制權。

你可以從小處著手:

  1. 使用 dcode 進行本機編碼。
  2. 加入 OpenSWE 以從 Slack、Linear、GitHub 或網頁 UI 運行編碼 Agent。
  3. 啟用 OpenSWE Review 以進行自動化 PR 審查。
  4. 使用 OpenWiki 為人類和 Agent 維護儲存庫知識。
  5. 將追蹤記錄連接到 LangSmith,以便在整個系統中獲得可觀測性和改進循環。

目標不是將每個工程工作流程都塞進一個 Agent 介面,而是將正確的 Agent 放置到工程工作已經發生的地方,並提供足夠的控制權,讓它們能夠融入你的儲存庫、模型和團隊慣例。

一鍵儲存

使用 YouMind AI 深度閱讀爆款文章

保存原文、追問細節、總結觀點,並在一個 AI 工作空間裡把爆款文章沉澱成可複用筆記。

了解 YouMind
寫給創作者

把你的 Markdown 變成乾淨的 𝕏 文章

圖片上傳、表格、程式碼區塊,往 𝕏 上手動重排太痛苦。YouMind 把整篇 Markdown 一鍵轉成乾淨、可直接發佈的 𝕏 文章草稿。

試試 Markdown 轉 𝕏

更多可拆解樣本

近期爆款文章

探索更多爆款文章