Knowledge Feature Store 확장
2026-04-18 작성2026-07-17 수정12분 읽기
Forward-looking Design
별도 온톨로지 세션(2026-Q2)에서 구체화 예정. 본 문서는 개념 설계와 파일럿 범위 제안이다.
문제 정의: Feature Store만으로 부족한 이유
전통적인 Feature Store(Feast, SageMaker Feature Store, Tecton)는 scalar 값과 embedding 벡터를 효율적으로 제공하는 데 최적화되어 있습니다. 하지만 Agentic AI 환경에서는 다음과 같은 한계가 드러납니다:
전통 Feature Store의 한계
구체적인 문제 사례:
-
엔터티 관계 부재 → 환각 발생
- 질문: "고객 A의 최근 계약과 연결된 디바이스는?"
- 전통 FS: 고객 임베딩, 계약 임베딩을 별도로 반환
- 결과: LLM이 관계 없는 디바이스를 연결하여 환각 발생
- 필요:
(Customer)-[:HAS_CONTRACT]->(Contract)-[:USES]->(Device)관계
-
온톨로지 부재 → 도메인 용어 오해
- 질문: "고객 등급이 'Premium'인 사용자의 이용 패턴"
- 전통 FS: 'Premium'을 단순 문자열로 처리
- 결과: 'VIP', 'Gold', 'Platinum'과의 관계를 이해하지 못함
- 필요:
Premium subClassOf HighValueCustomer,VIP equivalentTo Premium정의
-
Provenance 부재 → 감사 실패
- 요구: "이 답변의 근거 데이터 출처는?"
- 전통 FS: 벡터 유사도만 제공, 원천 데이터 추적 불가
- 결과: 규제 준수(SOC2, GDPR) 실패
- 필요: Feature → Raw Data → Source System → Timestamp 체인
-
시간적 관계 부재 → 컨텍스트 오류
- 질문: "2025년 Q4에 해지한 고객의 이전 이용 패턴"
- 전통 FS: Point-in-time 조회만 지원
- 결과: 해지 전후 관계를 연결하지 못함
- 필요: Temporal edge
BEFORE,AFTER관계
Knowledge Feature Store 개념 모델
Knowledge Feature Store(KFS)는 전통 Feature Store를 3-plane 구조로 확장하여 scalar/vector 데이터에 관계와 의미를 추가합니다.
3-Plane 아키텍처
각 Plane의 역할
| Plane | 책임 | 데이터 형식 | 읽기 지연 | 예시 쿼리 |
|---|---|---|---|---|
| Feature Plane | Scalar/Vector 피처 제공 | Parquet, Protobuf | <10ms | get_features(entity_id, feature_names) |
| Knowledge Plane | 엔터티 관계·온톨로지 | RDF, Property Graph | <50ms | traverse(Customer, depth=2, relation='HAS_CONTRACT') |
| Retrieval Plane | 벡터 검색 + 그래프 확장 | HNSW Index, Cypher | <100ms | hybrid_search(query_embedding, kg_expand=True) |
통합 읽기 API
from kfs import KnowledgeFeatureStore
kfs = KnowledgeFeatureStore(
feature_store="feast://cluster.local",
knowledge_graph="neptune://cluster.amazonaws.com",
vector_store="milvus://milvus.svc.cluster.local:19530"
)
# 통합 쿼리: 벡터 검색 + 그래프 확장 + 피처 로드
result = kfs.retrieve(
query="고객 등급이 Premium인 사용자의 최근 이용 패턴",
retrieval_config={
"vector_top_k": 10,
"graph_expand": {
"depth": 2,
"relations": ["HAS_CONTRACT", "USES_DEVICE"]
},
"features": ["usage_last_30d", "churn_risk_score"]
}
)
# 결과:
# - contexts: 벡터 검색으로 찾은 문서 10개
# - entities: 그래프 확장으로 연결된 Customer, Contract, Device 노드
# - features: 각 엔터티의 scalar/vector 피처
# - provenance: 각 데이터의 출처와 타임스탬프