Multi-LLM Lock-in과 Harness Engineering

“특정 LLM에 종속되면 안 된다.”

이 말은 맞습니다. 그래서 많은 기업들이 Multi-LLM 전략에 집착합니다. “에이전트에서 LLM 설정값만 바꾸면 그대로 쓸 수 있다”고 생각하죠.

하지만 현실에서 이를 실행해 본 분이라면 아실 겁니다. LLM을 바꾸는 순간, 에이전트의 행동 자체가 달라집니다. 같은 도구, 같은 프롬프트, 같은 파이프라인인데 결과가 완전히 다릅니다. Lock-in 방지는 API 엔드포인트를 바꾸는 문제가 아니라, 에이전트를 처음부터 다시 세팅하는 문제입니다.


Multi-LLM의 진짜 문제 “프롬프트는 이식되지 않는다”

많은 분들이 LLM을 API로 바라봅니다. “입력을 넣으면 출력이 나오는 함수”라고 생각하죠. 그래서 OpenAI 대신 Claude를 쓰고, Gemini로 바꾸면 되지 않느냐고 말합니다.

그런데 실제로 해보면 이런 일이 벌어집니다:

  • 같은 프롬프트, 다른 결과. GPT-4o에서 잘 동작하던 프롬프트가 Claude에서는 과도하게 cautious한 응답을 내놓고, Gemini에서는 구조가 완전히 달라집니다.
  • 컨텍스트 윈도우 전략이 달라집니다. 128K 토큰을 쓸 수 있는 모델과 200K를 쓸 수 있는 모델에서의 컨텍스트 설계는 완전히 다른 엔지니어링입니다.
  • System prompt에 대한 반응성이 다릅니다. 어떤 모델은 system prompt를 충실히 따르고, 어떤 모델은 user turn의 마지막 지시를 더 우선합니다.

결국 모델을 바꾸면 프롬프트 엔지니어링을 처음부터 다시 해야 합니다.


LLM을 바꾸면 에이전트가 달라진다

프롬프트 이식성은 시작일 뿐입니다. 진짜 문제는 에이전트 수준에서 드러납니다. 에이전트는 단순히 프롬프트를 실행하는 것이 아니라, LLM의 판단력에 의존해 자율적으로 행동을 결정합니다. LLM이 바뀌면 그 판단이 바뀌고, 에이전트의 행동 전체가 달라집니다.

LLM을 바꾸는 것은 엔진을 바꾸는 것이 아니라 운전자를 바꾸는 것에 가깝습니다. 같은 차, 같은 길이어도 운전 방식이 완전히 달라집니다.

구체적으로 어떤 일이 벌어지는지 보겠습니다:

  • Tool calling 패턴이 달라집니다. 같은 도구 목록을 줘도 모델마다 도구 선택 전략이 다릅니다. 어떤 모델은 도구를 적극적으로 호출하고, 어떤 모델은 자체 추론으로 해결하려 합니다. 도구를 호출하는 순서, 병렬 호출 여부, 파라미터 구성 방식까지 전부 달라집니다.
  • 판단 기준이 달라집니다. “충분한 정보를 얻었는가”, “사용자에게 추가 질문이 필요한가”, “이 작업을 중단해야 하는가” — 에이전트의 모든 분기점에서 모델마다 다른 판단을 내립니다. GPT-4o에서 한 번에 끝나던 작업이 Claude에서는 확인 질문을 3번 거치는 식입니다.
  • 오류 처리 방식이 달라집니다. 도구 호출이 실패했을 때 재시도할지, 대안 경로를 찾을지, 사용자에게 보고할지 — 이 전략이 모델마다 다릅니다. 한 모델에서 안정적이던 에이전트가 다른 모델에서는 무한 재시도 루프에 빠질 수 있습니다.
  • 멀티스텝 추론 경로가 달라집니다. 같은 목표를 줘도 모델마다 문제를 분해(decompose)하는 방식과 순서가 다릅니다. 에이전트의 전체 실행 흐름 — 몇 단계를 거치는지, 어떤 순서로 처리하는지 — 이 LLM에 따라 완전히 달라집니다.

결론적으로 에이전트에서 LLM만 교체하면 “같은 에이전트”가 아닙니다. 겉은 같아 보여도 행동이 다른, 사실상 새로운 에이전트입니다. 그래서 LLM을 바꾸면 결국 에이전트의 세팅을 처음부터 다시 해야 합니다.


Lock-in의 본질은 API가 아니라 “엔지니어링 투자”

