fenic - 사람과 에이전트를 위한 시맨틱 데이터프레임(Semantic DataFrames)
요약
fenic은 PySpark/SQL 연산과 LLM 호출을 통합한 시맨틱 데이터프레임 쿼리 엔진입니다. 이 엔진은 AI 연산자(extract, classify 등)를 스키마 기반의 타입 지정 연산자로 내장하여 비정형 데이터를 구조화하고 의미 기반 조인을 지원합니다. 또한, 파이프라인 자체를 산출물로 관리하며 에이전트가 재사용 가능한 도구로 활용할 수 있도록 설계되었습니다.
핵심 포인트
- SQL 스타일 연산과 LLM 호출을 통합한 쿼리 엔진 제공
- AI 연산자를 타입 지정 스키마 기반의 연산자로 내장
- 비정형 데이터를 Pydantic 스키마에 바인딩하여 구조화
- 파이프라인 자체를 산출물로 관리하고 에이전트 도구로 노출
PySpark/SQL 스타일 연산(select
, filter
, join
, group_by
, agg
)과 언어 모델을 호출하는 시맨틱 연산자를 하나의 쿼리 모델 안에서 함께 다루는 DataFrame 쿼리 엔진
- 문서/트랜스크립트/로그/eval 트레이스/티켓/테이블/API를
타입 지정된 행(typed rows) 과 반복 가능한 워크플로로 변환
extract
, classify
, summarize
, embed
, 시맨틱 join
등 AI 연산자가 쿼리 모델에 내장되어 스키마와 타입을 가진 연산자로 동작
- 일반 필터를 시맨틱 필터보다 먼저 실행하고, 자동 배칭/레이트 리미팅/재시도/캐싱으로
불필요한 LLM 호출과 비용을 줄임
파이프라인 자체가 산출물 — 행 단위 lineage, explain
, 쿼리별 토큰/비용 지표로 검사 가능
-
지연 실행과 캐싱으로 재실행 가능하며, 명명된 테이블/뷰/MCP 도구로 승격 가능
-
탐색 결과가 채팅 기록으로 사라지지 않고
코드/데이터/파이프라인으로 남음 -
비정형 텍스트를
Pydantic 스키마에 바인딩해 조회 가능한 구조화 컬럼으로 반환
정확한 키가 아닌 의미 기반 조인(semantic join) 지원 -
Markdown/Transcript/JSON(
jq
)/HTML/임베딩을 일급 논리 타입으로 처리하고 PDF 파싱 지원
-
S3/Hugging Face의 CSV·Parquet 데이터 읽기 지원
-
자체 쿼리 계획과 추론 실행 계층을 갖추고, 일반 데이터 연산에는
Polars/DuckDB를 활용 -
Apache Arrow로 데이터를 교환하며 로컬 환경에서 간단히 실행 가능
-
추론 특유의 레이트 리미트/타임아웃/비결정적 출력을 다루기 위해
비동기 실행/재시도+백오프/캐싱/타입 검사에 집중
사람과 에이전트가 같은 파이프라인을 작성·검사·재사용하도록 설계 -
코딩 에이전트용
fenic skill install
과 정적 검사기 fenic check
제공
-
파이프라인을
카탈로그에 도구로 등록해 MCP로 노출 -
데이터 파이프라인을 에이전트가 호출할 수 있는 타입 지정 도구로 전환
-
스스로를
에이전트를 위한 선언적 컨텍스트 엔지니어링으로 정의 -
무거운 배치 추론을 에이전트 런타임 밖으로
분리(decoupled) -
더 예측 가능하고 반응성 좋은 에이전트와 개선된 자원 활용 제공
-
Apache-2.0 라이선스
댓글과 토론
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기