MoFlo: Claude Code를 위한 로컬 우선 에이전트 오케스트레이션
요약
Claude Code의 상태 유지(stateful) 문제를 해결하기 위한 로컬 우선 에이전트 오케스트레이션 툴킷인 MoFlo를 소개합니다. 로컬 벡터 스토어를 통한 의미론적 메모리 구축, 모델 라우팅, 워크플로우 자동화 기능을 제공합니다.
핵심 포인트
- 로컬 SQLite와 HNSW를 활용한 코드베이스 의미론적 인덱싱 지원
- 작업 난이도에 따른 효율적인 모델 라우팅 기능 제공
- 재사용 가능한 워크플로우인 'Spells'와 자동화된 'Hooks' 기능
- 여러 에이전트 간의 협업을 위한 스웜(Swarm) 조정 기능 내장
Claude Code는 제가 사용해 본 코딩 에이전트 중 최고입니다. 하지만 매 세션마다 처음부터 시작합니다. 같은 파일을 반복해서 읽고, 같은 결론을 재도출하며, 터미널을 닫는 순간 모든 것을 잊어버립니다. 코드베이스가 무엇을 의미하는지에 대한 기억도 없고, 지난번에 작동했던 것에서 학습하는 것도 없으며, 작업을 맡기고 매번 동일한 단계가 실행될 것이라고 신뢰할 수 있는 반복 가능한 방법도 없습니다.
**MoFlo**는 이 문제를 해결하기 위한 저의 시도입니다. 프로젝트에 설치하여 Claude Code를 상태 유지(stateful)하고, 방향 잡기가 빠르며, 반복 가능하게 만드는 로컬 우선 오케스트레이션 툴킷입니다. 클라우드 연결이나 API 키, 계정이 필요 없습니다. 한 번의 설치만으로 충분합니다:
npm install --save-dev moflo
npx flo init
이것이 전부입니다. flo init은 훅(hooks), MCP 서버, 의미론적 인덱싱(semantic indexing), 그리고 Claude에게 사용법을 가르치는 CLAUDE.md 섹션을 연결합니다. 다음 세션에는 Claude가 이미 '의미'로 검색 가능한 상태인 프로젝트를 열게 됩니다.
실제 기능 분석
코드에 대한 의미론적 메모리(Semantic memory over your code). MoFlo는 로컬 node:sqlite + HNSW 벡터 스토어와 인트리 임베딩 런타임(in-tree embeddings runtime)을 사용하여 코드베이스, 테스트 및 가이드를 검색 가능한 인덱스로 구축합니다. 이 과정에서 아무것도 기기 외부로 나가지 않습니다. Claude가 무언가가 어디에 있는지 재발견하기 위해 헤매는 대신, 먼저 메모리에 질의합니다: 'X 심볼은 어디에 정의되어 있나요?', 'Y를 커버하는 테스트는 무엇인가요?', 'Z에 대한 우리의 패턴은 무엇인가요?'. 이 인덱스는 점진적입니다. 첫 빌드는 1~2분이 걸리지만, 그 이후의 모든 세션에서는 변경된 부분만 재처리합니다.
학습 모델 라우팅(Learned model routing). 모든 단계에 가장 비싼 모델이 필요하지는 않습니다. MoFlo는 작업에 따라 모델 간 작업을 라우팅할 수 있으며, 특정 작업을 고정하고 싶을 때 에이전트별 오버라이드(per-agent overrides)를 제공합니다 (예: 보안 관련 작업은 절대 다운그레이드하지 않기). 중요한 곳에서는 품질을 유지하고, 필요 없는 곳에서 토큰 소모를 막습니다.
게이트 및 훅(Gates and hooks). 편집 전, 에이전트 생성 전, 세션 시작 시 등 적절한 순간에 작동하는 경량 검사 기능입니다. 이를 통해 사용자가 매번 설명할 필요 없이 프로젝트가 중요하게 생각하는 가이드라인을 지키도록 에이전트를 유지시킵니다.
Spells. 재사용 가능하고 조합 가능한 워크플로우입니다. 동일한 프롬프트 시퀀스를 다시 입력하고 두 번 같은 방식으로 실행되기를 바라는 대신, 다단계 작업을 한 번 정의하고 필요할 때마다 발동(cast)할 수 있습니다.
/flo 스킬. GitHub 이슈를 지정하면 해당 이슈에 대한 작업 분석 및 실행 — 즉, 이슈부터 PR까지의 루프를 단일 명령으로 처리합니다.
스웜 및 하이브 마인드 조정 (Swarm and hive-mind coordination). 과제가 여러 에이전트로부터 진정으로 이점을 얻는 경우, MoFlo에는 단순히 서로 지나가는 병렬 프롬프트가 아니라 여왕/일꾼 계층 구조, 합의(consensus), 공유 메모리 등 실제적인 조정 기능이 내장되어 있습니다.
어디서 왔으며 (그리고 왜 의견이 강한지)
MoFlo는 Claude Flow를 포크하여 시작되었습니다. 해당 프로젝트는 분산 시스템, 엔터프라이즈 오케스트레이션, 리서치 파이프라인 등 광범위하고 강력하며 높은 수준으로 구성 가능한 오케스트레이션 프레임워크입니다. 저의 사용 사례는 그 중 한 구석에 불과했습니다: 단일 프로젝트에서의 일상적인 로컬 코딩 작업입니다. 업데이트를 가져올 때마다 저는 제 설정에 맞춰 동일한 기본값을 재조정하는 자신을 발견했습니다.
그래서 초점을 좁혔습니다. 제가 수동으로 계속 설정하던 기본값들을 내장하고, 인덱싱과 메모리를 세션 시작 시 자동으로 처리하며, npm install 및 flo init만 실행하면 아무것도 구성할 필요 없이 바로 코딩을 할 수 있도록 모든 것을 조정했습니다. 시간이 지나면서 자체 아키텍처를 구축하게 되었고 — node:sqlite + HNSW 메모리 레이어, 인트리 임베딩 런타임, 스펠 엔진, 데몬 기반 스케줄링 — 두 프로젝트는 완전히 분기되었습니다.
이것은 의도된 트레이드오프입니다. MoFlo는 의견이 강합니다 (opinionated). 최대의 구성 가능성을 원한다면 광범위한 프레임워크를 사용해야 할 것입니다. 하지만 실제 코딩 작업에 대해 박스에서 바로 작동하는 로컬 우선(local-first) 설정을 원한다면, 그것이 바로 MoFlo가 구축된 영역입니다.
크로스 플랫폼 및 기본적으로 로컬
사용해 보기
npm install --save-dev moflo
npx flo init
# Claude Code를 열어보세요 — 이미 연결되어 있습니다
- GitHub: github.com/eric-cielo/moflo
- npm: npmjs.com/package/moflo
MIT 라이선스를 따르며 기여에 열려 있습니다. 버그 보고, 문서화, 코드 모두 환영합니다. 한번 사용해 보신다면 GitHub 스타를 눌러주시는 것이 다른 사람들이 이 프로젝트를 발견하는 데 진정으로 도움이 됩니다. 그리고 문제가 발생하면 이슈를 열어주세요. 저는 모든 이슈를 읽고 있습니다.
MoFlo는 제가 Claude Code를 심각하게 사용하기 시작한 날, 가졌기를 바랐던 설정입니다. 만약 당신의 상황도 비슷하다면, 한번 사용해 보세요. 확인하는 데 약 2분밖에 걸리지 않습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기