cocoindex

AI MemoryCLIRust

★ 11,542주당 +38조회 3

무엇인가

CocoIndex는 AI 에이전트와 LLM 애플리케이션이 추론에 사용할 컨텍스트를 만들어 유지하는 증분 데이터 변환 엔진이다. 소스에서 데이터를 읽어 변환한 뒤 타깃에 적재하는 ETL 계열에 속하며, 임베딩과 검색 인덱스를 채우는 파이프라인이 놓이던 자리를 차지한다.

어떻게 동작하나

사용자는 타깃에 무엇이 있어야 하는지를 선언한다. 엔진은 그 선언과 현재 상태를 비교해 차이만 계산한다. 코어는 Rust로 작성되어 병렬 청킹, 가능한 구간의 제로카피 변환, 실패 격리를 수행한다. 소스가 바뀌면 영향받는 레코드를 식별하고, 조인과 조회를 거쳐 변경을 전파한 뒤 타깃을 갱신하고 더 이상 유효하지 않은 행을 회수한다. 변경되지 않은 레코드는 건드리지 않는다.

무엇과 다른가

배치 파이프라인은 주기가 돌 때마다 전체 코퍼스를 다시 임베딩한다. CocoIndex는 델타만 재계산하므로 재처리 범위가 변경분으로 한정된다. 직접 작성한 증분 스크립트와 달리 조인·조회를 통한 변경 전파와 stale row 정리를 엔진이 담당한다.

어떻게 쓰나

파이프라인은 Python 선언형 API로 작성한다. 한 번 실행해 백필하고, 이후 다시 실행하면 바뀐 파일만 재임베딩된다. AI 코딩 에이전트와 함께 쓸 때는 CocoIndex skill 파일을 넣어 v1 코드 규약을 따르게 한다. 예제 트리에 20개 이상의 스타터가 있어 소스를 교체해 바로 사용할 수 있다.

전제와 한계

엔진 코어는 Rust, 파이프라인 정의는 Python이다. 소스 커넥터와 동기화 대상이 될 타깃 스토어가 갖춰져야 한다. 증분 처리는 이전 실행 상태를 전제로 하므로 첫 실행은 전체 백필이다. 라이선스는 Apache 2.0이다.

유사 도구