"Mini Palantir". 이 표현은 로컬 Graph-RAG(그래프 기반 검색 증강 생성) 엔진인 JAMES가 Palantir Technologies의 typed-graph 및 감사 흔적 보존 패턴과 유사하다는 점에서 붙여진 별칭이다. 단순한 비유를 넘어, 데이터의 연결 관계를 엄격하게 정의하고 모든 변경 이력을 추적하겠다는 설계 철학을 반영한다.

최근 JAMES는 v0.3.0 'Platform Skeleton' 단계에 진입하며 인지 미들웨어 레이어를 설계 문서가 아닌 실제 실행 가능한 코드로 메인 브랜치에 통합했다. 2026년 5월 13일, Foundation Hardening의 6개 축을 모두 통과하며 게이트를 클리어한 이 버전은 보안을 최우선 디자인 원칙으로 삼는다. 특히 외부 API로의 데이터 유출을 원천 차단하는 100% 로컬 지식 엔진을 지향하며, 오픈소스 생태계의 보안 표준인 OpenSSF(Open Source Security Foundation) Best Practices 인증을 통해 그 신뢰성을 검증받았다. 이제 JAMES는 단순한 정보 검색 도구를 넘어, 스스로 계획하고 검증하는 인지적 능력을 갖춘 지식 엔진으로 진화하며 실무적인 코드 레벨의 구현체를 제시하고 있다.

JAMES v0.3.0 Platform Skeleton과 3단계 보안 파이프라인

