최근 '페닉(fenic)'이라는 새로운 데이터프레임 쿼리 엔진이 등장하여 데이터 처리 방식에 혁신을 예고하고 있습니다. 이 엔진은 전통적인 PySpark/SQL 스타일의 데이터 연산(select, filter, join, group_by, agg)과 대규모 언어 모델(LLM)을 활용하는 시맨틱 연산자(extract, classify, summarize, embed, semantic join)를 하나의 쿼리 모델 안에서 통합하여 다룹니다. 이를 통해 문서, 트랜스크립트, 로그, 이메일 등 다양한 비정형 데이터를 타입이 지정된 행(typed rows)으로 변환하고, 반복 가능한 워크플로우를 구축할 수 있게 됩니다.
페닉의 핵심은 AI 연산자가 쿼리 모델에 내장되어 스키마와 타입을 가진 연산자로 동작한다는 점입니다. 예를 들어, 정확한 키 매칭이 아닌 의미 기반의 조인(semantic join)을 지원하며, 비정형 텍스트를 Pydantic 스키마에 바인딩하여 조회 가능한 구조화된 컬럼으로 반환합니다. 또한, 일반 필터를 시맨틱 필터보다 먼저 실행하고, 자동 배칭(batching), 레이트 리미팅(rate limiting), 재시도(retry), 캐싱(caching) 등의 기능을 통해 불필요한 LLM 호출과 비용을 효과적으로 줄여줍니다. Apache Arrow를 통해 데이터를 교환하고 Polars/DuckDB 같은 고성능 엔진을 활용하여 로컬 환경에서도 간단히 실행 가능하며, S3나 Hugging Face의 CSV, Parquet 데이터도 읽을 수 있습니다.
이러한 통합 접근 방식은 사람과 AI 에이전트가 동일한 파이프라인을 작성, 검사, 재사용할 수 있도록 설계되었다는 점에서 의미가 큽니다. 페닉은 스스로를 에이전트를 위한 '선언적 컨텍스트 엔지니어링(declarative context engineering)'으로 정의하며, 무거운 배치 추론(batch inference) 작업을 에이전트 런타임 밖으로 분리(decoupled)합니다. 이는 에이전트의 예측 가능성과 반응성을 높이고 자원 활용을 개선하는 데 기여합니다. 데이터 파이프라인 자체가 산출물이 되어 행 단위의 계보(lineage), 설명(explain), 쿼리별 토큰/비용 지표를 통해 검사 가능하며, 탐색 결과가 일회성 채팅 기록으로 사라지지 않고 코드, 데이터, 파이프라인으로 남는다는 점은 장기적인 효율성과 재현성을 보장합니다.