LLM lock-in을 API 호환성의 문제로 보면 간단해 보입니다. OpenAI 호환 API를 쓰면 되니까요. 하지만 진짜 lock-in은 세 가지 층위에서 발생합니다:

1. Prompt Engineering Lock-in

수개월에 걸쳐 최적화한 프롬프트 체계. Few-shot 예시, chain-of-thought 구조, 출력 포맷 제어 — 이 모든 것이 특정 모델의 행동 패턴에 맞춰져 있습니다.

2. Context Engineering Lock-in

RAG 파이프라인에서 어떤 정보를 얼마나, 어떤 순서로 컨텍스트에 넣을지. 이 설계는 모델의 컨텍스트 윈도우 크기, 위치 편향(positional bias), 정보 검색 능력에 종속됩니다.

3. Harness Engineering Lock-in

에이전트의 도구 호출 방식, 오류 처리, 반복 루프 설계, 멀티턴 대화 관리 — 이런 “모델을 감싸는 시스템”이 특정 모델의 function calling 스펙, 응답 구조, latency 특성에 맞춰져 있습니다. 여기에는 눈에 잘 보이지 않는 세팅들이 포함됩니다: 도구 선택 우선순위, 재시도 횟수와 백오프 정책, “충분하다”고 판단하는 임계값, 안전 장치의 트리거 조건 등. 이 모든 세팅이 특정 LLM의 행동 특성에 맞춰 튜닝된 것입니다. LLM을 교체하면 이 세팅을 전부 재검증하고 재조정해야 하며, 이는 사실상 에이전트를 처음부터 다시 만드는 것에 가까운 비용을 발생시킵니다.

모델을 바꾸는 것은 API 엔드포인트를 바꾸는 것이 아닙니다. 이 세 층위의 엔지니어링을 모두 다시 하는 것입니다.


관점의 전환: Multi-LLM이 아니라 Multi-Agent

여기서 발상의 전환이 필요합니다.

“어떤 LLM이든 갈아끼울 수 있게 만들자”는 접근은 각 모델의 강점을 포기하는 것과 같습니다. 최소공배수 방식으로 프롬프트를 설계하면, 어떤 모델에서도 “그럭저럭” 동작하지만 어떤 모델에서도 “최적”이 되지 않습니다.

대신 이렇게 생각해야 합니다.

LLM의 강점을 살리는 에이전트를 설계하고, 이 에이전트들을 오케스트레이션하는 Harness를 만들자.

  • 복잡한 추론이 필요한 태스크 → Claude에 최적화된 에이전트
  • 코드 생성과 실행 → Gemini에 최적화된 에이전트
  • 빠른 분류와 라우팅 → 경량 모델에 최적화된 에이전트

이때 중요한 것은 개별 에이전트가 아니라 이들을 엮는 Harness Engineering입니다. 에이전트 간 통신 프로토콜, 상태 관리, 오류 전파, 관찰 가능성(observability) — 이것이 진정한 엔지니어링 과제입니다.

GLM-5를 무료로 사용하는 방법: Modal API + OpenClaw 설정 가이드

2026년 2월 11일, Z.ai에서 GLM-5를 공개했습니다. 745B 파라미터의 오픈소스 LLM으로, MIT 라이선스로 배포되어 상업적 활용까지 가능합니다. 더 좋은 소식은 Modal 플랫폼이 Z.ai와의 파트너십을 통해 2026년 4월 30일까지 GLM-5를 완전 무료로 제공하고 있다는 것입니다.

이 글에서는 Modal에서 API 토큰을 발급받고, OpenClaw에서 GLM-5를 사용할 수 있도록 설정하는 전체 과정을 정리합니다.

GLM-5는 어떤 모델인가

GLM-5의 핵심 특징은 다음과 같습니다.

항목 내용
파라미터 745B (7,450억 개)
아키텍처 Mixture-of-Experts (MoE)
양자화 FP8
컨텍스트 윈도우 192,000 토큰
라이선스 MIT
강점 장기 호라이존 작업, 시스템 엔지니어링, 코드 생성

MoE 아키텍처는 모든 파라미터를 항상 사용하는 것이 아니라, 작업에 따라 필요한 전문가(Expert)만 활성화하는 방식입니다. 코딩 작업에는 코딩 전문가를, 창작 작업에는 창작 전문가를 사용하여 효율적으로 추론합니다.

벤치마크에서는 Claude Opus 4.6이나 GPT-5.3 Codex 같은 최첨단 상용 모델과 대등한 결과를 보여주었으며, 특히 코드 생성, 복잡한 문제 해결, 장기 맥락 이해에서 뛰어난 성능을 보이고 있습니다.

