분류 전체보기 11

LLM 플랫폼 한 번 만들어보면 알게 되는 기술 스택 50선 — 한 줄 정리

에이전트, 게이트웨이, 메시, 벡터 DB… LLM 플랫폼을 처음부터 끝까지 굴려보면 생각보다 훨씬 많은 도구들이 엮여 돌아갑니다. 최근 사내에서 운영 중인 LLM 플랫폼을 회고하며 정리한 기술 스택 키워드를 카테고리별로 한 줄씩 정리해봤습니다. 비슷한 환경을 구축하시는 분들께 "이게 뭐 하는 친구지?" 싶을 때 빠르게 훑어볼 수 있는 용어집이 되었으면 합니다.들어가며LLM 기반 플랫폼은 단순히 "OpenAI API 호출하는 앱" 이상의 복잡한 시스템입니다. 모델 호출을 추상화하는 게이트웨이, 에이전트 워크플로를 시각적으로 짜는 노코드 빌더, 호출을 추적하는 관측 도구, 메모리를 담당하는 벡터/그래프 DB, 거기에 이 모든 것을 굴리는 Kubernetes 인프라와 인증/보안 레이어까지.이 글에서는 LLM ..

카테고리 없음 2026.05.15

Gerrit 코드 리뷰에서 반복되는 지적을 Claude Code Skill 로 자동화한 회고 (반복 코멘트 → TSV → Skill)

들어가며3개월 분량의 사내 Gerrit 코드 리뷰 코멘트를 모아 보니, 같은 지적이 자꾸 반복되고 있었다. 신규 합류자가 같은 사이클을 한 번 더 돌고, 리뷰어 시간이 매번 깎인다. 그래서 다음 파이프라인을 만들어 봤다.리뷰 코멘트 전체를 한 곳에 모으기 (Gerrit REST API → TSV → Excel).카테고리로 클러스터링.상위 N개 패턴을 Claude Code Skill 한 개로 코드화.신규 코드 작성 시 Claude 가 자동으로 사전 차단.결과적으로, 작성 단계에서 자동 차단되는 항목이 생겨서 같은 PR 의 같은 리뷰 코멘트가 줄어드는 게 확인됐다. 회고 + 만든 사람용 가이드 + 같은 파이프라인을 다른 저장소에 복제하는 방법까지 정리.핵심 키워드: Claude Code, Skill, cod..

카테고리 없음 2026.05.14

agentgateway 에서 여러 MCP 백엔드를 path prefix 로 멀티플렉싱하기 (테넌트별 라우팅 + 운영자 UI 설계)

들어가며agentgateway 에 MCP backend 를 여러 개 붙여서, 하나의 listener 포트 아래에서 path 로만 갈라서 노출하고 싶었다.예를 들면:/agentgateway/mcp1 → 팀 A 의 LangFlow MCP (도구 21개)/agentgateway/mcp2 → 외부 mcpbin (테스트용 도구)/agentgateway/mcp3 → 내부 검색 도구 MCP각 path 가 사실상 테넌트 역할이고, 테넌트별로 인증·도구셋·정책이 다르다. agentgateway 가 이걸 지원하는지 확인하고, UI 를 약간 손봐서 운영자 친화적으로 만든 회고. 그리고 미등록 path 의 default 동작이 함정이라 그것도 정리.핵심 키워드: agentgateway, multi-MCP routing, pa..

카테고리 없음 2026.05.14

agentgateway MCP Authorization 으로 특정 도구만 차단하기 (Deny Rule + Cedar + mcp.tool.name 매칭)

들어가며전날 agentgateway 에 LangFlow MCP 등록을 마치고 나서 바로 다음 요구가 들어왔다."게이트웨이에 backend 로 붙은 MCP 들 중에서, 특정 도구 하나만 호출 못 하게 막고 싶다. 예를 들어 count-characters 같은 데모용 도구는 운영에서 차단."agentgateway 는 이걸 위해 MCP Authorization 이라는 정책 레이어를 제공한다. 정책 언어는 Cedar (AWS 가 오픈소스화한 정책 언어). MCP 요청의 메타데이터 (mcp.tool.name, mcp.server.name, principal 등) 를 보고 allow / deny / forbid 한다.처음 쓰면 deny rule 이 안 먹히는 함정이 있어서, 그 디버깅 과정과 운영용 allow-li..

카테고리 없음 2026.05.14

Keycloak CSP frame-ancestors 로 iframe 임베드 차단된 문제 – 저장 버튼 grayed out 함정까지

들어가며사내 포털을 마이크로프론트엔드 (MFE) 구조로 운영 중이다. shell 앱이 여러 sub 앱을 iframe 으로 띄워서 보여주는 구조인데, 그 안에서 Keycloak 으로 보호되는 다른 앱을 iframe 으로 임베드하려고 했다. 결과는 브라우저 콘솔에 정겨운 한 줄.Refused to display 'https://app.example.com/' in a frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self'".원인은 한 번에 보이는데 해결까지 30분 이상 잡아먹었다. Keycloak Admin UI 의 silent save fail 함정 때문이었다. 검색해서..

