최근 C++23 기반의 코딩 에이전트 런타임 'Ava'가 공개되어 개발자들의 주목을 받고 있습니다. Ava는 컨텍스트, 재생, 재개, 복구를 위한 단일 이벤트 스트림을 활용하여 견고하고 재현 가능한 세션을 제공하는 것이 특징입니다. 이는 대부분 파이썬(Python)이나 타입스크립트(TypeScript)로 개발된 기존 코딩 에이전트들이 네이티브 제품에 내장되거나 장기 실행 워커로 사용될 때 발생하는 성능 및 상태 관리 문제를 해결하고자 합니다.
Ava는 헤드리스(headless) 에이전트 런타임으로, 스트리밍 터미널 UI(TUI), 원샷(one-shot) CLI, 웹 UI를 지원합니다. 앤트로픽(Anthropic), 오픈AI(OpenAI) 호환 엔드포인트(예: DeepSeek, llama-server), 코덱스(Codex) 등 다양한 모델 제공업체를 지원하며, 모든 이벤트를 정규화된 형태로 단일 에이전트 루프와 도구 레지스트리로 통합합니다. 특히, 세션 로그를 추가 전용(append-only) 방식으로 기록하여 모델 컨텍스트, UI 재생, 세션 재개, 압축, 충돌 복구 등을 가능하게 합니다. 세션 파일은 Zstandard 압축과 체크섬을 통해 손상에 강하며, Boost.Asio 코루틴(coroutines)을 활용해 HTTP/SSE 스트림, 모델 어댑터, 영구 쓰기, 자식 프로세스 등 전반적인 런타임에서 취소(cancellation)를 일관되게 처리합니다.
Ava의 등장은 시스템 구성 요소로서의 코딩 에이전트 가능성을 제시합니다. 기존 에이전트들이 인터프리터와 대화 상태의 이중 관리가 필요했던 것과 달리, Ava는 C++ 기반으로 단일 소유자가 모든 스트림, 프로세스, 영구 쓰기를 관리하여 취소, 충돌, 재시작 상황에서도 명시적인 동작을 보장합니다. 이는 네이티브 애플리케이션에 AI 코딩 기능을 내장하거나, 컨테이너화된 서비스에서 장기 실행되는 안정적인 AI 워커를 구축하려는 개발자들에게 중요한 이점을 제공할 것입니다. 또한, 모듈화된 CMake 컴포넌트를 통해 필요한 기능만 선택적으로 통합할 수 있어 유연성이 높습니다.