다만 FP8 양자화 상태에서도 약 700GB의 저장 공간이 필요하기 때문에 로컬에서 직접 실행하는 것은 사실상 불가능합니다. 그래서 Modal 같은 클라우드 플랫폼을 통해 API로 사용하는 것이 현실적인 방법입니다.

Modal에서 GLM-5 무료 사용하기

Modal은 AI/ML 모델을 쉽게 배포하고 실행할 수 있는 클라우드 플랫폼입니다. GLM-5 공개 전에 Z.ai와 파트너십을 맺고 모델 최적화 작업을 진행했기 때문에, 일반 사용자도 간편하게 GLM-5를 사용할 수 있습니다.

무료 제공 조건은 다음과 같습니다.

  • 무료 기간: 2026년 4월 30일까지
  • API 형식: OpenAI 호환 (chat/completions)
  • 동시 요청: 1개 (개인 사용 위주)
  • 토큰 제한: 없음
  • 생성 속도: 초당 30~75 토큰

동시 요청이 1개로 제한되어 있으므로 프로덕션 환경에는 적합하지 않지만, 개인 개발이나 학습 목적으로는 충분합니다.

1단계: Modal 계정 생성

Modal 웹사이트에 접속하여 계정을 생성합니다. GitHub 계정으로 간편 로그인이 가능합니다.

2단계: GLM-5 API 토큰 발급

GLM-5 토큰 발급 페이지에서 API 토큰을 생성합니다.

토큰 생성 후 표시되는 정보는 다음과 같습니다.

항목
Base URL https://api.us-west-2.modal.direct/v1
Model ID zai-org/GLM-5-FP8
API 형식 OpenAI 호환 (chat/completions)

주의: API 토큰은 발급 후 다시 확인할 수 없습니다. 반드시 안전한 곳에 저장해 두세요.

3단계: 환경 변수에 API 토큰 저장

API 토큰을 환경 변수로 설정합니다. 설정 파일에 토큰을 직접 하드코딩하는 것은 보안상 권장되지 않습니다.

Linux/macOS (~/.bashrc 또는 ~/.zshrc에 추가):

export LLM_BACKEND_API_KEY="modal_research_xxxxx...your-token-here"

설정 후 source ~/.bashrc 또는 터미널을 재시작하면 적용됩니다.

Windows PowerShell:

$env:LLM_BACKEND_API_KEY="modal_research_xxxxx...your-token-here"

영구적으로 설정하려면 시스템 환경 변수에 등록하거나 PowerShell 프로필에 추가하세요.

토큰 동작 확인

curl로 간단히 테스트할 수 있습니다.

curl https://api.us-west-2.modal.direct/v1/chat/completions \
  -H "Authorization: Bearer $LLM_BACKEND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "zai-org/GLM-5-FP8",
    "messages": [{"role": "user", "content": "Hello, GLM-5!"}],
    "max_tokens": 100
  }'

응답이 정상적으로 오면 토큰이 올바르게 설정된 것입니다.

OpenClaw에서 GLM-5 설정하기

이전 글에서 GCP에 OpenClaw를 설치하는 방법을 다뤘습니다. 이미 OpenClaw가 설치되어 있다면 설정 파일만 수정하면 GLM-5를 바로 사용할 수 있습니다.

OpenClaw 설정 파일 위치

# Linux/macOS
~/.openclaw/openclaw.json

# Windows
C:\Users\{username}\.openclaw\openclaw.json

GLM-5 공급자 추가

openclaw.json 파일의 models 섹션에 Modal 공급자를 추가합니다.

{
  "models": {
    "mode": "merge",
    "providers": {
      "modal": {
        "baseUrl": "https://api.us-west-2.modal.direct/v1",
        "apiKey": "${LLM_BACKEND_API_KEY}",
        "api": "openai-completions",
        "models": [
          {
            "id": "zai-org/GLM-5-FP8",
            "name": "GLM-5",
            "reasoning": true,
            "input": ["text"],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 192000,
            "maxTokens": 8192
          }
        ]
      }
    }
  }
}