카테고리 없음 2026.05.14

agentgateway 에 Langflow MCP 등록하기 – route not found, accept header, 도구 21개 헤맨 회고

들어가며LangFlow 에서 만든 MCP (Model Context Protocol) 서버를 agentgateway 라는 MCP 게이트웨이를 통해 노출하고, 그 게이트웨이를 다른 LLM 클라이언트(다른 LangFlow flow, 사내 챗 포털 등)에서 backend 로 등록해서 쓰려고 했다. 그림은 단순하다.LLM Client ── MCP ──> agentgateway ── MCP ──> LangFlow MCP server (도구 21개) └────────> 다른 MCP 서버 (mcpbin 등)실제 작업은 단순하지 않았다. route not found, client must accept both application/json and text/e..

카테고리 없음 2026.05.14

Langflow + Neo4j Community Edition 으로 폐쇄망 GraphRAG 만들기 (Aura에서 Docker 자체호스팅 전환 후기)

들어가며전날 만든 Langflow + 한국어 임베딩 위에, 이번에는 Neo4j 그래프 DB 를 붙여서 GraphRAG (Graph Retrieval-Augmented Generation) 데모를 만들기로 했다. GraphRAG 의 핵심은 "벡터 유사도만으로는 못 잡는 관계 정보 (entity-relationship) 를 그래프 쿼리로 보강" 하는 것. 예를 들어 "이 고객이 산 상품의 다른 구매자는 누구?" 같은 질문은 벡터 검색만으로는 막막하지만 Cypher 한 줄이면 된다.처음에는 빠르게 시작하기 위해 Neo4j Aura (managed cloud) 로 PoC 를 만들었는데, 운영 요구사항이 "폐쇄망 환경" 으로 바뀌면서 Community Edition 을 Docker 로 자체호스팅 하는 쪽으로 갈아..

카테고리 없음 2026.05.14

Langflow에 한국어 임베딩(jhgan/ko-sroberta-multitask) 커스텀 컴포넌트 붙이기 – venv 헤맨 후기

들어가며Langflow 로 한국어 RAG (Retrieval-Augmented Generation) 파이프라인을 만드려고 임베딩 모델을 골라야 했다. OpenAI 의 text-embedding-3-small 같은 상용 임베딩은 품질은 좋지만 비용과 폐쇄망 운영 불가능이라는 두 가지 큰 제약이 있다. 그래서 처음부터 로컬에서 돌아가는 한국어 임베딩을 붙이기로 했다.후보를 두 개로 좁혔다.모델출처차원한국어 품질운영jhgan/ko-sroberta-multitaskHuggingFace768⭐⭐⭐⭐⭐ (한국어 특화 학습)sentence-transformers 로 CPU 추론 가능nomic-embed-textOllama768⭐⭐⭐ (다국어, 한국어는 평이)Ollama 데몬으로 호스팅한국어 검색·RAG 품질만 보면 ..

카테고리 없음 2026.05.14

LangFlow + Neo4j로 자연어 RBAC 그래프 검색 만들기 — 삽질 기록 총정리

배경e-커머스 주문 데이터를 Neo4j 그래프 DB에 적재해둔 상태에서, 이걸 LangFlow AI Agent를 통해 자연어로 질의할 수 있는 파이프라인을 만들고 싶었다.핵심 요구사항은 두 가지였다.Role-Based Access Control (RBAC) — 직급/권한에 따라 접근 가능한 데이터가 달라야 한다. reader는 상품·국가만 볼 수 있고, pii_admin만 이메일·전화번호 같은 PII 데이터에 접근 가능하다.그래프 관계 탐색 — "영국 고객들의 주문 목록"처럼 Country → Customer → Order를 넘나드는 멀티홉 탐색이 자연어로 동작해야 한다.환경항목버전LangFlow1.9.0Neo4j5.27-aura (Enterprise)Python3.12neo4j 드라이버6.1.0패키지는..

카테고리 없음 2026.05.04

Neo4j RBAC 구현 — Aura 환경에서 제약과 애플리케이션 우회

1. Neo4j란 무엇인가Neo4j는 세계에서 가장 널리 쓰이는 그래프 데이터베이스(Graph Database) 다. 관계형 데이터베이스(RDB)가 행과 열로 데이터를 저장한다면, 그래프 DB는 노드(Node) 와 관계(Relationship) 로 데이터를 저장한다.왜 그래프 DB인가?쇼핑몰을 예로 들면:RDB는 Customer, Order, Product 테이블을 만들고 외래키로 연결한다.Neo4j는 (Customer)-[:PURCHASED]->(Order)-[:CONTAINS]->(Product) 처럼 관계 자체를 1급 시민으로 다룬다.이로 인해 다음과 같은 질문에 압도적으로 빠르게 답할 수 있다:"이 고객과 비슷한 구매 패턴을 가진 다른 고객은?""전화번호를 공유하는 의심 계정 그룹은?""3단계 이..

카테고리 없음 2026.04.29