我构建了一个可视化 LLM 画布,每个分支都有自己的模型、提示词和上下文设置

发布: (2026年5月2日 GMT+8 19:31)
3 分钟阅读
原文: Dev.to

Source: Dev.to

Introduction

每次我在 ChatGPT 上深入探讨一个话题时,总会有一个分支引出新的询问方向。标准的变通办法是什么?打开一个新聊天并手动粘贴上下文。我想要 分支——真实的分支。不是标签页,也不是需要来回切换的独立线程。

于是我构建了 ContextTree

What is ContextTree?

ContextTree 是一个基于节点的 LLM 对话可视化画布。

Core Invariant

  • 子节点只继承 直接父节点 的提示词和上下文。
  • 分支之间的状态不会相互污染。

Honest rule in the codebase:
子节点永远不会读取父节点的实时状态——没有共享的 LangGraph。

Key Features

  • 每个节点的 LLM 模型(例如,一个分支使用 GPT‑4o,另一个分支使用 Gemini Flash)。
  • 每个节点的自定义系统提示词,仅在该节点及其子节点范围内生效。
  • 每个节点的高级设置
    • 温度
    • 最大输出 token 数
    • 对话历史模式
    • 最近 K 条消息
    • Token 预算的上下文限制
    • 外部上下文块计数

这意味着在同一个画布上,你可以拥有一个通用助理节点,然后将其分叉为使用不同模型、提示词和设置的专用助理节点,彼此之间互不干扰。

Knowledge vs. State

基于祖先范围的向量搜索让子节点能够检索 知识,但不会获取其祖先的实时状态。这一点至关重要:“知识而非状态”。

SIMILAR_CONTEXT_LIMIT=0   # per node

Open Questions

  • 提示堆栈顺序 – 用户是否应该能够重新排列层级?
  • 每个节点的系统提示词 – 这是否足够,还是用户希望对每个节点的 RAG 来源进行不同的固定?
  • 多 LLM 分支的用户体验 – 当前的交互是否足够直观?

Demo

ContextTree Demo on YouTube

Call for Feedback

单人独立构建,仍处于早期阶段。欢迎严厉的反馈——尤其是来自构建过多代理或提示工程工具的朋友们。

0 浏览
Back to Blog

相关文章

阅读更多 »