본문 바로가기
B블루에이전트

Technology

기술

LLM은 지능을 제공하고, 에이전트 시스템은 실행 환경을 제공합니다.

Philosophy

설계 철학

세 가지 원칙이 모든 프로젝트의 아키텍처를 결정합니다.

코드가 할 일과 LLM이 할 일의 분리

결정론적 로직(데이터 검증, 라우팅, 상태 관리)은 코드가, 비결정론적 판단(자연어 이해, 맥락 추론, 요약)은 LLM이 담당합니다. 이 경계를 명확히 하는 것이 안정적인 에이전트 시스템의 핵심입니다.

MCP 표준 기반 연동

Model Context Protocol은 LLM과 외부 도구를 연결하는 표준 프로토콜입니다. 커스텀 API 없이 ERP, DB, 파일 시스템 등을 LLM의 도구로 등록하여, LLM이 직접 호출하고 결과를 해석합니다.

데이터 주권 우선

제조업 데이터는 사내를 벗어나지 않습니다. Private LLM은 완전 로컬, ktp는 사용자가 공개 범위를 통제, RTSPM은 Wireguard 사설망으로 보호합니다.

Agent Architecture

에이전트 아키텍처

사용자 LLM이 MCP Gateway를 통해 에이전트 오케스트레이터와 연결되는 구조입니다.

사용자 LLMClaude / GPT / Local LLMMCP GatewayFastMCP / JWT 인증 / tenant_id 라우팅에이전트 오케스트레이터OpenClaw Multi-Agent RoutingIngestAgentQueryAgentLintAgent도구 서버ERP/MESDB파일시스템외부API지식 저장소PostgreSQL / 이벤트 소싱

MCP 표준 연동

Model Context Protocol로 LLM과 외부 도구(ERP, DB, 파일 시스템)를 연결합니다. 커스텀 API 없이 LLM이 직접 도구를 호출하고 결과를 해석합니다.

OpenClaw 오케스트레이션

멀티에이전트 라우팅으로 독립 에이전트들을 관리합니다. 각 에이전트는 자기 워크스페이스와 모델을 독립적으로 보유하며, 필요시 서브에이전트를 위임합니다.

테넌트 격리

에이전트는 Stateless 공용 자원이며, 데이터만 tenant_id 기반 PostgreSQL Row-Level Security로 격리합니다. 사용자별 전용 컨테이너는 없습니다.

Agent Pipeline

멀티에이전트 파이프라인

사용자 요청이 처리되는 단계별 흐름입니다.

1

MCP 요청 수신

사용자의 LLM이 MCP 도구를 호출하면, Gateway에서 JWT 인증과 tenant_id를 확인합니다.

2

에이전트 라우팅

active_mode(진로 탐구/포트폴리오/업무)에 따라 해당 모드의 에이전트 셋으로 라우팅합니다.

3

지식 추출 및 구조화

Ingest Agent가 대화 내용을 분해하고, 7개 카테고리로 분류하며, 9개 관계 타입으로 연결합니다.

4

품질 검수

Lint Agent가 Schema 규칙 위반, 기존 지식과의 모순, 카테고리-내용 불일치를 검사합니다.

5

사용자 승인

Diff 미리보기를 사용자에게 표시하고, 승인·편집·거부 중 선택합니다. 거부된 내용은 어디에도 저장되지 않습니다.

Tech Stack

기술 스택

추론 엔진

vLLMNVFP4 양자화Qwen3.6-35B-A3BOpenAI 호환 API

에이전트 프레임워크

OpenClawQwen-AgentFastMCPMCP Gateway

백엔드

FastAPIPostgreSQL (pgvector)SQLite (WAL)이벤트 소싱

프론트엔드

Next.js 16ECharts 5Tailwind CSS

인프라

Docker ComposeWireguardCaddyNginx

하드웨어

DGX Spark (ASUS GX10)128GB 통합 메모리ARM Cortex-X925

Infrastructure

배포 인프라

프로덕션 환경의 서버와 네트워크 구성입니다.

인터넷 (Public)OpenClaw 서버WG 허브 / Public IPGateway + AgentsRTSPM / Homepage 서버Public IP + WG peerHomepage:3100RTSPM:3000 / :8000Nginx 리버스 프록시DB 서버 (외부)Public IP / WG 밖MariaDB :3306ETLWireguard 사설망 (10.x.x.0/24)LLM 서버Public IP 없음 (내부 전용)vLLM / DGX SparkMQTT (IoT) 서버Public IP 없음 (내부 전용)IoT 센서 데이터 수집

Wireguard 사설망

Public IP가 없는 내부 서버(LLM, IoT)는 Wireguard 터널로 연결됩니다. OpenClaw 서버가 허브 역할을 하며, 외부에서 사설망 서버에 직접 접근할 수 없습니다.

Docker 기반 독립 배포

홈페이지와 RTSPM은 같은 서버에서 독립된 Docker Compose 스택으로 운영됩니다. 코드·이미지·네트워크 모두 분리되어, 한쪽을 재배포해도 다른 서비스에 영향이 없습니다.

