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

Page content

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

양자화 모델을 다운로드하고 Ollama 또는 다른 런타임을 통해 실행한 후 프롬프트를 입력합니다. 실험을 위해선 이 정도면 충분합니다. 하지만 단순 호기심을 넘어 메모리, 검색 품질, 라우팅 결정, 비용 인식을 중요하게 여기기 시작하면 단순함이 한계를 드러내기 시작합니다.

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

그 구별은 처음엔 미묘해 보일 수 있지만, 로컬 AI를 바라보는 방식을 완전히 바꿉니다.

AI systems orchestration with local LLMs, RAG, and memory layers


AI 시스템이란?

AI 시스템은 모델보다 더 많습니다. 추론, 검색, 메모리, 실행을 연결하여 일관된 어시스턴트처럼 동작하는 조율 레이어입니다.

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

다음과 같은 더 넓은 가이드를 살펴본 적이 있다면:

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

AI 시스템 클러스터는 이러한 레이어 위에 위치합니다. 그것들을 대체하지 않습니다 — 결합합니다.

LLM, 메모리, 툴링, 라우팅, 관측성이 프로덕션 어시스턴트에서 어떻게 조화를 이루는지, OpenClaw와 Hermes를 참조 시스템으로 하는 전체 지도를 보려면 AI 어시스턴트 아키텍처: LLM, 메모리, 도구, 라우팅, 관측성을 참조하세요.

어시스턴트 아키텍처가 안정화되면 다음 단계는 이를 능동적으로 만드는 것입니다. AI 어시스턴트의 폴링 에이전트: 11가지 구현 패턴은 백그라운드 폴링 워커, 큐 기반 실행, 지속적 워크플로우, 시맨틱 LLM 평가기가 반응형 어시스턴트를 스스로 관찰하고 결정하고 행동하는 어시스턴트로 어떻게 전환시키는지 다룹니다.

단일 어시스턴트가 충분하지 않고 여러 에이전트가 조정해야 할 때, 조정 패턴의 선택이 모든 것을 결정합니다: 지연 시간, 장애 허용, 비용, 디버깅 용이성. 멀티 에이전트 오케스트레이션 패턴: 실용적 가이드은 오케스트레이터-워커, 순차 파이프라인, 팬아웃, 계층적, 스웜, 메시의 6가지 정통 패턴과 구체적인 실패 모드 및 올바른 아키텍처 선택을 위한 결정 프레임워크를 다룹니다.


OpenClaw: 셀프호스트드 AI 어시스턴트 시스템

OpenClaw는 로컬 인프라에서 작동하면서 메시징 플랫폼 전반에서 운영되도록 설계된 오픈소스 셀프호스트드 AI 어시스턴트입니다.

실용적 차원에서, OpenClaw는 다음과 같습니다:

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

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

시작 및 아키텍처:

맥락 및 분석:

OpenClaw 확장 및 구성:

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


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

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

실용적 차원에서, Hermes는 다음이 필요할 때 유용합니다:

  • 메시징 앱으로 브리지할 수도 있는 터미널 우선 어시스턴트
  • OpenAI 호환 엔드포인트와 모델 전환을 통한 제공자 유연성
  • 로컬 및 샌드박스 백엔드를 통한 도구 실행 경계
  • 진단, 로그, 구성 위생을 갖춘 2일차 운영

Hermes 프로필은 완전히 격리된 환경입니다 — 각각 고유한 구성, 시크릿, 메모리, 세션, 스킬, 상태를 가지며, 프로필이 개별 스킬이 아닌 실제 프로덕션 소유 단위입니다.


지속적 지식과 메모리

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


MCP: 모델 컨텍스트 프로토콜 서버

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

  • 에이전트 스킬 vs MCP 서버: 결정 프레임워크 — 스킬을 언제 사용할지, MCP 서버를 언제 구축할지, 얇은 서버 패턴이 둘을 어떻게 결합하는지에 대한 실용적 결정 프레임워크
  • Go에서의 MCP 서버 — 프로토콜 아키텍처, JSON-RPC 메시지 구조, 기능 협상, 공식 Go SDK, Go로 MCP 서버 구축을 위한 단계별 튜토리얼
  • Python으로 MCP 서버 구축 — 웹 검색 및 스크래핑 MCP 서버, stdio 및 SSE 전송, Claude Desktop 통합을 다루는 실용적 Python 구현 가이드

A2A: 에이전트 간 프로토콜

Agent2Agent Protocol(A2A)은 독립적으로 배포된 AI 에이전트 시스템 간 통신을 위한 오픈 표준입니다. MCP가 에이전트를 도구에 연결하는 것처럼, A2A는 에이전트를 다른 에이전트에 연결합니다 — 에이전트 카드를 통해 서로를 발견하고, 작업과 메시지를 교환하며, 진행 상황을 스트리밍하고, 형식이 지정된 아티팩트를 반환할 수 있습니다. A2A는 에이전트가 다른 팀에 의해 소유되거나, 다른 프레임워크로 구축되거나, 상호 운용해야 하는 별도 서비스로 배포되는 시스템을 위해 설계되었습니다.


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

몇 가지 특성으로 인해 AI 시스템은 더 자세히 살펴볼 가치가 있습니다.

모델 라우팅을 설계 선택으로

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

이로 인해 다음과 같은 질문이 도입됩니다:

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

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

AI 시스템은 이러한 결정을 숨기지 않고 표면화합니다.

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

AI 시스템은 문서 검색을 통합하지만, 단순한 “임베딩 및 검색” 단계가 아닙니다.

다음 사항을 인정합니다:

  • 청크 크기가 리콜과 비용에 영향을 미친다
  • 하이브리드 검색(BM25 + 벡터)이 순수 밀집 검색보다 우수할 수 있다
  • 재순위화가 관련성을 향상시키지만 지연 시간 비용이 따른다
  • 인덱싱 전략이 메모리 소비에 영향을 미친다

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

차이는 AI 시스템이 검색을 고립된 데모로 제시하는 것이 아니라 살아있는 어시스턴트에 내장한다는 것입니다.

메모리를 인프라로

상태 없는 LLM은 세션 간 모든 것을 잊습니다.

AI 시스템은 지속적 메모리 레이어를 도입합니다. 이로 인해 즉시 설계 질문이 발생합니다:

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

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

메모리는 기능이 아닌 저장 문제가 됩니다.

관측성은 선택이 아님

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

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

  • 토큰 사용량
  • 지연 시간
  • 하드웨어 활용률
  • 처리량 패턴

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

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


사용 경험

바깥에서 보면 AI 시스템은 여전히 채팅 인터페이스처럼 보일 수 있습니다.

표면 아래에서는 더 많은 일이 발생합니다.

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

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

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

그 계층적 동작이 시스템을 데모와 차별화합니다.


스택에서 AI 시스템의 위치

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

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

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

OpenClaw를 사용한 최소 로컬 설치를 보려면 OpenClaw 퀵스타트 가이드를 참조하세요. 로컬 Ollama 모델 또는 클라우드 기반 Claude 구성을 사용하는 Docker 기반 설정을 안내합니다.

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


관련 리소스

A2A: 에이전트 간 프로토콜:

MCP 서버:

AI 어시스턴트 가이드:

인프라 레이어:

구독하기

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