이번 업데이트에서 가장 먼저 주목해야 할 변화는 인지 미들웨어(Cognitive Middleware) 레이어가 설계 문서의 영역을 벗어나 실제 실행 가능한 코드로 메인 브랜치에 안착했다는 점이다. 2026년 5월 17일 공개된 v0.3.0 Platform Skeleton은 단순한 기능 확장을 넘어, 시스템의 핵심 아키텍처가 프로덕션 수준의 보안 요구사항을 충족하도록 재편되었음을 의미한다. 특히 OpenSSF(Open Source Security Foundation, 오픈소스 소프트웨어 보안을 위한 재단)의 Best Practices를 준수하여 111%의 Tiered 달성률을 기록(프로젝트 #12806)한 것은, 이 프로젝트가 학술적 실험을 넘어 실무적 신뢰성을 확보하려는 의지를 보여주는 지표다.

[IMG]

개발팀이 구현한 3단계 보안 파이프라인은 데이터의 흐름을 엄격하게 통제한다. 첫 번째 단계인 입력 pre_check는 잠재적인 주입 공격을 차단하며, 두 번째 단계인 검색 ABAC(Attribute-Based Access Control, 속성 기반 접근 제어)는 데이터의 속성에 따라 접근 권한을 동적으로 결정한다. 마지막으로 출력 post_filter와 PII(Personally Identifiable Information, 개인식별정보) 마스킹을 통해 민감 정보의 외부 유출을 원천적으로 차단한다. 이러한 구조는 데이터의 입력부터 출력까지 전 과정에 걸쳐 보안 정책을 강제하는 설계로, 복잡한 지식 그래프 환경에서도 일관된 보안 수준을 유지하게 한다.

지식 관리 측면에서의 진전 또한 괄목할 만하다. Knowledge Cascade의 Phase A에서 E 단계로의 마이그레이션이 완료되면서, 213개의 엔티티(Entity)와 656개의 관계(Relation)가 안정적으로 시스템에 통합되었다. 이는 단순한 데이터 이관이 아니라, 시스템이 지식의 계층 구조를 이해하고 추론할 수 있는 기반을 마련했음을 뜻한다. 또한 MIT 라이선스를 채택하여 범용성을 확보했으며, 보안 인프라 강화를 위해 bcrypt 비밀번호 해싱과 SHA-256 투명 마이그레이션(PR #173)을 적용하여 인증 체계의 견고함을 더했다. 이러한 기술적 의사결정은 향후 대규모 엔터프라이즈 환경으로의 확장 가능성을 염두에 둔 실무적 선택으로 관찰된다.

bash
git clone https://github.com/Hashevolution/James-RAG-Evol
cp .env.example .env
pip install -r requirements.txt
ollama pull gemma2:2b
python server_llmwiki.py

현재 JAMES v0.3.0은 사내 위키나 로컬 문서를 외부 API 호출 없이 처리해야 하는 환경에서 강력한 대안으로 작동한다. 특히 추론 경로가 그래프 형태로 명확히 노출되어야 하는 연구 목적의 RAG(Retrieval-Augmented Generation, 검색 증강 생성) 시스템 구축에 최적화되어 있다. 인지 미들웨어의 각 모듈은 독립적인 import가 가능하도록 설계되어 있어, 개발자가 자신의 코드베이스에 필요한 보안 파이프라인을 점진적으로 도입할 수 있는 유연성을 제공한다. 이는 향후 6개월 내에 보안성이 강화된 지식 엔진을 자체 구축하려는 팀들에게 실질적인 레퍼런스로 기능할 것이다.

인지 미들웨어의 모듈화와 Gemma 4 벤치마크 결과

개발자가 이번 업데이트에서 가장 주목해야 할 지점은 인지 미들웨어의 추상화 수준이다. 기존의 RAG(Retrieval-Augmented Generation, 검색 증강 생성)가 단순히 검색된 문맥을 언어 모델에 전달하는 방식이었다면, v0.3.0부터는 검증 엔진(verification engine, PR #290), 계획 및 작업 분해(planner·task decomposition, PR #297), 그리고 도구 라우터(tool router, PR #295)가 독립된 모듈로 안착했다. 이는 추론 과정을 단순히 모델의 내부 확률에 맡기는 것이 아니라, 명시적인 인지 레이어를 통해 추론 경로를 가시화하고 제어할 수 있음을 의미한다. [IMG] JAMES 3D 온톨로지 시각화와 결합된 이 구조는 시스템이 특정 답변에 도달하기까지 어떤 논리적 단계를 거쳤는지, 어떤 도구를 호출했는지를 코드 수준에서 추적 가능하게 설계되었다.

성능 평가 측면에서는 Ali Afana와의 협업을 통해 83개 항목으로 구성된 주입 공격 회귀 테스트 스위트를 분리하고, 이를 기반으로 Gemma 4의 세 가지 변종(E4B, 26B MoE, 31B Dense)을 벤치마크했다. 특히 모델 입력과 출력의 일관성을 확보하기 위해 injection-fixtures schema v1.1(PR #311 → #317 → #322)을 도입하여 데이터 정규화와 문맥 카탈로그를 표준화했다. 이는 모델의 응답이 외부 공격에 얼마나 견고한지를 정량적으로 측정하기 위한 필수적인 인프라다. 이러한 표준화된 테스트 환경은 향후 인지 미들웨어의 각 단계별 신뢰도를 검증하는 핵심 지표로 활용될 예정이다.

다만, 최신 모델을 적용하는 과정에서 기술적 한계 또한 명확히 관찰된다. Gemma 4 E4B 모델을 인지 단계에 투입했을 때 총 5번의 빈 응답이 발생하는 현상이 확인되었으며, 현재 4가지 가설을 세워 분석 중이나 근본 원인(root cause)은 아직 확정되지 않았다. 이러한 실패 사례는 은폐하지 않고 공개적으로 기록하여 추론 엔진의 불안정성을 파악하는 데이터로 삼고 있다. 이는 단순한 모델 교체가 아니라, 인지 미들웨어의 각 단계가 모델의 특성을 어떻게 수용하고 오류를 처리해야 하는지에 대한 중요한 실무적 통찰을 제공한다. 결과적으로 이번 모듈화는 시스템의 복잡도를 높이는 대신, 각 구성 요소의 교체 가능성과 관측 가능성을 극대화하여 6개월 뒤 실무 환경에서 발생할 수 있는 예측 불가능한 추론 오류를 사전에 방어하는 데 목적이 있다.

로컬 Graph-RAG의 실무 도입 가치와 구현 경로

개발자가 로컬 환경에서 외부 API 유출 없이 사내 지식을 체계적으로 관리하고, 모델의 추론 경로를 투명하게 추적해야 하는 기업 환경에서 JAMES는 실질적인 레퍼런스를 제공한다. 특히 v0.3.0으로 진입하며 인지 미들웨어 레이어가 단순 설계 문서를 넘어 실제 import 가능한 모듈로 구현됨에 따라, 보안이 핵심인 엔터프라이즈 환경에서의 도입 가능성이 한층 높아졌다. 현재 JAMES_PLUGINS 로더와 Backend Protocol이 안정화 단계에 접어들어, 특정 도메인에 최적화된 플러그인 개발과 연동이 용이해졌다. 실무자는 아래의 절차를 통해 로컬 환경에서 즉시 인프라를 구축하고 검증을 시작할 수 있다.

bash
git clone https://github.com/Hashevolution/James-RAG-Evol
cp .env.example .env
pip install -r requirements.txt
ollama pull gemma2:2b
python server_llmwiki.py

코드 품질 관리 측면에서도 기업 수준의 표준을 준수한다. 프로젝트는 ruff F-class baseline을 적용하여 정적 분석을 강화했으며, GitHub Actions를 통한 린트 워크플로(PR #205)를 구축하여 지속적인 코드 통합 과정에서 발생할 수 있는 결함을 사전에 차단하고 있다. 이는 단순히 기능을 구현하는 것을 넘어, 장기적인 유지보수성과 보안성을 확보하려는 실무적 의도를 보여준다. 특히 3-stage 보안 파이프라인과 같은 구조적 접근은 외부 데이터 유출을 원천적으로 차단해야 하는 보안 정책 준수에 효과적이다.

현재 JAMES는 인지 단계에서의 추론 오류를 가공 없이 공개하는 투명한 개발 기조를 유지하고 있으며, 이는 실제 운영 환경에서의 예외 처리 전략을 수립하는 데 귀중한 데이터가 된다. 다중 사용자 환경이나 대규모 부하 테스트는 v0.4 버전 이후로 예정되어 있으나, 현재의 v0.3.0 플랫폼 스켈레톤은 사내 위키나 기술 문서를 로컬에서 안전하게 인덱싱하고, typed graph 형태의 추론 경로를 시각화하여 분석하려는 연구 및 프로토타입 단계의 프로젝트에 최적화된 기반을 제공한다. 개발자는 이 레퍼런스를 통해 보안이 내재화된 RAG 시스템의 초기 아키텍처를 빠르게 구성할 수 있다.