ThoughtDAG: 透過可編輯圖表管理 LLM 上下文

ThoughtDAG 是一款開源工具,旨在透過將傳統的線性聊天介面替換為有向無環圖 (DAG),使 LLM 上下文變得可見且可編輯。藉由將「線路視為上下文」 (wires as context),ThoughtDAG 允許使用者手動修剪不相關的對話分支,並精確控制哪些上游節點會被包含在模型的請求中,從而防止上下文污染並提高回應準確度。

透過圖形拓撲進行顯式上下文控制

ThoughtDAG 將上下文選擇的責任從隱藏的模型記憶或自動檢索 (RAG) 轉移給使用者。在標準的聊天介面中,整個歷史紀錄通常會發送給模型,這可能導致「污染」的摘要,例如不相關的離題話題(例如關於晚餐的閒聊)會滲透到技術研究摘要中。

在 ThoughtDAG 中,每個問題和回答都是圖表中的一個節點。當使用者從特定節點發起請求時,只有透過上游「線路」連接的節點會被包含在提示詞 (prompt) 中。這種機制提供了幾項關鍵能力:

  • 上下文修剪: 使用者可以刪除一條邊 (wire) 以從模型的記憶中移除特定對話分支,而無需從視覺化介面中刪除該訊息。
  • 可重現的上下文: 由於上下文是由圖表的邊明確定義的,使用者可以使用相同的提示詞但不同的上下文集合來重新生成回答,以觀察特定資訊如何改變輸出。
  • Token 檢查: 在發送請求之前,該工具提供了來源節點、其順序以及總 Token 數量的預覽,消除了 LLM 互動中的「隱藏決策」面向。

來源溯源與剪輯整合

除了對話歷史之外,ThoughtDAG 還透過剪輯機制整合外部數據。使用者可以從 PDF 中選擇特定的段落或圖表,並將其轉換為具備來源連結的節點。這些剪輯的段落會保留其溯源資訊(例如頁碼),使用者可以將這些特定的證據節點「連線」到對話流程中。這可以防止模型在只需要特定推理鏈中的少數事實時,被整個文件 overwhelming (過度負荷)。

技術實作與生態系統

ThoughtDAG 是以「本地優先」 (local-first) 為架構構建的應用程式,具有以下技術規格:

  • 授權: MIT License。
  • 相容性: 支援 Ollama 和 OpenAI-compatible endpoints,能夠同時使用本地模型和前沿模型。
  • 數據處理: 本地優先架構以確保使用者數據隱私。
  • 功能: 包括語義縮放層級 (semantic zoom tiers) 以及「編織/濃縮」 (weave/condense) 功能,以管理大型圖表的視覺複雜度。

社群回饋與批判性分析

Hacker News 上的社群討論強調了基於圖形的方法的實用性以及潛在的實作障礙:

工作流與 UX 挑戰

一些使用者指出介面可能會感覺「卡頓」 (janky),特別是提到畫布平移 (canvas panning) 和側邊欄中包含訊息的可見度問題。也有建議認為,對於非技術使用者來說,「刪除邊」可能太過抽象;相反,使用列出節點引用並帶有移除按鈕的側邊欄可能會更直觀。

安全疑慮

一位評論者指出了一個與應用程式處理 PDF 處理方式相關的潛在關鍵安全漏洞。具體來說,使用 execSync 搭配 pdftoppm 並結合綁定到 0.0.0.0 (所有網路介面) 的伺服器,可能會允許遠端 shell 存取主機。

概念收斂

幾位開發者指出,ThoughtDAG 與其他新興的「上下文編譯器」 (context compilers) 或基於樹狀結構的決策日誌模式趨於一致。一位使用者將這種方法比作「黏菌」 (physarum slime mold),研究人員向所有方向分支,然後僅強化最有希望的路徑,同時讓無關的分支枯萎。

"移除一條線路會改變模型實際看到的內容,這個想法可能並不直觀。考慮一下,當有人點擊一個節點時,顯示一個列出 (節點引用) 並帶有移除按鈕的側邊欄,將其重新框架化為『這個回答知道關於我的什麼資訊』對比『編輯圖表』。"

"我正在測試顯式上下文控制對於長期研究是否有用,或是大多數人更傾向於將記憶選擇委派給檢索。" }

Sources

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • Dispatch