각 항목의 의미는 다음과 같습니다.

  • mode: "merge" — 기존 공급자를 유지하면서 새 공급자를 추가합니다. 기존에 사용하던 Claude나 GPT 설정이 있다면 그대로 유지됩니다.
  • apiKey: "${LLM_BACKEND_API_KEY}" — 환경 변수에서 토큰을 읽어옵니다. 설정 파일에 토큰을 직접 넣지 않아도 됩니다.
  • api: "openai-completions" — Modal의 GLM-5 엔드포인트가 OpenAI API 호환이므로 이 형식을 사용합니다.
  • reasoning: true — GLM-5의 추론 능력을 활성화합니다.
  • cost — 모든 값이 0입니다. 무료 기간이므로 비용이 발생하지 않습니다.
  • contextWindow: 192000 — 192K 토큰의 긴 컨텍스트를 지원합니다.
  • maxTokens: 8192 — 한 번의 응답에서 생성할 수 있는 최대 토큰 수입니다.

설정 검증

설정을 저장한 후 OpenClaw를 재시작하고 상태를 확인합니다.

openclaw status
openclaw models list

모델 목록에 GLM-5가 표시되면 설정이 완료된 것입니다. OpenClaw 채팅 인터페이스에서 GLM-5 모델을 선택하여 사용할 수 있습니다.

다른 모델과 비교

OpenClaw에서 여러 모델을 전환하며 사용할 수 있으니, 작업 유형에 따라 적합한 모델을 선택하면 됩니다.

항목 GLM-5 Claude Opus 4.6 GPT-5.3 Codex DeepSeek-V3
파라미터 745B ~400B (추정) ~500B+ (추정) 685B
라이선스 MIT (오픈소스) 상용 상용 MIT (오픈소스)
강점 장기 작업, 시스템 엔지니어링 일반 대화, 분석 코드 생성 코딩, 수학, 추론
비용 무료 (4/30까지) 유료 유료 무료 API 제공
컨텍스트 192K 200K 128K 128K

장기 프로젝트에는 GLM-5의 긴 컨텍스트 윈도우와 장기 맥락 유지 능력이 유리합니다. 빠른 코드 생성에는 GPT-5.3 Codex나 DeepSeek-V3가, 일반적인 대화와 분석에는 Claude Opus 4.6이 적합합니다. 예산이 제한적이라면 GLM-5와 DeepSeek-V3의 무료 옵션을 먼저 테스트해 보세요.

마무리

GLM-5는 오픈소스 모델 중에서 코딩과 에이전트 작업에 최고 수준의 성능을 보여주고 있습니다. Modal이 4월 말까지 무료로 제공하고 있으니, 이 기회에 OpenClaw와 함께 사용해 보는 것을 추천합니다. OpenAI API 호환 엔드포인트를 제공하기 때문에 OpenClaw 외에도 OpenAI API를 지원하는 대부분의 도구에서 바로 사용할 수 있습니다.

다만 동시 요청이 1개로 제한되어 있으므로, 본격적인 프로덕션 환경에서는 Modal의 유료 플랜이나 직접 호스팅을 검토해야 합니다. 개인 에이전트 용도로 24시간 돌리는 수준이라면 현재 무료 티어로 충분합니다.

참고 자료:

GCP에 OpenClaw 설치하기

OpenClaw를 사용하기 위해 Mac Mini를 구입하는 케이스가 미국에서 늘고 있다는 뉴스에 한국에서도 너도나도 맥미니를 사겠다는 사람들이 늘고 있습니다.

사람들이 맥미니를 선택하는 이유는 이렇습니다. 알려진 브랜드 중에서 안정적인 편이고, 쿨링팬 소리도 작고, macOS가 유닉스 기반이라 개발 환경과의 호환성이 좋습니다. 스펙이 좋다면 로컬 LLM을 올려서 사용할 수도 있고, 무엇보다 작아서 구석에 두고 24시간 에이전트를 돌리기에 좋다는 것이 가장 큰 이유입니다.

맥미니가 최선의 선택은 아닙니다

하지만 맥미니가 최선의 선택인지는 다시 생각해볼 필요가 있습니다.

가격 대비 성능 문제. 동일한 가격대에 훨씬 좋은 스펙의 미니PC가 많습니다. 레노버 ThinkCentre, Intel NUC, Beelink 같은 브랜드들은 비슷하거나 더 낮은 가격에 충분한 성능을 제공합니다.

로컬 LLM의 한계. 맥미니에 로컬 LLM을 설치해서 OpenClaw를 돌리겠다는 분들이 있는데, 현실적으로 로컬에서 돌릴 수 있는 경량 모델은 자율형 에이전트가 요구하는 수준의 판단력을 제공하지 못합니다. OpenClaw가 똑똑하게 일하려면 Anthropic의 Claude나 OpenAI의 GPT처럼 고성능 모델을 API로 사용하는 것이 사실상 필수입니다.

