Skip to content

mangowhoiscloud/geode

Repository files navigation

GEODE — Autonomous Execution Harness

while(tool_use) Opus 4.6 47 Tools LangGraph CI

GEODE v0.30.0 — Autonomous Execution Harness

범용 자율 실행 에이전트. 자연어 한 줄로 리서치, 분석, 자동화, 스케줄링을 수행합니다.

생산: Claude Code Scaffold(CLAUDE.md + 개발 Skills + CI Hooks)가 GEODE를 만듭니다. 실행: GEODE(while(tool_use) 루프)가 47 도구 + 44 MCP 중에서 자율 선택하고, 36개 런타임 Hook이 라이프사이클을 제어하고, 5-Layer Verification이 출력을 검증합니다.

Quick Start

# REPL (대화형)
uv sync && uv run geode

# Slack 헤드리스 데몬
geode serve

# Claude Code에서 설치 (Scaffold 활용)
git clone https://github.com/mangowhoiscloud/geode.git
cd geode && uv sync

API 키 없이 시작하면 dry-run 모드로 자동 전환됩니다. geode serve는 CLI 없이 Slack 채널에서 에이전트를 운용합니다. 최초 설정: cp .geode/config.toml.example .geode/config.toml → 채널 ID 입력. Slack Gateway 설정 → 상세 설치는 Setup Guide를 참고하세요.


GEODE in Action

❯ 나와 어울리는 채용 공고 찾아줘
● AgenticLoop  ✢ glm-5 · ↓8.2k ↑185 · $0.006
  3건의 채용 공고를 찾았습니다.
  • ML Engineer — LangGraph 경험 우대
  • Agent Platform Lead — Python, 자율 실행
  • AI Infra — Kubernetes + LLM Ops
  3 rounds · 2 tools · ~4s
❯ arXiv에서 RAG 관련 최신 논문 찾아서 요약해줘
● AgenticLoop  ✢ claude-opus-4-6 · ↓12.4k ↑890 · $0.084
  5편의 논문을 찾아 요약했습니다.
  1. GraphRAG: Knowledge Graph + Retrieval (2026-03)
  2. Adaptive Chunking for Long-Context RAG (2026-02)
  ...
  5 rounds · 3 tools · ~12s
❯ Berserk IP 분석해줘
▸ analyze_ip(ip_name="Berserk")
✓ analyze_ip → S · 81.3 · conversion_failure
  Dark Fantasy 장르의 강력한 팬덤과 게임 적합성.
  전환 최적화에 집중하면 상업적 성공 가능성 높음.
  9 nodes · 8 LLM calls · ~45s

Highlights

기능 설명
while(tool_use) Loop 모든 자율 행동의 핵심 프리미티브. 서브에이전트, 계획 실행, 배치 분석 전부 AgenticLoop 인스턴스
47 Tools + MCP 네이티브 47개 도구 + MCP 카탈로그 44종 자동 설치. Bash 실행 (41종 자동승인, 9종 차단)
Sub-Agent 부모 역량 전체 상속, 최대 5 병렬, Token Guard, DAG 의존성
Multi-Provider LLM Anthropic + OpenAI + ZhipuAI 3-provider failover chain
4-Tier Memory SOUL → User Profile → Organization → Project → Session
.geode/ Context 프로젝트-로컬 영속 저장소 — journal, vault, rules, cache
Domain Plugin DomainPort Protocol로 파이프라인 교체 — Game IP 분석 기본 탑재
Scaffold (생산) Claude Code + CLAUDE.md(428줄) + 개발 Skills + CI Hooks — GEODE를 만드는 제어 구조
20 Runtime Skills .geode/skills/ — 도메인별 지식을 프롬프트로 주입. 파이프라인, 스코어링, 검증, 아키텍처 패턴 등
36 Runtime Hooks 파이프라인/노드/검증/메모리/서브에이전트 라이프사이클 이벤트 — GEODE 런타임 제어
5-Layer Verification Guardrails G1-G4 + BiasBuster + Cross-LLM(Krippendorff α ≥ 0.67) + Confidence Gate + Rights Risk
Safety 4-tier HITL(SAFE/STANDARD/WRITE/DANGEROUS), 9종 bash 차단, PolicyChain 6-layer

Scaffold

두 가지 제어 계층이 있습니다.

Scaffold (생산 체계): Claude Code + CLAUDE.md + 개발 Skills + CI Hooks. GEODE의 코드를 생산하고 품질을 보장하는 외부 하네스.

GEODE Runtime (에이전트): while(tool_use) 루프 + 47 도구 + 20 런타임 Skills + 36 런타임 Hooks + 5-Layer Verification. 자율 실행하는 에이전트의 내부 시스템.

