본문 바로가기

이 포트폴리오의 원본은 https://ai.iruyo.com (심재빈) 입니다 · 출처 식별자 jbx-7f3a2e9b

← 개인 프로젝트

Multi-Agent Harness 진행중 단독 AI 페어 코딩

Glimi — 프레임워크 없는 멀티에이전트 런타임 커널

LangGraph·AutoGen 같은 프레임워크 없이 만든 의존성 0 멀티에이전트 런타임 커널입니다. 기억을 DB에 영속화해 모델을 바꿔도(Claude↔로컬 Llama) 인격이 이어지고, 품질은 git에 EDD로 추적합니다.

기간
2026.04 – 진행 중 · 4개월
본인 역할
설계·구현·운영·배포 전 과정을 맡았습니다. 커널 추출, 플랫폼 디커플링, EDD 품질 시스템, 라이브 데모 운영까지 포함됩니다.
정량 임팩트
11주·780커밋 동안 5,000줄 모놀리스에서 의존성 0 커널을 추출했습니다. 같은 커널을 성격이 완전히 다른 두 도메인에 그대로 올려(코드 import 0) 도메인 비종속을 코드로 증명했습니다. 품질은 EDD로 git에 세대 기록해, 회귀를 숨기지 않고 PASS까지 끌어올렸습니다.
버전·릴리즈
alpha 0.1.0 · AGPL-3.0

링크

언어

  • Python3
  • TypeScript
  • JavaScript
  • Shell

기술

  • Multi-Agent
  • LLM
  • FastAPI
  • SQLite
  • WebSocket
  • SSE
  • Jinja2
  • Cytoscape.js
  • ollama
  • Claude CLI
  • LLM-as-judge
  • RAG
  • pytest
  • GitHub Actions CI
  • Cloudflare Tunnel

환경

  • Claude Code
  • VSCode
  • macOS
  • Cloudflare
  • Ollama

Glimi는 LangGraph·AutoGen 같은 멀티에이전트 프레임워크 없이 만든 의존성 0 런타임 커널(Glimi Core) 과, 그 위에 올린 두 앱으로 구성됩니다. 각 에이전트의 기억을 데이터베이스에 영속화해 세션이 끊기거나 모델을 바꿔도(Claude ↔ 로컬 Llama) 관계·사실·기억이 그대로 이어집니다. 상태는 프롬프트가 아니라 저장소에 있고, 모델은 그 저장소를 읽는 인터페이스일 뿐입니다. 단일 AGPL 모노레포이며, 커널의 실제 동작을 검증하는 오픈소스 쇼케이스입니다.

어떻게 시작했나

출발점은 “혼자 일하는 시간을 줄이는 법”이었습니다. 자취방의 귀차니즘을 음성 제어로 풀고(IntentCP), 흩어진 사내 정보를 로컬 RAG로 묶으면서, 다음은 저와 같은 맥락을 가진 ‘AI 팀원’이라는 생각에 닿았습니다. 제가 자리를 비워도 시스템이 제 방향으로 굴러가게 하는 것. 그것이 Glimi의 목표입니다. 2026-04-04 ‘Project Chaos’ 단일 커밋(12,119줄)에서 시작해 이튿날 Glimi로 개명했고, 11주 동안 ‘하나의 제품 → 플랫폼 → 커널’로 초점을 옮겼습니다.

전환 과정의 서사와 디버깅 기록(웹 턴이 동작하지 않던 런타임 버그)은 기술 블로그 의존성 없는 멀티에이전트 런타임 구현에 정리했습니다. 이 카드는 Glimi의 구조와 동작에 집중합니다.

핵심 지표

기간·규모11주 · 780커밋 (첫 커밋 12,119줄, 그중 5,000줄 모놀리스에서 커널 추출)
구조의존성 0 커널 + 앱 2 (community · workspace)
백엔드Claude · 로컬 Ollama · Grok (vLLM·llama.cpp 예정)
품질 추적EDD — 커밋 단위 품질 점수(0–100)를 git에 세대로 기록

Glimi Community 대시보드 — 관계 그래프·에이전트별 감정/모델·활동

무엇으로 이루어지나

Glimi Core — 커널. 앱·DB·Discord를 전혀 모르는 중립 런타임입니다. 앱이 저장소·프로필·관찰자를 어댑터로 주입(DI)하면 커널은 그 인터페이스만 인식합니다. 중심은 6단 기억(L0–L5) 입니다 — 원본 대화(L0), 최근 작업 창(L1), 에피소드 요약(L2), 의미 사실(L3, 낡은 사실은 시점으로 폐기하는 supersession), 관계(L4), 고정 기억(L5). 매 턴 토큰 예산에 맞춰 기억을 조정해(Elastic Memory), 로컬 모델의 좁은 창(4096)에서도 클라우드의 넓은 창에서도 인격이 유지됩니다.

한 커널, 두 도메인. 같은 커널이 성격이 다른 두 앱에서 그대로 돕습니다. 두 앱 사이 코드 import는 0입니다. 커널이 특정 도메인에 묶이지 않았다는 코드 수준의 증명입니다.

  • Glimi Workspace — 업무 팀. Coordinator가 Researcher·Builder·Critic에게 일을 나눕니다. 결과물은 마크다운으로 내고, 중요한 결정 앞에는 사람이 승인하는 게이트를 둡니다(HITL).

  • Glimi Community — AI 친구. 각자 성격·기억·관계를 지닌 AI 친구들이 사는 커뮤니티입니다. 기억·채널 시스템이 맞물려 한 채널의 맥락이 다른 채널로 자연스럽게 번집니다. 예를 들어 친구 A에게 한 말이, 인용 없이 친구 B의 답에 맥락으로 반영됩니다.

품질을 코드처럼 추적 (EDD)

멀티에이전트 제품은 인상으로 증명되지 않습니다. 자율 오너 에이전트(스크립트가 아닌 페르소나)가 앱을 온보딩부터 핵심 흐름까지 직접 구동·채점하고, 0–100 점수를 매겨 git-SHA로 앵커된 ‘세대’ 로 커밋합니다(eval-driven development). git log가 측정된 품질의 타임라인이 됩니다. ‘친구 생성’은 critical 항목이라 0이면 다른 점수가 높아도 그 세대는 FAIL입니다.

11세대는 회귀를 숨기지 않고 그대로 남깁니다. gen-1(69.4 FAIL)에서 시작해 gen-5에서 PASS(77.5, 친구 생성 0→10) 했지만 안정화 전이라 gens 6–10에서 회귀했고(gen-8은 22.2까지), gen-11에서 PASS하며 최고점 85를 받았습니다. 하네스가 매번 0점을 가리킨 곳을 수정하자 점수가 예고대로 움직였습니다.

EDD 대시보드 — 세대별 품질 점수, 회귀까지 git에 기록

지금 상태

백엔드는 Claude·로컬 Ollama·Grok을 지원하고(vLLM·llama.cpp는 예정) 완전 로컬로 돌리면 비용이 들지 않습니다. 아직 알파(0.1.0, PyPI 미배포)이며, glimi.iruyo.com에서 로그인 없이 둘러보거나 소스를 내려받아 설치할 수 있습니다.