보안 문제는 여전합니다. OpenClaw는 파일 시스템, 브라우저, 메시징 플랫폼까지 광범위한 접근 권한을 갖고 24시간 동작합니다. 맥미니에 직접 설치하더라도 프롬프트 인젝션이나 악성 스킬을 통한 공격 위험이 존재합니다. 보안을 강화하려면 Docker 컨테이너 안에서 샌드박스로 실행하거나, 아예 클라우드 VM에 격리해서 운영하는 것이 바람직합니다.

클라우드 VM이 더 나은 이유

맥미니를 사지 않고도 24시간 에이전트를 운영할 수 있는 방법이 있습니다. 바로 클라우드 VM에 설치하는 것입니다.

  • 비용이 저렴합니다. GCP의 e2-small 인스턴스 기준 월 약 12달러(약 17,000원)면 충분합니다. 맥미니 구입비(최소 80만 원 이상) + 전기세와 비교하면 압도적으로 경제적입니다.
  • 24시간 안정적으로 운영됩니다. 구글 데이터센터의 인프라에서 동작하므로 정전, 네트워크 불안정, 하드웨어 고장 걱정이 없습니다.
  • 보안 격리가 쉽습니다. VM 자체가 개인 환경과 분리되어 있어 OpenClaw가 로컬 파일이나 홈 네트워크에 접근할 수 없습니다.
  • 확장과 관리가 편합니다. 메모리가 부족하면 머신 타입만 바꾸면 되고, 문제가 생기면 VM을 재생성하면 됩니다.

물론 단점도 있습니다. 집안의 IoT 디바이스를 제어하거나 웹캠을 사용하는 등의 작업은 클라우드 VM에서 직접 수행할 수 없습니다. 하지만 앞서 말했듯이 OpenClaw가 홈 디바이스까지 제어하게 하려면 보안을 매우 신경 써야 합니다. 자료 조사, 리포트 작성, 번역, 애플리케이션 개발, 스케줄 관리 등 대부분의 작업은 홈 디바이스를 제어할 필요가 없기 때문에 VM에 설치하는 것이 가장 합리적입니다.

GCP에 OpenClaw 설치하기

이제 실제로 GCP Compute Engine에 Docker를 사용해서 OpenClaw를 설치하는 방법을 단계별로 설명하겠습니다.

사전 준비

  • GCP 계정 (신규 가입 시 $300 크레딧 90일 무료)
  • gcloud CLI 또는 GCP 콘솔 접근
  • LLM API 키 (Anthropic 또는 OpenAI)
  • 약 20~30분의 시간

1단계: GCP 프로젝트 생성

gcloud CLI를 설치한 뒤 프로젝트를 생성합니다.

gcloud init
gcloud auth login

# 프로젝트 생성
gcloud projects create my-openclaw-project --name="OpenClaw Gateway"
gcloud config set project my-openclaw-project

# Compute Engine API 활성화
gcloud services enable compute.googleapis.com

GCP 콘솔을 통해 생성할 수도 있습니다. IAM & Admin > Create Project에서 프로젝트를 만들고, 결제를 활성화한 뒤 Compute Engine API를 켜면 됩니다.

2단계: VM 인스턴스 생성

OpenClaw에 적합한 머신 타입은 다음과 같습니다.

타입 스펙 월 비용 비고
e2-micro 2 vCPU(공유), 1GB RAM ~$6/월 프리 티어 대상. 부하 시 OOM 가능
e2-small 2 vCPU, 2GB RAM ~$12/월 권장. 안정적 운영 가능
gcloud compute instances create openclaw-gateway \
  --zone=us-central1-a \
  --machine-type=e2-small \
  --boot-disk-size=20GB \
  --image-family=debian-12 \
  --image-project=debian-cloud

비용을 최소화하고 싶다면 e2-micro로 시작해서 OOM이 발생할 경우 e2-small로 올리는 전략도 괜찮습니다.

3단계: VM에 SSH 접속 및 Docker 설치

# VM에 SSH 접속
gcloud compute ssh openclaw-gateway --zone=us-central1-a

# Docker 설치
sudo apt-get update
sudo apt-get install -y git curl ca-certificates
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER

# 로그아웃 후 재접속 (docker 그룹 적용)
exit
gcloud compute ssh openclaw-gateway --zone=us-central1-a

# 설치 확인
docker --version
docker compose version

4단계: OpenClaw 클론 및 디렉토리 구성

# 소스 클론
git clone https://github.com/openclaw/openclaw.git
cd openclaw

# 영속적 상태 저장 디렉토리 생성
mkdir -p ~/.openclaw
mkdir -p ~/.openclaw/workspace