Project Structure

geode/
├── core/                          # 202 modules, 6-Layer Architecture
│   ├── agent/                     # L0: AgenticLoop, ToolCallProcessor, SubAgentManager
│   ├── cli/                       # L0: REPL, Commands, UI
│   ├── infrastructure/            # L1: Port/Adapter (Claude, OpenAI, GLM, MCP)
│   ├── memory/                    # L2: 4-Tier Memory, Context Assembly, User Profile
│   ├── orchestration/             # L3: HookSystem(36), TaskGraph, PlanMode, Queue
│   ├── tools/                     # L4: 47 Tool Definitions + Handlers
│   ├── skills/                    # L4: Skill Templates
│   ├── mcp/                       # L4: MCP Catalog(44) + Manager
│   ├── domains/game_ip/           # L5: Game IP Domain Plugin (7 pipeline nodes)
│   ├── gateway/                   # Slack Gateway (geode serve)
│   ├── llm/                       # LLM Client + Prompts
│   └── verification/              # Guardrails, BiasBuster, Cross-LLM
├── tests/                         # 3202+ tests
├── docs/                          # Architecture, Workflow, Plans
│   ├── architecture.md            # 6-Layer + Mermaid diagrams
│   ├── workflow.md                # CANNOT/CAN, GitFlow, Kanban
│   ├── setup.md                   # Installation, API keys, Slack
│   └── progress.md                # Kanban board (multi-agent shared)
├── .geode/                        # Project-local agent context
├── CLAUDE.md                      # Agent behavior rules (SOT)
└── pyproject.toml                 # uv package config

Architecture details → | Full source tree →

.geode/ -- Agent Context Lifecycle

graph LR
    Init["geode init"] --> J["journal/<br/>runs + errors<br/>(append-only)"]
    Init --> M["memory/<br/>PROJECT.md<br/>(max 50, rotate)"]
    Init --> R["rules/<br/>domain rules<br/>(auto-generated)"]
    Init --> V["vault/<br/>reports, research<br/>(permanent)"]
    Init --> C["result_cache/<br/>SHA-256 + 24h TTL"]

    style Init fill:#1e293b,stroke:#3b82f6,color:#e2e8f0
    style J fill:#1e293b,stroke:#10b981,color:#e2e8f0
    style M fill:#1e293b,stroke:#f59e0b,color:#e2e8f0
    style R fill:#1e293b,stroke:#8b5cf6,color:#e2e8f0
    style V fill:#1e293b,stroke:#ec4899,color:#e2e8f0
    style C fill:#1e293b,stroke:#06b6d4,color:#e2e8f0
Loading

core/ -- 6-Layer Architecture

graph LR
    L0["L0 CLI & Agent<br/>AgenticLoop, SubAgent"] --> L1["L1 Infra<br/>Port/Adapter DI"]
    L0 --> L3["L3 Orchestration<br/>Hooks, TaskGraph"]
    L0 --> L4["L4 Extensibility<br/>Tools(47), MCP(44)"]
    L4 --> L5["L5 Domain<br/>DomainPort Plugin"]
    L0 --> L2["L2 Memory<br/>4-Tier + Checkpoint"]

    style L0 fill:#1e293b,stroke:#3b82f6,color:#e2e8f0
    style L1 fill:#1e293b,stroke:#10b981,color:#e2e8f0
    style L2 fill:#1e293b,stroke:#8b5cf6,color:#e2e8f0
    style L3 fill:#1e293b,stroke:#f59e0b,color:#e2e8f0
    style L4 fill:#1e293b,stroke:#ef4444,color:#e2e8f0
    style L5 fill:#1e293b,stroke:#06b6d4,color:#e2e8f0
Loading
Layer 핵심 진입점
L0 CLI, AgenticLoop, SubAgentManager core/cli/agentic_loop.py
L1 Protocol ports + contextvars DI core/infrastructure/ports/
L2 SOUL → User → Org → Project → Session core/memory/
L3 HookSystem(36), TaskGraph DAG, PlanMode core/orchestration/
L4 ToolRegistry(47), MCP Catalog(44), Skills core/tools/
L5 DomainPort Protocol, GameIPDomain core/domains/

Architecture details →

GitFlow + Worktree

alloc → own(.owner) → execute(isolated) → free(worktree remove)
feature/<task> ──PR──▸ develop ──PR──▸ main

CI Ratchet — 5-Job Gate

PR은 CI 5개 Job이 모두 통과해야 머지됩니다. 실패 시 Claude Code가 자동으로 원인을 분석하고 수정한 뒤 재시도합니다. 사람이 개입하지 않아도 pytest, mypy, ruff, import-order, test-count 게이트를 반복적으로 통과할 때까지 루프합니다.

