AI 시스템: 자체 호스팅 어시스턴트, RAG 및 로컬 인프라

Page content

대부분의 로컬 AI 설정은 모델과 런타임에서 시작합니다.

양자화(Quantized)된 모델을 다운로드하고 Ollama나 다른 런타임을 통해 실행한 후 프롬프팅을 시작합니다. 실험 목적이라면 이 정도면 충분합니다. 하지만 단순한 호기심을 넘어 메모리, 검색 품질, 라우팅 결정 또는 비용 인식을 중요시하게 되면, 이러한 단순함의 한계가 드러납니다.

이 클러스터는 다른 접근 방식을 탐구합니다. AI 어시스턴트를 단일 모델 호출이 아닌, 조율된 시스템으로 취급하는 방식이죠.

이 차이는 처음에는 미묘해 보일 수 있지만, 로컬 AI에 대한 사고방식을 근본적으로 변화시킵니다.

로컬 LLM, RAG 및 메모리 레이어를 활용한 AI 시스템 오케스트레이션


AI 시스템이란 무엇인가?

AI 시스템은 단순한 모델을 넘어섭니다. 추론, 검색, 메모리 및 실행을 연결하여 일관된 어시스턴트처럼 동작하는 오케스트레이션 레이어입니다.

로컬에서 모델을 실행하는 것은 인프라 작업입니다. 그러나 그 모델을 중심으로 어시스턴트를 설계하는 것은 시스템 작업입니다.

다음과 관련된 광범위한 가이드를 살펴보셨다면:

이미 추론이 스택의 한 레이어에 불과하다는 것을 아실 것입니다.

AI 시스템 클러스터는 이러한 레이어 위에 위치합니다. 이는 기존 레이어를 대체하는 것이 아니라 결합하는 것입니다.

프로덕션 어시스턴트에서 이러한 레이어들이 어떻게 연결되는지, 즉 LLM, 메모리, 도구, 라우팅 및 가시성, 그리고 OpenClaw와 Hermes를 참조 시스템으로 사용하는 교차 맵에 대해서는 AI 어시스턴트 아키텍처: LLM, 메모리, 도구, 라우팅, 가시성을 참조하십시오.


OpenClaw: 자체 호스팅 AI 어시스턴트 시스템

OpenClaw는 메시징 플랫폼 전반에서 작동하도록 설계되면서 로컬 인프라에서 실행되는 오픈 소스 자체 호스팅 AI 어시스턴트입니다.

실무적으로 다음과 같은 기능을 제공합니다:

  • Ollama 또는 vLLM과 같은 로컬 LLM 런타임 사용
  • 색인화된 문서에 대한 검색 통합
  • 단일 세션을 넘어선 메모리 유지
  • 도구 및 자동화 작업 실행
  • 계측(Instrumentation) 및 관찰 가능
  • 하드웨어 제약 내에서 작동

이는 단순히 모델을 감싼 래퍼(wrapper)가 아닙니다. 추론, 검색, 메모리 및 실행을 연결하여 일관된 어시스턴트처럼 동작하는 오케스트레이션 레이어입니다.

시작 및 아키텍처:

맥락 및 분석:

OpenClaw 확장 및 구성:

플러그인은 OpenClaw 런타임을 확장하여 메모리 백엔드, 모델 제공자, 통신 채널, 웹 도구 및 가시성을 추가합니다. 스킬(Skills)은 에이전트 행동을 확장하여 에이전트가 이러한 기능을 어떻게 그리고 언제 사용할지 정의합니다. 프로덕션 구성은 실제 시스템을 사용하는 사용자를 중심으로 이 둘을 결합하는 것을 의미합니다.


Hermes: 스킬과 도구 샌드박싱을 갖춘 지속형 에이전트

Hermes Agent는 지속적 운영에 초점을 맞춘 자체 호스팅, 모델 독립적인 어시스턴트입니다. 장기간 프로세스로 실행할 수 있으며, 구성 가능한 백엔드를 통해 도구를 실행하고, 메모리 및 재사용 가능한 스킬을 통해 워크플로우를 지속적으로 개선합니다.