Docker 컨테이너는 재시작하면 내부 데이터가 사라집니다. 설정, 메모리, 작업 파일 등은 반드시 호스트 디렉토리에 마운트해서 보존해야 합니다.

5단계: 환경 변수 설정

프로젝트 루트에 .env 파일을 생성합니다.

OPENCLAW_IMAGE=openclaw:latest
OPENCLAW_GATEWAY_TOKEN=여기에-강력한-토큰-입력
OPENCLAW_GATEWAY_BIND=lan
OPENCLAW_GATEWAY_PORT=18789
OPENCLAW_CONFIG_DIR=/home/$USER/.openclaw
OPENCLAW_WORKSPACE_DIR=/home/$USER/.openclaw/workspace
GOG_KEYRING_PASSWORD=여기에-강력한-비밀번호-입력
XDG_CONFIG_HOME=/home/node/.openclaw

토큰과 비밀번호는 다음 명령어로 안전하게 생성할 수 있습니다.

openssl rand -hex 32

6단계: Docker Compose 설정 및 빌드

docker-compose.yml을 구성하고 빌드합니다. 여기서 핵심은 필요한 바이너리를 Docker 이미지에 미리 포함(bake)시키는 것입니다. 런타임에 설치한 바이너리는 컨테이너 재시작 시 사라지기 때문에 반드시 Dockerfile에서 설치해야 합니다.

# 빌드 및 실행
docker compose build
docker compose up -d openclaw-gateway

# 게이트웨이 동작 확인
docker compose logs -f openclaw-gateway

[gateway] listening on ws://0.0.0.0:18789 메시지가 나오면 성공입니다.

7단계: 로컬에서 접속

SSH 터널을 통해 로컬 브라우저에서 안전하게 접속할 수 있습니다.

gcloud compute ssh openclaw-gateway \
  --zone=us-central1-a \
  -- -L 18789:127.0.0.1:18789

브라우저에서 http://127.0.0.1:18789/을 열고 게이트웨이 토큰을 입력하면 Control UI에 접근됩니다. 여기서 메시징 채널(WhatsApp, Telegram, Discord 등)을 연결하고 AI 모델을 설정하면 개인 에이전트가 바로 동작을 시작합니다.

업데이트 방법

OpenClaw를 최신 버전으로 업데이트하는 것은 간단합니다.

cd ~/openclaw
git pull
docker compose build
docker compose up -d

특히 보안 패치는 즉시 적용하는 것이 좋습니다. 2026년 초에 치명적인 LFI 취약점이 발견된 사례가 있었으니, 항상 최신 버전을 유지하세요.

비용 정리

클라우드 VM에서 OpenClaw를 운영할 때의 월간 비용을 정리하면 다음과 같습니다.

항목 비용
GCP e2-small VM ~$12/월
LLM API (Claude/GPT) $10~100/월 (사용량에 따라)
합계 약 $22~112/월

맥미니를 구입하는 경우 초기 비용 80만 원 이상에 전기세가 매월 추가됩니다. 24시간 에이전트 운영만이 목적이라면 클라우드 VM이 훨씬 합리적인 선택입니다.

마무리

OpenClaw는 설치 장소보다 어떤 LLM을 쓰느냐가 사용 경험을 결정합니다. 맥미니든 클라우드 VM이든 결국 API를 통해 고성능 모델을 호출하는 것은 동일합니다. 그렇다면 별도의 하드웨어를 구매할 이유 없이, 월 12달러짜리 클라우드 VM에 Docker로 깔끔하게 설치하는 것이 현재는 현명한 방법이 아닐까 합니다.

자세한 설정은 OpenClaw 공식 GCP 가이드를 참고하세요.

OpenClaw — 1인 1 에이전트 시대의 시작

OpenClaw는 오픈소스 자율형 AI 에이전트입니다. 로컬 환경에서 직접 구동되며, WhatsApp·Telegram·Discord·iMessage 등 다양한 메시징 플랫폼과 연동하여 개인 비서처럼 동작합니다.

이 프로젝트가 기술적으로 특별히 혁신적인 것은 아닙니다. 하지만 고성능 LLM을 활용해 자율형 에이전트를 손쉽게 구축할 수 있게 해주고, 그렇게 만든 에이전트가 제공하는 경험이 매우 신선하다는 점이 최근 OpenClaw가 폭발적인 인기를 얻고 있는 이유입니다. GitHub에 공개되자마자 하룻밤 만에 2만 개 이상의 스타를 받기도 했습니다.

이름 변경 이야기

