CocoIndex — 장기 에이전트를 위한 증분 컨텍스트 엔진

“Your agents deserve fresh context.” — 변경분만 처리하는 증분 엔진으로 코드베이스, 메모, Slack, PDF, 영상 등의 컨텍스트를 항상 최신 상태로 유지하는 데이터/지식 인덱싱 프레임워크.

개요

CocoIndex는 AI 에이전트와 LLM 앱을 위한 incremental engine for long-horizon agents다. 핵심 목적은 대규모 데이터 소스에서 오래된 배치(batch) 없이, 변경된 부분만 다시 처리해 fresh context를 유지하는 것이다.

이 접근은 RAG의 한계를 보완한다. 단발성 검색이 아니라, 소스 상태를 지속적으로 동기화하여 에이전트가 **“지금 시점의 진실”**을 보도록 만든다.

핵심 메시지

  • Incremental: only the delta
  • Any scale: 대규모 소스에 맞춘 설계
  • Parallel by default: 병렬 처리 우선
  • Declarative: 목표 상태를 선언하면 엔진이 동기화
  • Python 5 min: 빠른 시작

다루는 소스

  • codebases
  • meeting notes
  • inboxes
  • Slack
  • PDFs
  • videos

핵심 기능

1. 증분 처리

  • 전체 재처리가 아니라 변경된 데이터만 재연산
  • 재실행 시에도 이미 처리된 부분은 재사용
  • 백필(backfill) 후에도 계속 동기화 유지

2. 실시간 freshness

  • AI context를 지속적으로 최신 상태로 유지
  • stale batch를 줄이고 context gap을 축소
  • 장기 에이전트가 “최근 상태”를 놓치지 않도록 설계

3. 선언형 데이터 파이프라인

  • 대상 상태를 정의하고 엔진이 이를 유지
  • React의 UI 갱신처럼 데이터 엔지니어링을 추상화
  • 소스 변화가 타겟 테이블과 인덱스에 자동 전파

4. 생산성/확장성

  • parallel by default
  • Rust 코어 기반의 성능/신뢰성
  • failure isolation으로 단일 레코드 실패가 파이프라인 전체를 멈추지 않게 설계

Quick Start 관점

예시에서는 cocoindex가 다음 흐름을 보여준다:

  1. 로컬 파일 시스템 같은 소스를 읽음
  2. 텍스트를 청크로 분할
  3. 임베딩 생성
  4. PostgreSQL 같은 target table에 선언적 row/vector index를 유지
  5. 변경분만 다시 처리

즉, “한 번 채워 넣고, 이후엔 델타만 따라잡는” 컨텍스트 레이어다.

왜 중요한가

CocoIndex는 다음 세 흐름과 맞닿아 있다:

  • LLM Wiki / 지속 지식 축적: 검색이 아니라 누적 가능한 위키/지식층을 유지
  • 멀티 에이전트 오케스트레이션: 여러 에이전트가 동일한 최신 컨텍스트를 공유
  • Post-SaaS / AIOS: SaaS 화면 조작보다, 에이전트가 직접 읽을 수 있는 데이터 계층이 중요해짐

기술 스택

관련 노트