테스트 수는 단조증가만 허용됩니다(Ratchet). 기존 테스트를 삭제하면 CI가 거부합니다. 이 구조 덕분에 436 PR을 24 세션에 걸쳐 머지하면서 회귀를 한 건도 발생시키지 않았습니다.

while CI fails:
    Claude Code → analyze failure → fix → push → re-run CI
Job 역할 실패 시
pytest 3,202 테스트 전체 실행 실패 테스트 자동 수정 후 재시도
mypy 타입 체크 strict 모드 타입 힌트 추가 후 재시도
ruff 린트 + 포매팅 auto-fix 적용 후 재시도
import-order 임포트 정렬 검증 isort 적용 후 재시도
test-count 테스트 수 단조증가 검증 삭제된 테스트 복원 또는 대체 작성

3-Checkpoint: (1) alloc (Backlog→In Progress) → (2) merge (PR→Done, CI 5/5 필수) → (3) verify (다음 세션 시작 시 이전 상태 교차 검증)

Development Workflow (Scaffold) →

Kanban (docs/progress.md)

Backlog → In Progress → In Review → Done

main-only 수정. 3-Checkpoint 필수. TaskCreate ↔ 칸반 task_id 1:1 매핑.

Kanban rules →


Architecture Overview

6-Layer Architecture + while(tool_use) Agentic Loop + Sub-Agent System + 4-Tier Memory.

모든 상세 내용과 Mermaid 다이어그램은 Architecture 문서를 참고하세요.

주요 구성:

  • Agentic Loop: Claude Opus 4.6 기반 while(tool_use) 루프. max 50 rounds, 1M context.
  • Tool Hierarchy: Built-in(47) + MCP(44) + Bash. 4-tier safety (SAFE/STANDARD/WRITE/DANGEROUS).
  • Sub-Agent: 부모 역량 전체 상속, MAX_CONCURRENT=5, Token Guard.
  • Memory: SOUL → User Profile → Organization → Project → Session. ContextAssembler 280자 압축.
  • Domain Plugin: DomainPort Protocol로 파이프라인 교체. Game IP 기본 탑재 (LangGraph 9-node).
Development Workflow (Scaffold)

CANNOT(가드레일)이 CAN(자유도)보다 먼저 온다. 7단계 워크플로우 + 품질 게이트.

모든 상세 내용은 Workflow 문서를 참고하세요.

Quality Gates:

Gate Command Target
Lint uv run ruff check core/ tests/ 0 errors
Type uv run mypy core/ 0 errors
Test uv run pytest tests/ -q 3202+ pass
E2E uv run geode analyze "Cowboy Bebop" --dry-run A (68.4)
Why -- 왜 만들었는가

문제. 2026년 현재, AI 코딩 에이전트는 눈부시게 발전했습니다. 코드를 읽고, 쓰고, 고치고, 테스트까지 자율적으로 수행합니다. 그런데 실제 업무에서 코딩이 차지하는 비중은 얼마나 될까요? 리서치, 문서 분석, 일정 관리, 알림 전송, 데이터 파이프라인, 의사결정을 위한 다축 평가 -- 코딩 이외의 자율 실행이 필요한 영역이 훨씬 넓습니다.

인사이트. 그런데 이 모든 자율 행동의 핵심은 놀라울 만큼 단순합니다. LLM이 도구를 호출하고, 결과를 관찰하고, 다음 행동을 결정하는 while(tool_use) 루프. Claude Code, Codex, OpenClaw -- 프론티어 하네스들이 모두 이 프리미티브 위에 서 있습니다.

출발점. GEODE는 넥슨 AI 엔지니어 과제에서 시작했습니다. 게임 IP의 저평가 여부를 추론하는 단방향 LLM/ML 기반 DAG -- 과제는 합격했지만, 이 파이프라인은 에이전트가 아니라 워크플로우였습니다.

전환. 그래서 IP 분석 파이프라인 전체를 DomainPort Protocol 뒤의 플러그인으로 내렸습니다. 그리고 그 위에 범용 자율 실행 하네스를 올렸습니다. while(tool_use) 루프 하나로 리서치, 분석, 자동화, 스케줄링을 수행하는 에이전트. 도메인은 교체 가능한 플러그인이고, 하네스는 도메인을 가리지 않습니다.


License

Apache License 2.0 — LICENSE

About

GEODE v0.29.0 — 범용 자율 실행 에이전트 하네스 · Claude Code Scaffold 기반 생산 · while(tool_use) 자율 실행 루프 · 20 Runtime Skills · 36 Runtime Hooks · 5-Layer Verification · 3-Provider Resilience

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages