Kova란?
Kova는 Lurus 핵심 AI 에이전트 인프라로, Rust로 구축한 고성능 지속 실행 엔진이며 에이전트가 어떻게 안정적으로 장시간 실행되고, 크래시 후 상태를 복구하며, 복잡한 워크플로를 협업하는지를 해결합니다. 전통적인 프레임워크(LangChain, CrewAI)는 메모리에서 실행되어 프로세스가 종료되면 상태를 잃습니다. Kova는 WAL(Write-Ahead Log)WALWrite-Ahead Log, 즉 사전 기록 로그입니다. 모든 상태 변경을 실행 전에 먼저 로그에 기록하여 크래시 후 로그에서 복구할 수 있게 합니다.더 알아보기 → 우선 아키텍처를 채택하여 매 단계 실행을 지속적으로 기록하므로, 크래시가 발생해도 중단 지점으로 정확히 복구할 수 있습니다——LLM을 재호출하지 않고, 진행 상황을 잃지 않으며, 추가 비용도 발생하지 않습니다.
핵심 지표
docs/benchmark-report.md 참고), 처리량 315K ops/s, 외부 서비스 의존성 제로.왜 Kova를 선택하는가
WAL-First 지속성, 마이크로초 단위 스케줄링, 의존성 제로 배포, 네 가지 접속 방식.
WAL 크래시 복구
매 단계 실행 전 로그 기록 + CRC32 검증, 크래시 후 중단 지점부터 재생, LLM 재호출 없음
3μs 스케줄링 지연
FIFO 전체 파이프라인 Criterion 벤치마크 3.17μs, 315K ops/s 처리량
외부 의존성 제로
Redis / Postgres 불필요, 로컬 WAL 파일만으로 실행 가능
네 가지 접속 방식
Rust SDK / gRPC / REST / MCP, 21개 워크스페이스 crate 모듈화
WAL-First 지속성
모든 상태 변경은 실행 전 먼저 WAL에 기록되며, 크래시 시 WAL에서 재생합니다:
에이전트 결정 — 엔진이 다음 단계 동작을 확정
WAL 기록(CRC32) — 지속 기록 + 체크섬으로 손상 방지
실행 — 실제로 도구 / LLM 호출
완료 확인 — 해당 단계가 반영되었음을 표시; 크래시 시 미확인 단계는 자동 재생
CRC32 검증으로 손상을 방지하고, Power-of-2 링 버퍼로 저장 공간을 효율적으로 활용하며, 락 순서 Buffer → Queue → Txn을 엄격히 보장하여 교착 상태를 완전히 차단합니다.
에이전트 오케스트레이션
| 모드 | 설명 | 적용 시나리오 |
|---|---|---|
| 단일 에이전트 | 독립적으로 작업 실행 | 단순 자동화 |
| 워크플로 | 여러 단계의 순차 실행 | 데이터 파이프라인, 승인 프로세스 |
| 집단 지능 (Swarm) | 다중 에이전트 자율 협업 | 복잡한 연구, 다중 역할 시뮬레이션 |
도구 생태계와 멀티 모델
내장 도구(파일 / HTTP / 데이터베이스 / Shell), MCPMCPModel Context Protocol, 즉 모델 컨텍스트 프로토콜입니다. AI Agent가 외부 도구와 데이터 소스를 통일된 방식으로 호출하게 하는 개방형 표준입니다.더 알아보기 →(MCP 호환 도구 서비스에 연결, 통합 디렉터리 참고), A2AA2AAgent-to-Agent 프로토콜로, 여러 Agent가 직접 통신하고 작업을 위임하며 정보를 교환하게 합니다.(에이전트 간 직접 통신 및 작업 위임), 커스텀 도구(Rust 또는 REST API 확장).
Lurus API를 통해 모든 주요 LLM에 접속(DeepSeek 일상 / GPT-4o 추론 / Claude 장문 / Gemini 멀티모달), 런타임에 작업에 따라 동적으로 전환.
아키텍처 개요
REST/SDK/gRPC/MCP 접속 · Kova Core 스케줄링 · WAL 지속화 복구.
Kova REST API (Axum: 35+ endpoints, WebSocket)
→ Kova Core: Agent Engine(단/다 Agent) + Workflow(有序编排)
→ WAL + Ring Buffer(持久化状态管理 CRC32)
子 crate: kova-llm / kova-tools / kova-mcpKova는 21개 Rust crate의 워크스페이스이며, 178,284 줄의 코드, 1,565개 이상의 테스트(loom 동시성 / proptest / chaos) + 4개 fuzz target으로 구성됩니다. 현재 v0.2.0 프리릴리스(1.0.0-beta.1을 향해)이며, 엄격한 lint를 전면 활성화했습니다(#[deny(clippy::unwrap_used, clippy::panic, missing_docs)]).
적용 시나리오
| 시나리오 | Kova의 강점 |
|---|---|
| 장시간 실행되는 에이전트 | WAL 지속화, 크래시 후 자동 복구 |
| 복잡한 워크플로 | 여러 단계 오케스트레이션, 조건 분기, 병렬 실행 |
| 다중 에이전트 협업 | Swarm 모드, 에이전트 간 직접 통신 |
| 엔터프라이즈급 배포 | Rust 성능, 낮은 리소스 점유, GC 정지 없음 |
| MCP 도구 통합 | Model Context Protocol 네이티브 지원 |
| 보안 민감 시나리오 | 선택적 암호화 (SM4/AES), WAL HMAC 무결성 검증 |
역할별 시작하기
다른 에이전트 프레임워크와의 비교
| 역량 | LangChain | CrewAI | AutoGen | Kova |
|---|---|---|---|---|
| 언어 | Python | Python | Python | Rust |
| 상태 지속화 | 없음(외부 필요) | 없음 | 없음 | WAL-First |
| 크래시 복구 | 없음 | 없음 | 없음 | 자동 복구 |
| 성능 | 중 | 중 | 중 | 극히 높음 |
| 메모리 효율 | 낮음 | 낮음 | 낮음 | 극히 높음 |
| MCP 지원 | 서드파티 | 없음 | 없음 | 네이티브 |
| A2A 프로토콜 | 없음 | 없음 | 없음 | 네이티브 |
| 암호화 기능 | 없음 | 없음 | 없음 | SM4-GCM / ChaCha20 |
| 멀티 프로토콜 | 없음 | 없음 | 없음 | 네 가지 접속 방식: Rust SDK / gRPC / REST / MCP |
| 배포 형태 | Python 프로세스 | Python 프로세스 | Python 프로세스 | 단일 바이너리 / 컨테이너 / 임베디드 라이브러리 |