실무적으로 Hermes는 다음과 같은 요구가 있을 때 유용합니다:

  • 메시징 앱과도 연결할 수 있는 터미널 중심의 어시스턴트
  • OpenAI 호환 엔드포인트 및 모델 전환을 통한 제공자 유연성
  • 로컬 및 샌드박스 백엔드를 통한 도구 실행 경계 설정
  • 진단, 로그 및 구성 위생( hygiene )을 통한 Day-two 운영

Hermes 프로필은 완전히 격리된 환경입니다 — 각 프로필은 자체 구성, 비밀( Secrets ), 메모리, 세션, 스킬 및 상태를 가지며, 이는 개별 스킬이 아닌 프로필이 실제 프로덕션 소유의 단위임을 의미합니다.


지속형 지식 및 메모리

일부 문제는 더 큰 컨텍스트 윈도우만으로는 해결되지 않습니다 — 지속형 지식(그래프, 인제스트 파이프라인)과 에이전트 메모리 플러그인(Honcho, Mem0, Hindsight 및 유사한 백엔드)을 Hermes나 OpenClaw와 같은 어시스턴트에 연결해야 합니다.


MCP: Model Context Protocol 서버

Model Context Protocol(MCP)은 Anthropic이 도입한 오픈 표준으로, AI 언어 모델을 외부 데이터 소스, 도구 및 시스템에 연결하는 것입니다. 이는 보편적인 인터페이스를 제공하여 N×M 통합 문제를 해결합니다 — AI 애플리케이션의 USB-C 포트라고 생각하면 됩니다. MCP 서버를 구축하면 파일, 데이터베이스, API 및 호출 가능한 도구에 대한 사용자 정의 통합을 사용하여 AI 어시스턴트를 확장할 수 있으며, 이는 stdio 또는 HTTP를 기반으로 하는 간단한 JSON-RPC 프로토콜을 사용합니다.

  • Go로 구현한 MCP 서버 — 프로토콜 아키텍처, JSON-RPC 메시지 구조, 기능 협상, 공식 Go SDK 및 Go로 MCP 서버 구축을 위한 단계별 튜토리얼
  • Python으로 MCP 서버 구축 — 웹 검색 및 스크래핑 MCP 서버, stdio 및 SSE 전송, 그리고 Claude Desktop 통합을 다루는 실용적인 Python 구현 가이드

AI 시스템을 차별화하는 요소

AI 시스템을 더 자세히 살펴볼 만한 여러 특징이 있습니다.

모델 라우팅을 디자인 선택으로

대부분의 로컬 설정은 하나의 모델을 기본값으로 사용합니다. AI 시스템은 모델을 의도적으로 선택하는 것을 지원합니다.

이는 다음과 같은 질문을 제기합니다:

  • 작은 요청은 더 작은 모델을 사용해야 하는가?
  • 언제 추론이 더 큰 컨텍스트 윈도우를 정당화하는가?
  • 토큰 1,000개당 비용 차이는 얼마나 되는가?

이러한 질문은 LLM 성능 가이드에서 논의된 성능 트레이드오프와 LLM 호스팅 가이드에概述된 인프라 결정과 직접적으로 연결됩니다.

AI 시스템은 이러한 결정을 숨기는 대신 표면화합니다.

검색을 진화하는 구성 요소로 취급

AI 시스템은 문서 검색을 통합하지만, 단순한 “임베딩 및 검색” 단계로 처리하지는 않습니다.

그들은 다음과 같은 사실을 인정합니다:

  • 청크(Chunk) 크기가 리콜(Recall)과 비용에 영향을 미친다
  • 하이브리드 검색(BM25 + 벡터)이 순수한 밀집(Dense) 검색보다 더 나은 성능을 낼 수 있다
  • 재순위화(Reranking)는 지연 시간을 희생하여 관련성을 개선한다
  • 인덱싱 전략이 메모리 사용량에 영향을 미친다

이러한 주제들은 RAG 튜토리얼에서 논의된 더 깊은 아키텍처 고려사항과 일치합니다.

