OpenFang: Python 래퍼가 아니라 Rust로 처음부터 지은 에이전트 운영체제

RightNow-AI가 오픈소스로 공개한 OpenFang의 5개 크레이트 아키텍처, 7개 자율 Hand, 16개 보안 시스템, Rust 선택 이유와 활용 시나리오를 정리한다.

2026-08-14 · 최초 발행 2026-03-13

AI 에이전트 프레임워크가 대부분 Python 기반 LLM 래퍼 수준에 머물러 있는 가운데, Rust로 처음부터 구축한 풀스택 에이전트 운영체제가 등장했다. OpenFang은 챗봇 프레임워크도, Python LLM 래퍼도 아닌, 자율 에이전트를 위한 완전한 운영체제를 표방한다. 137K 줄의 Rust 코드, 14개 크레이트, 1,767개 이상의 테스트로 구성된 이 프로젝트는 단일 32MB 바이너리로 컴파일되며, 180ms 콜드 스타트와 40MB 유휴 메모리를 실현한다.

OpenFang란 무엇인가

OpenFang(오픈팡)은 RightNow-AI가 개발한 오픈소스 에이전트 운영체제로, MIT 라이선스로 GitHub에 공개됐다. 핵심 설계 철학은 명확하다. 자율 에이전트가 스케줄에 따라 24시간 독립적으로 작동하고, 결과를 대시보드에 보고하는 완전한 실행 환경을 제공하는 것이다.

Python 기반 에이전트 프레임워크들이 LLM API 호출을 추상화하는 레이어에 머무는 것과 달리, OpenFang은 에이전트 루프, 도구 실행 샌드박스, 채널 통신, 메모리 관리, 보안 시스템을 하나의 바이너리에 통합한다. v1.0은 2026년 중반을 목표로 하며, 현재는 첫 번째 공개 릴리스로 기능 완성 상태다.

핵심 수치:

항목 수치
코드 라인 수 137,728줄
Rust 크레이트 14개
테스트 수 1,767개+
바이너리 크기 ~32MB
콜드 스타트 180ms
유휴 메모리 40MB
지원 LLM 공급자 26개 (50+ 모델)
채널 어댑터 40개
내장 보안 시스템 16개

5개 크레이트로 나뉜 아키텍처

OpenFang의 아키텍처는 명확하게 분리된 5개의 핵심 크레이트로 구성된다.

OpenFang 단일 바이너리 (~32MB)사용자 / 외부 채널(Telegram, Discord, Slack 40개)openfang-api140+ REST/WS/SSE엔드포인트OpenAI 호환 API · 대시보드openfang-kernel오케스트레이션 · 워크플로우RBAC · 스케줄러 · 예산 추적openfang-runtime에이전트 루프 · LLM 드라이버3종53개 도구 · WASM 샌드박스MCP · A2Aopenfang-channels40개 메시징 어댑터레이트 리밋 · 출력 포맷openfang-memorySQLite 영속성벡터 임베딩 · 자동 컴팩션LLM 공급자(Anthropic, OpenAI,Gemini, Groq, DeepSeek26개)

openfang-kernel: 전체 시스템의 오케스트레이터. 워크플로우 실행, 역할 기반 접근 제어(RBAC), 스케줄러, 예산 추적(토큰/비용 관리)을 담당한다.

openfang-runtime: 에이전트 실행의 핵심 엔진. 에이전트 루프, 3종 LLM 드라이버, 53개 내장 도구, WASM 샌드박스, MCP(Model Context Protocol), A2A(Agent-to-Agent) 통신을 통합한다.

openfang-api: 140개 이상의 REST/WebSocket/SSE 엔드포인트와 OpenAI 호환 API를 제공한다. 기존 OpenAI 클라이언트 코드를 수정 없이 OpenFang에 연결할 수 있다.

openfang-channels: Telegram, Discord, Slack, WhatsApp, Teams, IRC, Matrix 등 40개 메시징 플랫폼에 대한 어댑터를 제공한다. 채널별 모델 오버라이드, DM/그룹 정책, 레이트 리밋, 출력 포맷팅을 지원한다.

openfang-memory: SQLite 기반 영속 스토리지에 벡터 임베딩을 결합한다. 채널 간 캐노니컬 세션을 유지하며, 컨텍스트 윈도우 효율화를 위한 자동 LLM 기반 컴팩션(오래된 대화 요약)을 수행한다.

스스로 움직이는 7개 Hand

OpenFang의 핵심 기능 단위는 "Hand(핸드)"로, 사전 구축된 자율 에이전트 패키지다. 스케줄에 따라 독립적으로 실행되며 결과를 대시보드에 보고한다.

Hand 역할
Clip 콘텐츠 수집 및 큐레이션
Lead 리드 데이터 수집 및 관리
Collector 인텔리전스 수집 (모니터링)
Predictor 예측 및 예보
Researcher 리서치 자동화 (생산성)
Twitter 소셜 미디어 커뮤니케이션
Browser 브라우저 자동화

각 Hand는 자체 스케줄과 설정을 가지며, 지식 그래프를 구축하고 대시보드로 결과를 집계한다. 사용자는 기존 Hand를 조합하거나 새로운 Hand를 추가할 수 있다.

