ThoughtDAG: 通过可编辑图谱管理 LLM 上下文

ThoughtDAG 是一款开源工具,旨在通过将传统的线性聊天界面替换为有向无环图 (DAG),使 LLM 上下文变得可见且可编辑。通过将“连线视为上下文”,ThoughtDAG 允许用户手动修剪无关的对话分支,并精确控制哪些上游节点被包含在模型的请求中,从而防止上下文污染并提高响应准确性。

通过图拓扑实现显式上下文控制

ThoughtDAG 将上下文选择的责任从隐藏的模型记忆或自动检索 (RAG) 转移到了用户手中。在标准的聊天界面中,整个历史记录通常会被发送给模型,这可能导致“污染”的摘要,即无关的离题内容(例如,关于晚餐的闲聊)会渗入到技术研究摘要中。

在 ThoughtDAG 中,每个问题和回答都是图中的一个节点。当用户从特定节点发起请求时,只有通过上游“连线”连接的节点才会被包含在提示词中。这种机制提供了几个关键能力:

  • 上下文修剪: 用户可以删除一条边(连线)以从模型的记忆中移除对话的特定分支,而无需从可视化界面中删除消息。
  • 可复现的上下文: 由于上下文是由图的边显式定义的,用户可以使用相同的提示词但不同的上下文集来重新生成答案,以观察特定信息如何改变输出。
  • Token 检查: 该工具在发送请求之前提供源节点的预览、它们的顺序以及总 token 计数,消除了 LLM 交互中的“隐藏决策”环节。

源溯源与剪辑集成

除了对话历史,ThoughtDAG 还通过剪辑机制集成外部数据。用户可以从 PDF 中选择特定的段落或图表,并将其转换为带有来源链接的节点。这些剪辑的段落保留了它们的溯源信息(例如页码),用户可以将这些特定的证据节点“连线”到对话流中。这可以防止模型在只需要特定推理链中的少数事实时,被整个文档淹没。

技术实现与生态系统

ThoughtDAG 被构建为一个本地优先 (local-first) 应用,具有以下技术规范:

  • 许可: MIT License。
  • 兼容性: 支持 Ollama 和 OpenAI 兼容的端点,从而能够使用本地模型和前沿模型。
  • 数据处理: 本地优先架构以确保用户数据隐私。
  • 功能: 包括语义缩放层级和“编织/压缩 (weave/condense)”功能,以管理大型图谱的可视化复杂度。

社区反馈与批判性分析

Hacker News 上的社区讨论强调了基于图的方法的实用性以及潜在的实现障碍:

工作流与 UX 挑战

一些用户指出界面可能会感觉“卡顿 (janky)”,特别提到了画布平移和侧边栏中包含的消息可见性问题。还有建议认为,对于非技术用户来说,“删除边”可能过于抽象;相反,使用列出节点引用并带有删除按钮的侧边栏可能会更直观。

安全担忧

一位评论者指出了一个与应用程序处理 PDF 处理方式相关的潜在严重安全漏洞。具体而言,使用 execSync 配合 pdftoppm,并结合绑定到 0.0.0.0(所有网络接口)的服务,可能会允许远程 shell 访问宿主机器。

概念收敛

几位开发者注意到 ThoughtDAG 与其他新兴的“上下文编译器”或基于树的决策日志模式趋于一致。一位用户将这种方法比作“粘菌 (physarum slime mold)”,研究人员向所有方向分支,然后仅强化最有希望的路径,同时让无关的分支枯萎。

"移除一条连线会改变模型实际看到的内容,这一点可能并不直观。考虑一下,当有人点击一个节点时,显示一个列出(节点引用)并带有删除按钮的侧边栏,将其重新构思为‘这个回答知道关于我的什么信息’,而不是‘编辑图谱’。"

"我正在测试显式上下文控制对于长期研究是否有用,或者大多数人是否更倾向于将记忆选择委托给检索。"

Sources

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch