SenteLabsAI/OpenExecutive

AI-powered virtual executive team — a single coherent executive persona backed by 8 specialist Claude agents (FastAPI + Next.js).

Open Executive – AI 기반 가상 경영진 팀

무엇인가요 – 기업이 일관된 '경영진' 캐릭터와 대화할 수 있는 자체 호스팅 애플리케이션입니다. 경영진은 8개의 전문 에이전트(CSO, CFO, CHRO, 일반법무, COO, CMO, CPO, 이사회 커뮤니케이션 책임자)에 의해 뒷받침됩니다. 각 전문가는 내장된 MBA 지식베이스와 사용자가 업로드한 회사 문서 양쪽에서 관련 정보를 추출한 후, 오케스트레이터가 통합된 응답을 생성합니다.

핵심 기능

  • 통합 경영진 음성 – 비즈니스 전략 질문을 하면 하버드 MBA 수준의 고위 경영진이 답변한 것처럼 느껴지는 답변을 받을 수 있습니다.
  • 전문 에이전트 – 8개의 도메인 전문 에이전트가 병렬로 작동하며, 기본적으로 Anthropic Claude 모델(claude-sonnet-4-6)을 사용하고, 더 깊은 추론에는 claude-opus-4-7을 활용합니다.
  • RAG 및 내장 지식 – 이중 레이어 검색: (1) Git 추적된 Markdown 지식베이스를 로컬 ChromaDB 벡터 스토어에 초기화, (2) 회사 자체 문서(피치데크, 재무 모델, 계약서 등)도 ChromaDB에 인덱싱됩니다.
  • 에피소드 기억 – 각 대화 후 백그라운드에서 Claude-haiku 프로세스가 결정 사항을 추출해 SQLite에 저장합니다. 다음 세션은 <past_decisions> 블록을 포함해 이전 조언을 기억합니다.
  • 스케줄러 – 작업 실행기로 후속 작업을 추적하고, UPDATE … RETURNING을 사용해 중복 실행을 방지합니다. 의도적으로 단일 인스턴스로 제한됩니다.
  • 다중 채널 UI – 웹 UI(Next.js 15 + Tailwind), Slack, Discord, Telegram, Google Chat, 이메일, CLI.
  • 확장성 – 새로운 전문 에이전트는 Python 클래스, 프롬프트, 등록 항목을 추가해 추가 가능하며, 리포지토리에는 문서화된 절차가 포함되어 있습니다.

아키텍처 개요

사용자 → 경영진 오케스트레이터 (Claude-sonnet-4-6) → 병렬 전문가 호출
      │                                            │
      │                                            └─ 각 전문가가 ChromaDB에서 관련 컨텍스트 검색
      │
      └─ 내장된 MBA 지식 + 업로드된 회사 문서
                ↓
        통합된 경영진 응답 (캐시된 프롬프트 블록)
  • 오케스트레이터는 어떤 전문가를 호출할지 결정하고 출력을 통합합니다.
  • 검색은 전문가 호출마다 수행되며, 검색된 청크는 타ーン에 삽입되지만 시스템 프롬프트에 저장되지 않습니다.
  • 프롬프트 캐싱은 정적 포즈/시스템 프롬프트와 동적 컨텍스트를 분리해, 몇 번의 타ーン 후 약 85%의 캐시 히트율을 달성합니다.
  • 메모리 및 스케줄러는 동일한 FastAPI 프로세스 내에서 백그라운드 작업으로 실행됩니다.

기술 스택

계층 선택
LLM 백본 Anthropic Claude API (기본 claude-sonnet-4-6; 심층 추론용 claude-opus-4-7)
백엔드 Python 3.11, FastAPI, uv 패키지 매니저
벡터 스토어 ChromaDB (임베디드, 로컬)
에피소드 기억 SQLite
스케줄러 / 알림 SQL 행 수준 잠금을 사용하는 커스텀 작업 실행기
웹 UI Next.js 15 (App Router) + Tailwind
배포 Fly.io (단일 인스턴스 API, 상태 없는 UI, 선택적 Honcho 메모리 서비스)
CI / 테스트 GitHub Actions, pytest, LLM-as-judge 평가 스위트
라이선스 Apache 2.0

시작하기 (로컬 개발)

git clone https://github.com/SenteLabsAI/OpenExecutive.git
cd OpenExecutive
cp .env.example .env            # Anthropic API 키 추가
make dev                         # FastAPI를 :8000, Next.js를 :3000에서 시작

처음 실행 시 ChromaDB 인덱스 생성(약 90MB 임베딩 모델 다운로드)에 몇 분이 소요되며, 이후 시작은 매우 빠릅니다.

로컬 모델 사용LOCAL_MODELS_ENABLED=true로 설정하고 LOCAL_BASE_URL를 OpenAI 호환 서버(Ollama, vLLM 등)로 지정하면 Claude를 어떤 도구 사용 가능 모델(예: llama3.3)로 교체할 수 있습니다. UI는 활성화된 로컬 모델을 자동으로 목록화해 하이브리드 설정(경영진: Claude, 개별 전문가: 로컬 모델)을 가능하게 합니다.

배포 – 리포지토리는 dev와 QA용 Fly.io 구성 파일을 포함합니다. 스케줄러가 행 수준의 클레임 세마틱스에 의존하므로 API 앱은 단일 인스턴스로 유지되어야 합니다. 시크릿(Anthropic 키, 통합 토큰, 공유 시크릿 헤더)은 Fly secrets를 통해 주입되며, UI는 Google 로그인과 허용 목록으로 보호됩니다.

일반적인 사용 사례

  • 전략적 계획 – 시장 포지셔닝, M&A 아이디어, OKR 설정에 대해 경영진에게 문의.
  • 재무 모델링 – 현금 흐름 예측, 자금 조달 프레젠테이션, 단위 경제 분석을 얻기.
  • 인사 및 문화 – 보상 구조, 채용 계획, 직원 참여 설문 초안 작성.
  • 법무 기초 – 계약 조항 생성, 지적 재산 체크리스트, 준수 리마인더.
  • 운영 확장 – SOP 설계, 벤더 관리 프로세스, 물류 워크플로우.
  • 마케팅 및 제품 – GTM 전략, 제품 로드맵, 이사회용 프레젠테이션 구축.

제한 사항 / 주의사항

  • 검색된 회사 문서 스니펫은 LLM 제공자에게 전송됩니다. 데이터는 프롬프트의 일부로만 호스트 외부로 나갑니다.
  • 스케줄러는 단일 인스턴스입니다. API를 확장하면서 스케줄러를 비활성화하지 않으면 중복 작업이 발생할 수 있습니다.
  • 심층 추론 에이전트(claude-opus-4-7)는 비용이 높고 지연 시간이 더 큽니다.
  • 로컬 모델 지원은 웹 검색 및 Anthropic 전용 프롬프트 캐싱 기능을 비활성화합니다.
  • 내장된 MBA 지식은 정적 Markdown입니다. 최신 상태를 유지하려면 수동 편집이 필요합니다.

커뮤니티 및 기여 – 리포지토리는 완전한 CI 파이프라인, 29개 시나리오 테스트 평가 스위트, 새로운 전문 에이전트 추가 가이드라인을 포함합니다. 기여에는 구현, 단위 테스트, 평가 시나리오 추가가 필수입니다.


위 모든 정보는 리포지토리의 README에서 직접 가져왔으며, 외부 가정은 추가되지 않았습니다.

관련

  • Dispatch
  • 프로젝트
  • 프로젝트
  • Dispatch
  • Dispatch