호스트 Nginx 리버스 프록시

호스트에 설치된 Nginx가 URL 경로별로 컨테이너를 분기합니다. SSL(Let's Encrypt)과 HTTP/2는 Nginx가 처리하고, 컨테이너는 내부 포트만 사용합니다.

복제 배포

RTSPM은 환경 변수만 변경하면 다른 제조업체 서버에 5분 이내 복제 배포됩니다. 동일한 Docker 이미지로 다수 고객을 지원합니다.

LLM Selection

LLM 모델 선정 기준

제조업 Private LLM에 최적화된 모델과 하드웨어를 선정하는 기준입니다.

NVFP4 네이티브 지원

블랙웰 아키텍처의 4비트 부동소수점을 하드웨어 수준에서 직접 연산합니다. 소프트웨어 역양자화 없이 FP8 대비 2배 속도, 메모리 절반을 달성합니다.

MCP/Tool Use 네이티브

에이전트 시스템의 핵심인 Tool Calling이 모델 수준에서 지원되어야 합니다. Qwen-Agent 프레임워크로 MCP 서버와 바로 연동됩니다.

충분한 컨텍스트

복잡한 생산 분석 작업에 긴 문맥이 필요합니다. 네이티브 256K 토큰, YaRN 확장 시 최대 100만 토큰을 지원합니다.

항목사양
모델Qwen3.6-35B-A3B
구조MoE — 총 35B 파라미터, 활성 3B (128개 전문가 중 8개 활성)
양자화NVFP4 — 약 20GB (128GB 통합 메모리의 15~16%)
컨텍스트네이티브 256K / YaRN 확장 최대 1M 토큰
하드웨어ASUS Ascent GX10 (NVIDIA DGX Spark) — 128GB LPDDR5x 통합 메모리
성능 등급Claude Haiku 4.5급 — Tool Calling, 정형화된 응답 위주 업무에 충분
라이선스Apache 2.0 (상업적 사용 가능)

Inference Engine

로컬 추론 엔진

vLLM 기반 로컬 서빙으로 데이터 주권을 보호합니다.

PagedAttention

긴 시퀀스를 페이지 단위로 분할하여 GPU 메모리를 동적 할당합니다. 256K 토큰 컨텍스트도 메모리 부족 없이 처리합니다.

Continuous Batching

요청을 동적으로 배치하여 GPU 활용률을 최대화합니다. 단일 GPU에서도 다수 동시 요청을 효율적으로 처리합니다.

OpenAI 호환 API

표준 OpenAI API 포맷을 그대로 제공합니다. 기존 애플리케이션을 거의 수정 없이 로컬 LLM으로 전환할 수 있습니다.

NVFP4 네이티브 추론

블랙웰 아키텍처의 4비트 부동소수점을 하드웨어에서 직접 연산합니다. FP8 대비 2배 속도, 메모리 사용량 절반을 달성합니다.

vLLM + GX10 조합으로 모든 데이터를 사내에서 처리합니다. OpenAI 호환 API를 제공하므로, 기존 애플리케이션을 거의 수정 없이 로컬 LLM으로 전환할 수 있습니다.

Data Isolation

데이터 격리 및 무결성

멀티테넌트 환경에서 데이터를 보호하는 계층적 방어 구조입니다.

PostgreSQL Row-Level Security

모든 테이블에 tenant_id 기반 RLS 정책을 적용합니다. 쿼리가 자동으로 테넌트 필터를 포함하므로, 애플리케이션 코드의 실수로 다른 테넌트 데이터에 접근하는 것이 DB 수준에서 원천 차단됩니다.

이벤트 소싱 불변 로그

지식 데이터는 append-only 이벤트 로그로 저장됩니다. 각 이벤트는 이전 이벤트의 SHA-256 해시를 포함하는 체인 구조이며, 외부 타임스탬프 서비스에 주기적으로 앵커링하여 특정 시점의 데이터 존재를 수학적으로 증명합니다.

Stateless 에이전트 격리

시스템 에이전트는 Stateless로 설계되어, 요청마다 tenant_id를 첫 인자로 받고 처리 후 즉시 상태를 해제합니다. 에이전트 간 공유 메모리·캐시는 tenant_id를 key prefix로 사용하며, 이상 접근 패턴을 자동 감지합니다.

4층 데이터 공개 모델

층 1: 완전 비공개모든 데이터의 기본 상태. RLS로 본인만 접근 가능.

층 2: 평가자 1:1 공개특수 목적, 지정 대상, 범위 한정, 기간 한정의 4가지 조건을 모두 충족할 때만 활성.

층 3: 자발적 프로젝트 공개해시 체인으로 "역사의 존재"를 수학적으로 증명. 내용은 숨기고 탐구 이력의 존재만 공개.

층 4: 허브 자동 기여일반화 가능한 지식이 익명화되어 집단 허브에 자동 반영. 정제된 허브 지식이 모든 사용자에게 돌아옴.