← /geode/portfolioGEODE . 문서
GitHub
개요
레퍼런스

4-계층 스택

GEODE 아키텍처는 책임과 교체 경계가 분리된 4개 계층으로 구성됩니다.

Layer 4, Agent      AgenticLoop, while(tool_use), error recovery
Layer 3, Harness    CLI, Gateway, IPC, Hooks, Lifecycle, UI
Layer 2, Runtime    LLM router, providers, prompts, tools, MCP, memory, skills
Layer 1, Model      Anthropic / OpenAI / Codex Plus / GLM (provider fallback chains)

Layer 1 — Model

모델 계층은 외부 네트워크 호출을 가지는 유일한 계층입니다. GEODE 는 3개의 프로바이더 fallback chain 을 사용합니다:

  • Anthropic: Opus 4.7 → Opus 4.6 → Sonnet 4.6 → Haiku 4.5
  • OpenAI Responses / Codex Plus: gpt-5.5 → gpt-5.4 → gpt-5.4-mini → gpt-5-mini
  • GLM: GLM-4.5+ (thinking 필드 활성화)

적응적 thinking depth (effort: low, medium, high, max, xhigh) 는 프로바이더별로 구현이 다르지만 LLM 라우터를 통해 통일된 인터페이스로 노출됩니다.

Layer 2 — Runtime

런타임 계층은 모든 횡단 관심사를 담당합니다: 프롬프트 조립, 도구 레지스트리, MCP 서버 오케스트레이션, 다층 메모리, 스킬 디스커버리, 검증 가드레일. 위 하네스 계층에 단일한 일관된 인터페이스를 제공합니다.

주요 서브시스템 (자세한 내역은 시스템 색인 참조):

  • core/llm/. 프롬프트 + 프로바이더 라우터
  • core/tools/. 도구 레지스트리, 지연 로딩 (상시 로드 티어 포함)
  • core/mcp/. 25K 토큰 결과 가드
  • core/memory/. 5계층 컨텍스트
  • core/hooks/. 라이프사이클 이벤트

Layer 3 — Harness

사용자가 보는 것: CLI, 데몬(geode serve), thin client 와 데몬 사이의 IPC 브릿지, 라이프사이클 부트스트랩, GEODE 의 나머지를 관찰 가능하게 만드는 hook 시스템.

슬래시 명령(/model, /skip, /resume, /clear, /stop, /status) 은 여기에 살며 core/cli/commands.py 에서 dispatch 됩니다.

Layer 4 — Agent

에이전트는 단 하나의 primitive 를 소유하는 얇은 계층: while (response.has_tool_use). core/agent/loop.py AgenticLoop 가 멀티턴 실행을 주도하며, 프롬프트 조립, 도구 실행, 에러 복구를 모두 아래의 런타임 계층에 위임합니다.

루프의 정확한 의미론은 Agentic 루프 참조.

교체 경계

각 계층은 원칙적으로 위 계층을 건드리지 않고 교체 가능합니다:

  • 새 프로바이더 추가 = core/llm/providers/ 에 새 파일 — Layer 1 만
  • 새 도구 추가 = core/tools/ 에 새 도구 정의 — Layer 2 만
  • 새 슬래시 명령 추가 = core/cli/ 에 새 명령 — Layer 3 만
  • 루프 의미 변경은 드문 Layer 4 변경이며 리뷰 게이트를 거칩니다