AI / LLM Engineering
XGEN 플랫폼, LLM 서빙, RAG, MCP 기반 에이전트, 그래프 기반 도구 검색까지 실제 서비스 개발과 운영에서 나온 AI 엔지니어링 기록입니다.
LLM Serving · RAG · MCP Agent
학습 경로
-
Step 1
모델과 검색 기반 다지기
토큰화, Transformer, RAG 검색 구조를 먼저 잡습니다.
- 01
Tokenization 기법 정리: BPE, WordPiece, SentencePiece 비교
NLP에서 텍스트를 토큰으로 분할하는 주요 기법(BPE, WordPiece, SentencePiece)의 원리와 차이를 정리한다. BERT, GPT 등 Transformer 모델에서 사용하는 토크나이저 비교.
- 02
Transformer의 Query, Key, Value 행렬 생성 과정
Transformer 어텐션에서 Q, K, V 행렬이 생성되는 과정을 단계별로 정리한다. 입력 임베딩에서 가중치 행렬을 곱해 Query, Key, Value를 만들고 어텐션 스코어를 계산하기까지.
- 03
Iterative RAG: 반복 검색으로 복잡한 질문 답변하기
xgen-workflow에서 단순 RAG의 한계를 넘어 Iterative 방식으로 반복 검색하며 컨텍스트를 보완하는 4단계 파이프라인 구현 - Query Expansion, Large-Scale Search, Iterative Filtering, Compression
- 01
-
Step 2
LLM 서빙과 RAG 운영
vLLM, 임베딩 서버, Qdrant 기반 검색 파이프라인을 봅니다.
- 01
vLLM vs LMDeploy vs SGLang: LLM 서빙 프레임워크 3종 벤치마크 비교
vLLM, LMDeploy, SGLang 세 가지 LLM 추론 프레임워크의 처리 속도, 메모리 효율, 동시 요청 처리 능력을 벤치마크 기반으로 비교 분석한다.
- 02
Embedding 모델 서빙: batch size 최적화로 긴 문서 처리
XGEN 모델 서버에서 임베딩 모델을 서빙할 때 batch size 512→2048 증가로 긴 문서 임베딩을 지원하고, n_ubatch와 n_batch 차이, CPU 전용 처리 결정까지의 실전 기록
- 03
Qdrant 하이브리드 검색: Sparse + Dense 벡터 통합
xgen-retrieval에서 Qdrant의 Prefetch+Fusion API로 BM25 Sparse Vector와 Dense Embedding을 결합하는 하이브리드 검색 구현, Full-Text Index 추가, 컬렉션 설정까지
- 01
-
Step 3
Agent와 Tool Retrieval
MCP, 그래프 기반 도구 검색, 실행 계획 컴파일러로 이어집니다.
- 01
graph-tool-call: LLM Agent를 위한 그래프 기반 도구 검색 엔진
1,077개 API endpoint를 가진 커머스 플랫폼에서 LLM Agent가 적절한 도구를 찾는 문제를 해결하기 위해 그래프 기반 도구 검색 엔진을 설계하고 구현한 과정을 정리한다. OpenAPI 스펙 자동 수집, 관계 그래프 구축, BM25+그래프확장+임베딩 하이브리드 검색, MCP Annotation-Aware Retrieval까지 8일간의 개발 여정을 다룬다.
- 02
graph-tool-call v0.20 개발기: RPC 탐지에서 Plan-and-Execute 컴파일러까지
graph-tool-call v0.19의 tool result 압축 이후, v0.20 방향으로 진행한 RPC 패턴 감지, 동적 prefix 탐지, intent parser, graph 기반 path synthesizer, runner, response synthesizer, zero-vector retrieval까지의 설계 변화를 정리한다. 아직 릴리스 전 브랜치 기준의 개발기다.
- 03
gwanjong-mcp — AI 소셜 에이전트 MCP 시스템 설계와 구현
4개 소셜 플랫폼(Dev.to, Bluesky, Twitter, Reddit)을 하나의 인터페이스로 통합하고, Stateful Pipeline MCP 프레임워크 위에 Scout/Draft/Strike 3단계 파이프라인을 구축한 AI 소셜 에이전트의 아키텍처와 구현 과정을 정리한다.
- 01
대표 글
- AI
graph-tool-call: LLM Agent를 위한 그래프 기반 도구 검색 엔진
1,077개 API endpoint를 가진 커머스 플랫폼에서 LLM Agent가 적절한 도구를 찾는 문제를 해결하기 위해 그래프 기반 도구 검색 엔진을 설계하고 구현한 과정을 정리한다. OpenAPI 스펙 자동 수집, 관계 그래프 구축, BM25+그래프확장+임베딩 하이브리드 검색, MCP Annotation-Aware Retrieval까지 8일간의 개발 여정을 다룬다.
LLM AgentTool Retrieval - AI
graph-tool-call v0.20 개발기: RPC 탐지에서 Plan-and-Execute 컴파일러까지
graph-tool-call v0.19의 tool result 압축 이후, v0.20 방향으로 진행한 RPC 패턴 감지, 동적 prefix 탐지, intent parser, graph 기반 path synthesizer, runner, response synthesizer, zero-vector retrieval까지의 설계 변화를 정리한다. 아직 릴리스 전 브랜치 기준의 개발기다.
graph-tool-callAI Agent - AI
vLLM에서 llama.cpp로: LLM 서빙 아키텍처 통합 마이그레이션
vLLM Ray Serve 분산 구조에서 통합 모델 서빙 서비스로 마이그레이션한 과정. 백엔드 스위칭 매니저 설계, llama.cpp와 vLLM 런타임 전환까지.
모델서빙리팩토링 - AI
Qdrant 하이브리드 검색: Sparse + Dense 벡터 통합
xgen-retrieval에서 Qdrant의 Prefetch+Fusion API로 BM25 Sparse Vector와 Dense Embedding을 결합하는 하이브리드 검색 구현, Full-Text Index 추가, 컬렉션 설정까지
Qdrant하이브리드검색
핵심 태그
시리즈
최신 글
전체 글검색 품질은 감으로 고치면 끝이 없다: synaptic-memory 평가 루프 만들기
블로그 semantic search를 감으로 고치지 않기 위해 검색 문제지, 정답 URL, top1/recall/MRR/latency 지표, 실패 유형 backlog를 만든 과정을 정리한다.
체험존 프로비저너: 신청 한 건으로 격리된 멀티테넌트 스택을 자동 발급하다
이메일 신청 한 건으로 XGEN 전체 스택을 격리해 자동 발급하는 셀프서비스 체험존(Trial Zone) 프로비저너를 설계하고 운영한 과정을 정리한다. Docker Compose per-tenant 격리, AWS 엣지 TLS 종료, nginx 동적 서브도메인 라우팅, 비동기 발급, TTL 회수까지 실전 트러블슈팅 중심으로 다룬다.
XGEN Canvas Chat와 Harness 컴파일: 대화형 워크플로우를 실행 가능한 에이전트 파이프라인으로 만들기
대화로 만든 Canvas 워크플로우를 Harness 노드와 Compile 버튼으로 실행 가능한 에이전트 파이프라인으로 전환하면서 겪은 설계 판단을 정리한다. stage 로그, tool 입출력, LLM narration, 권한 전파, system prompt 주입, UI 재실행 버그까지 다룬다.
XGEN MCP 폐쇄망 번들 시스템: 외부망 패키지를 .tar.gz로 묶어 원클릭 도구 세션까지 연결하기
MCP 서버를 인터넷이 막힌 폐쇄망 XGEN 환경에서 설치하고 실행하기 위해 외부망 번들 빌드, 업로드, 세션 복원, 마켓 카탈로그, 데스크톱 앱 UX를 하나의 흐름으로 연결한 구현 과정을 정리한다. stdio JSON-RPC 응답 correlation 버그와 웹/데스크톱 공통 API 설계까지 다룬다.
XGEN Workbench 분산 실행 인프라: KVM 컴퓨트 풀, GPU 워커, PriorityClass, NetworkPolicy까지
XGEN의 LLMOps/MLOps 워크벤치를 단일 Pod 실행에서 KVM 컴퓨트 풀과 GPU 워커 기반 분산 실행 구조로 확장한 과정을 정리한다. Workbench 컨트롤러, SandboxExec, Prompt Studio, 학습 Job, headless worker, GPU 메트릭, PriorityClass, NetworkPolicy, anti-affinity 설계까지 다룬다.
XGEN 데스크톱 앱 고도화: Tauri에서 로컬 Ollama, 백엔드 자동기동, MCP/RAG를 한 번에 연결하기
기존 웹 기반 XGEN 프론트엔드를 Tauri 데스크톱 앱으로 감싸는 수준을 넘어, 로컬 Ollama 자동 기동, Docker Compose 백엔드 자동 시작, MCP 라이브러리 UX, 로컬 모델 서빙 패널, RAG 문서 API 절대경로화를 하나의 앱 경험으로 묶은 과정을 정리한다.
api-to-tools: 어떤 API든 LLM 도구로 변환하는 5단계 Fallback 디스커버리 전략
OpenAPI/Swagger/HAR/GraphQL/gRPC/AsyncAPI/WSDL/Nexacro까지, 스펙이 있든 없든 임의의 API를 LLM이 호출 가능한 Tool 정의로 자동 변환하는 라이브러리를 4일 만에 v0.3에서 v0.16까지 진화시킨 과정과 5단계 Fallback 디스커버리 전략을 정리한다.
graph-tool-call v0.19: Tool Result 지능형 압축으로 76K → 116 토큰 (97.6% 절감)
LLM 에이전트의 컨텍스트 폭주 주범인 tool 응답을 타입별로 지능형 압축한다. JSON list/dict, HTML, Error, Text 5종 압축기와 HTTP 응답 자동 감지, ToolGraph/MCPProxy/MCP server/LangChain 게이트웨이 4개 통합 지점을 zero-dependency로 구현한 v0.19의 설계와 측정치.