OpenClaw는 원래 Clawdbot이라는 이름이었습니다. 그런데 Anthropic의 AI 모델 “Claude”와 발음이 유사하여 상표권 문제가 제기되었고, Anthropic 측의 법적 요청을 받아 Moltbot으로 이름을 변경했습니다. 이후 다시 현재의 OpenClaw로 최종 변경되었는데, 이 세 번의 이름 변경이 불과 2주 만에 이루어졌습니다.

이름의 역사에서 알 수 있듯이, OpenClaw는 본래 Claude 모델을 적극 활용하여 개인 비서를 만들 수 있게 해주는 오픈소스로 시작되었습니다.

바이브 코딩만으로 만든 애플리케이션

OpenClaw의 개발자는 직접 코드를 작성하지 않고, 바이브 코딩(Vibe Coding) 만으로 전체 애플리케이션을 만들어냈다고 밝히고 있습니다. AI에게 의도와 방향만 전달하고, 실제 코드 작성은 AI가 수행하는 방식입니다.

Claude Code에서 영감을 받아 만들어졌기 때문에 Node.js 기반으로 구축되었으며, Claude Code와 유사한 아키텍처 구성을 가지고 있습니다.

주요 기능

OpenClaw는 단순한 챗봇이 아닌, 실제로 작업을 수행하는 자율형 에이전트입니다. 주요 기능은 다음과 같습니다.

  • 멀티 채널 메시징: WhatsApp, Telegram, Discord, iMessage 등 다양한 플랫폼에서 접근 가능
  • 자율적 작업 수행: 이메일 정리, 캘린더 관리, 항공편 체크인 등을 자동으로 처리
  • 영속적 메모리: 세션 간 기억이 유지되어 24/7 연속적인 맥락 파악 가능
  • 자동화 스케줄링: 크론 작업, 리마인더, 백그라운드 태스크 실행
  • 브라우저 통합: 관리형 브라우저를 통한 웹 작업 수행 및 Chrome 확장 프로그램 지원
  • 스킬 & 플러그인: ClawHub를 통해 커뮤니티가 만든 스킬을 설치하여 기능 확장 가능
  • 셀프 호스팅: 모든 데이터가 본인의 컴퓨터에 저장되며, MIT 라이선스 오픈소스

설치 방법

사전 요구사항

  • Node.js 18 이상
  • 운영체제: Windows 10+, macOS 12+, 또는 최신 Linux 배포판 (Raspberry Pi, Android Termux도 지원)
  • LLM API 키: Anthropic, OpenAI 등의 API 키가 필요

npm을 통한 설치 (권장)

# 글로벌 설치
npm install -g clawdbot

# 온보딩 (최초 설정)
clawd onboard

# 실행
clawd

Docker를 통한 설치

docker pull openclaw/openclaw
docker run -it openclaw/openclaw

소스 빌드

git clone https://github.com/openclaw/openclaw.git
cd openclaw
npm install
npm run build

설정

설정 파일은 ~/.config/openclaw/config.json에 저장되며, 직접 편집하거나 clawd config 명령어를 통해 변경할 수 있습니다. 주요 설정 항목은 다음과 같습니다.

  • 사용할 AI 모델 선택
  • 연결할 메시징 플랫폼 설정
  • 메모리 및 컨텍스트 옵션
  • 보안 샌드박스 모드

추천 LLM 모델

OpenClaw는 다양한 LLM을 지원하지만, 자율형 에이전트의 특성상 모델 성능이 사용 경험에 큰 영향을 미칩니다.

  • 강력 추천: Anthropic Claude 계열 (특히 Opus 4.5는 프롬프트 인젝션 방어 능력도 뛰어남)
  • 추천: OpenAI GPT 계열
  • 사용 가능: Google Gemini 계열
  • 비추천: 오픈소스 경량 LLM (자율 판단 능력이 부족하여 사용 경험이 크게 저하됨)

보안 문제

OpenClaw는 강력한 자율성을 제공하는 만큼, 보안 측면에서 상당한 주의가 필요합니다.