차이는 AI 시스템이 검색을 고립된 데모로 제시하는 대신 살아있는 어시스턴트에 임베딩한다는 점입니다.

메모리를 인프라로

상태(Stateless) LLM은 세션 간에 모든 것을 잊습니다.

AI 시스템은 지속형 메모리 레이어를 도입합니다. 이는 즉시 설계 질문을 제기합니다:

  • 장기적으로 저장해야 할 것은 무엇인가?
  • 언제 컨텍스트를 요약해야 하는가?
  • 토큰 폭발을 어떻게 방지하는가?
  • 메모리를 어떻게 효율적으로 인덱싱하는가?

이러한 질문은 데이터 인프라 가이드의 데이터 레이어 고려사항과 직접적으로 교차합니다. 특히 Hermes Agent의 경우 — 경계된 2개 파일 메모리, 프리픽스 캐싱, 외부 플러그인 — Hermes Agent 메모리 시스템 및 교차 프레임워크 비교 에이전트 메모리 제공자 비교로 시작하십시오. AI 시스템 메모리 허브에는 관련된 Cognee 및 지식 레이어 가이드가 나열되어 있습니다.

메모리는 기능이 멈추고 저장 문제가 됩니다.

가시성(Observability)은 선택 사항이 아님

대부분의 로컬 AI 실험은 “응답한다"는 단계에서 멈춥니다.

AI 시스템은 다음을 관찰할 수 있게 합니다:

  • 토큰 사용량
  • 지연 시간(Latency)
  • 하드웨어 활용도
  • 처리량(Throughput) 패턴

이는 가시성 가이드에 설명된 모니터링 원칙과 자연스럽게 연결됩니다.

AI가 하드웨어에서 실행된다면, 다른 워크로드와 마찬가지로 측정 가능해야 합니다.


사용해보는 느낌

외부에서 볼 때, AI 시스템은 여전히 채팅 인터페이스처럼 보일 수 있습니다.

하지만 표면 아래에서는 더 많은 일이 벌어집니다.

로컬에 저장된 기술 보고서를 요약해 달라고 요청하면:

  1. 관련 문서 세그먼트를 검색합니다.
  2. 적절한 모델을 선택합니다.
  3. 응답을 생성합니다.
  4. 토큰 사용량과 지연 시간을 기록합니다.
  5. 필요시 지속형 메모리를 업데이트합니다.

가시적인 상호작용은 단순하게 유지됩니다. 시스템 동작은 다층적입니다.

이러한 다층적인 동작이 시스템을 데모와 구별합니다.


스택에서 AI 시스템의 위치

AI 시스템 클러스터는 여러 인프라 레이어의 교차점에 위치합니다:

  • LLM 호스팅: 모델이 실행되는 런타임 레이어(Ollama, vLLM, llama.cpp)
  • RAG: 컨텍스트와 기반(Grounding)을 제공하는 검색 레이어
  • 성능: 지연 시간과 처리량을 추적하는 측정 레이어
  • 가시성(Observability): 지표와 비용 추적을 제공하는 모니터링 레이어
  • 데이터 인프라: 메모리와 인덱싱을 처리하는 스토리지 레이어

이러한 구분을 이해하는 것은 유용합니다. 직접 실행해 보면 그 차이가 더 명확해집니다.

OpenClaw를 사용한 최소한의 로컬 설치에 대해서는 OpenClaw 빠른 시작 가이드를 참조하십시오. 여기서는 로컬 Ollama 모델 또는 클라우드 기반 Claude 구성을 사용하는 Docker 기반 설정을 안내합니다.

설정이 Claude에 의존하는 경우, 에이전트 도구를 위한 이 정책 변경은 제3자 OpenClaw 워크플로우에 이제 API 청구가 필요한 이유를 명확히 합니다.


관련 리소스

MCP 서버:

AI 어시스턴트 가이드:

인프라 레이어:

구독하기

시스템, 인프라, AI 엔지니어링에 관한 새 글을 받아보세요.