16개 시스템이 겹겹이 지키는 보안

OpenFang의 보안 설계는 "사후 보안 추가"가 아닌 아키텍처 수준의 다층 방어를 채택한다.

샌드박스 레이어: 모든 도구 코드를 WebAssembly 샌드박스에서 실행하는 WASM 이중 미터링 샌드박스는 연료(computational resources)와 에포크 인터럽션을 동시에 추적해 무한 루프 시 프로세스를 안전하게 종료한다. 외부 프로세스 실행 시에는 서브프로세스 격리로 완전히 분리한다.

인증 및 무결성 레이어: Ed25519 매니페스트 서명으로 에이전트 매니페스트 위변조를 방지하고, Merkle 해시체인 감사 로그로 모든 에이전트 행동을 변경 불가능하게 기록하며, HMAC-SHA256 상호 인증으로 서비스 간 통신을 보호한다.

런타임 보안 레이어: 외부 입력 데이터의 흐름을 추적하는 테인트 추적(Taint tracking), 서버 사이드 요청 위조를 막는 SSRF 보호, 사용 후 메모리의 민감 데이터를 즉시 소거하는 시크릿 제로화(Secret zeroization), 채널별 정밀 레이트 제한을 거는 GCRA 레이트 리미터, 악의적 프롬프트 삽입을 탐지하는 프롬프트 인젝션 스캐너가 여기 속한다.

16개 시스템이 상호 중첩돼 하나의 시스템 실패가 다른 시스템에 의해 포착되는 방어 심층(defense-in-depth) 구조를 형성한다.

왜 Python이 아니라 Rust인가

Python 기반 에이전트 프레임워크들과 비교할 때 Rust 선택의 실질적 이점은 다음과 같다.

메모리 안전성: GC 없이 컴파일 타임에 메모리 안전성을 보장한다. 에이전트가 24시간 실행되는 환경에서 메모리 누수와 댕글링 포인터를 원천 차단한다.

단일 바이너리: 14개 크레이트가 하나의 실행 파일로 컴파일되어 의존성 없는 배포가 가능하다. apt install, pip install 없이 바이너리 복사만으로 배포가 완료된다.

예측 가능한 성능: GC 중단(stop-the-world) 없이 일관된 레이턴시를 제공한다. 에이전트 루프가 예측 불가한 지연 없이 실행된다.

WASM 생태계 활용: Rust는 WebAssembly 컴파일 지원이 최고 수준이다. OpenFang의 도구 샌드박스가 WASM을 기반으로 구현된 것은 자연스러운 선택이다.

비교 항목 Python 기반 프레임워크 OpenFang (Rust)
콜드 스타트 수초 180ms
유휴 메모리 수백MB 40MB
배포 방식 의존성 관리 필요 단일 바이너리
메모리 안전 런타임 GC 컴파일 타임 보장
샌드박스 제한적 WASM 이중 미터링

26개 공급자, MCP와 A2A까지

OpenFang은 26개 LLM 공급자의 50개 이상 모델을 지원한다. Anthropic Claude 시리즈, OpenAI GPT 시리즈, Google Gemini 시리즈, Groq의 고속 추론 모델, DeepSeek 시리즈를 포함해 21개 공급자가 더 있다.

프로토콜 측면에서는 MCP(Model Context Protocol)와 A2A(Agent-to-Agent)를 기본 지원해 외부 도구 생태계 및 멀티에이전트 협업과의 연동이 가능하다. OpenAI 호환 API를 제공해 기존 OpenAI 클라이언트 코드를 수정 없이 연결할 수 있다.

어디에 쓰이는가

24/7 자율 모니터링: Collector Hand로 특정 키워드, 도메인, 소셜 피드를 지속 모니터링하고 이상 징후를 자동 리포트한다.

자동화된 리서치 파이프라인: Researcher Hand가 주기적으로 특정 주제를 조사하고, Lead Hand와 연동해 관련 데이터를 수집·구조화한다.

멀티채널 에이전트 배포: 동일한 에이전트를 Telegram 봇, Discord 서버, Slack 워크스페이스에 동시 배포하되 채널별로 다른 LLM 모델과 응답 형식을 적용한다.

온프레미스 에이전트 인프라: 단일 바이너리 특성상 클라우드 의존 없이 사내 서버에 직접 배포 가능하다. 금융·의료 등 데이터 외부 반출이 제한된 환경에 적합하다.

OpenFang은 에이전트 프레임워크가 "LLM 호출 추상화" 수준을 넘어 완전한 실행 운영체제로 진화하는 방향을 제시한다. Rust의 메모리 안전성과 단일 바이너리 배포, 16개 독립 보안 시스템, 180ms 콜드 스타트라는 수치는 프로덕션 환경에서의 에이전트 운용을 진지하게 고려한 설계 결과다. 아직 v1.0 이전 단계이지만, 에이전트 인프라를 자체 구축하려는 팀에게 Python 기반 대안들과 다른 방향의 선택지를 제공한다는 점에서 주목할 가치가 있다.

Sources

OpenFangRustAI에이전트에이전트운영체제WASM샌드박스자율에이전트