주요 위험 요소

  • 프롬프트 인젝션: 악의적으로 조작된 입력을 통해 에이전트의 원래 지시를 우회하고, API 키 탈취나 무단 명령 실행이 가능합니다. 자율형 에이전트는 자연어를 해석하면서 동시에 시스템 실행 권한을 갖고 있기 때문에, 신뢰할 수 없는 입력을 처리할 때 통제 경계가 취약해질 수 있습니다.
  • 시스템 접근 노출: 파일 시스템, 서버, 메시징 플랫폼, 브라우저까지 광범위한 접근 권한을 갖고 24시간 동작하므로, 작은 악성 입력이 여러 시스템으로 전파될 수 있습니다.
  • 악성 스킬/플러그인: 외부에서 제공하는 스킬을 설치할 경우, 악의적인 코드가 자동으로 실행될 위험이 있습니다.
  • LFI 취약점: 2026년 초에 치명적인 로컬 파일 포함(LFI) 취약점이 발견되어 패치가 배포되었습니다. 반드시 openclaw update 명령어로 최신 버전을 유지해야 합니다.

보안 권장 사항

  • 고성능 모델 사용 (프롬프트 인젝션 방어력이 높음)
  • 웹 인터페이스는 로컬 전용으로 배포하고, 공용 인터넷 노출 금지
  • 최소 권한 원칙 적용 및 명령 권한 모델 설정
  • 정기적인 보안 업데이트 적용

편리함과 보안은 언제나 트레이드오프 관계에 있습니다. OpenClaw를 사용할 때는 이 점을 항상 염두에 두어야 합니다.

OpenClaw의 시사점

OpenClaw는 사람들이 애플의 시리(Siri)에서 원했던 바로 그 경험을 제공합니다. 단순히 날씨를 알려주거나 알람을 설정해주는 수준이 아니라, 복잡한 업무를 지시하면 알아서 수행하고 결과만 보고해주는 — 마치 영화 속 자비스(JARVIS)와 같은 자율형 비서가 현실이 된 것입니다.

물론 애플, 구글, 마이크로소프트가 OpenClaw를 그대로 자사 플랫폼에 탑재하지는 않을 것입니다. 하지만 앞으로 이들이 제공하는 AI 어시스턴트는 OpenClaw가 보여준 것과 같은 자율형 에이전트 방향으로 진화할 것이라는 점은 분명합니다.

OpenClaw가 보여준 가장 큰 가치는 기술 그 자체가 아니라, 1인 1 에이전트 시대가 이미 시작되었다는 사실을 대중에게 체감하게 해주었다는 것입니다.

WSL 자동 종료 방지하기 – 또다른 시도

이전에 WSL이 자동종료되는 문제를 방지하기 위해서 여러가지 시도를 했었고 블로그 포스팅도 했었습니다. 이전 방법으로 문제가 해결되었다고 생각했지만 시간이 오래 지나고 나서 동일한 문제가 발생하기 시자했습니다.

또다른 해결책입니다. 아직까지 괜찮지만 또 문제가 생기면 다른 방법도 포스팅하겠습니다.

WSL 자동 종료 문제의 원인

WSL2는 유휴 상태(idle)일 때 자동으로 종료되어 리소스를 절약하도록 설계되어 있습니다. nginx 같은 백그라운드 서비스가 실행 중이라도 인터랙티브 프로세스가 없으면 종료될 수 있습니다.

.wslconfig로 유휴 시간 설정하기

Windows 사용자 프로필 디렉토리(%UserProfile%)에 .wslconfig 파일을 생성하고 다음과 같이 설정합니다.

[wsl2]
vmIdleTimeout=-1

이 설정을 추가하면 VM이 유휴 상태에서 종료되지 않도록 할 수 있습니다. 변경 후에는 PowerShell에서 wsl --shutdown을 실행한 다음 WSL을 재시작해주세요.

참고로 이 설정은 모든 WSL2 배포에 적용되며, 기본값은 60000ms(60초)입니다.

Keep Alive 프로세스 실행하기

WSL 내에서 nohup sleep infinity & 또는 dbus-launch true & 같은 무한 루프 스크립트를 백그라운드로 실행하여 인터랙티브 프로세스로 유지할 수 있습니다.

이를 .bashrc에 추가하거나 systemd 서비스로 등록하면 nginx가 종료 후에도 WSL이 살아있게 됩니다. Docker나 cron 같은 다른 데몬도 유사하게 도움이 될 수 있습니다.

nginx 서비스 자동 시작 설정하기

/etc/wsl.conf의 [boot] 섹션에 다음과 같이 설정해주세요:

[boot]
command=service nginx start

WSL 시작 시 nginx를 자동 실행하게 됩니다.

만약 systemd가 활성화된 경우에는 [boot] 섹션에 systemd=true를 추가하고 systemctl enable nginx로 영구 설정하시면 됩니다. 변경 후에는 wsl --shutdown으로 재시작해주세요.

이러한 방법들을 활용면 WSL 환경에서 nginx를 안정적으로 자동 실행할 수 있습니다.