시각적 LLM 캔버스를 만들었으며, 각 브랜치마다 자체 모델, 프롬프트 및 컨텍스트 설정을 갖습니다.

발행: (2026년 5월 2일 PM 08:31 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

Introduction

ChatGPT와 깊게 대화를 나눌 때마다, 한 갈래가 새로운 질문으로 이어졌습니다. 일반적인 해결 방법은? 새 채팅을 열고 컨텍스트를 수동으로 붙여넣는 것이었죠. 저는 브랜치가 필요했습니다—실제 브랜치 말이죠. 탭이 아니라, 따로 관리해야 하는 스레드도 아닙니다.

그래서 ContextTree를 만들었습니다.

What is ContextTree?

ContextTree는 LLM 대화를 위한 노드 기반 시각 캔버스입니다.

Core Invariant

  • 자식 노드는 직접적인 부모의 프롬프트와 컨텍스트만 상속합니다.
  • 브랜치 간 상태가 섞이지 않습니다.

Honest rule in the codebase:
A child node never reads the parent’s live state — no shared LangGraph.

Key Features

  • 노드별 LLM 모델 (예: 한 브랜치에서는 GPT‑4o, 다른 브랜치에서는 Gemini Flash)
  • 노드별 커스텀 시스템 프롬프트가 해당 노드와 그 자식들에게만 적용
  • 노드별 고급 설정:
    • Temperature
    • Max output tokens
    • History mode
    • Last K messages
    • Context budget in tokens
    • External context chunk count

즉, 하나의 캔버스 안에서 일반 어시스턴트 노드를 만들고, 이를 다른 모델·프롬프트·설정을 가진 전문 어시스턴트로 포크해도 서로 간섭하지 않습니다.

Knowledge vs. State

조상‑스코프 벡터 검색을 통해 자식이 조상의 지식을 가져올 수 있지만, 그들의 실시간 상태는 가져올 수 없습니다. 이 구분이 핵심이었습니다: “지식은 가져오고 상태는 가져오지 않는다.”

SIMILAR_CONTEXT_LIMIT=0   # per node

Open Questions

  • 프롬프트 스택 순서 – 사용자가 레이어 순서를 바꿀 수 있어야 할까요?
  • 노드별 시스템 프롬프트 – 이것만으로 충분한가요, 아니면 사람들은 노드별 RAG 소스를 따로 고정하고 싶어 할까요?
  • 멀티‑LLM 브랜칭 UX – 현재 UI가 충분히 직관적인가요?

Demo

ContextTree Demo on YouTube

Call for Feedback

혼자서 만들었고, 아직 초기 단계입니다. 특히 멀티‑에이전트나 프롬프트 엔지니어링 툴을 구축해 본 분들의 혹독한 피드백을 환영합니다.

0 조회
Back to Blog

관련 글

더 보기 »