OpenClaw에 오픈소스 AI를 올려봤다 — 440만 원 투자하고 결국 GPT-5 mini 쓰는 이유
OpenClaw 열풍에 합류하다
OpenClaw가 화제다. 오픈소스 AI 비서 플랫폼으로, 로컬 LLM을 연결하면 나만의 AI 비서를 만들 수 있다. Slack, Telegram 연동은 기본이고, Tool Calling으로 웹 검색, 파일 관리, API 호출까지 시킬 수 있다.
당연히 로컬 LLM을 올려야 진짜 빛을 발한다. 클라우드 API에 의존하면 OpenClaw를 쓰는 의미가 반감된다. 그래서 시작했다 — 오픈소스 AI를 직접 돌려보겠다고.
현실: 하드웨어부터 440만 원
Mac Studio M4 Max(64GB 통합 메모리)를 구매했다. 72B급 모델을 양자화해서 돌리려면 이 정도 스펙이 필요하다. 본체만 440만 원.
솔직히 말하면, 1,000만 원짜리 M3 Ultra(512GB RAM)를 사더라도 Gemini 2.5 Flash 수준의 성능이 나온다는 보장은 없다. 하드웨어에 돈을 쏟는다고 클라우드 AI 품질을 따라잡을 수 있는 게 아니다.
서빙 엔진으로 Ollama를 설치했다. 모델 설치는 간단하다.
ollama pull qwen2.5:72b-instruct-q4_K_M # 47GB
ollama pull exaone3.5:32b # 32B
ollama pull llama3.3:70b # 70B
OpenClaw 연동 설정도 어렵지 않다.
{
"api": "openai-completions",
"baseUrl": "http://localhost:11434/v1"
}
여기까진 순조로웠다.
6개 모델을 테스트했다
Gemini API를 대체할 수 있는 로컬 모델을 찾기 위해 6개 모델을 비교 테스트했다. 테스트 항목은 키워드 정규화, 토픽 분류, 뉴스 요약, 다이제스트 생성 4가지다.
| 모델 | 키워드 정규화 | 토픽 분류 | 뉴스 요약 | 다이제스트 |
|---|---|---|---|---|
| Gemini 2.5 Flash (기준) | 4.6초 | 4.8초 | 9.8초 | 15초 |
| Qwen 2.5 72B | 43초 | 177초 | 98초 | 실패 |
| EXAONE Deep 32B | 44초 | 79초 | 133초 | 124초 |
| EXAONE 3.5 32B | 6.5초 | 11초 | 9초 | 14초 |
| Llama 3.3 70B | - | - | - | 단순 작업만 |
| GLM-4.7 Flash 30B | - | - | - | 할루시네이션 |
단순한 분류, 요약 같은 작업에서는 EXAONE 3.5 32B가 Gemini급 속도와 품질을 보여줬다. 여기까지만 보면 "오픈소스 AI도 되는데?" 싶다.
문제는 Tool Calling이다
OpenClaw의 핵심은 Tool Calling이다. AI가 단순히 텍스트를 생성하는 게 아니라, 함수를 호출해서 실제로 작업을 수행해야 한다. 웹 검색, 뉴스 크롤링, 메시지 전송 같은 멀티스텝 작업이 가능해야 진짜 AI 비서다.
그런데 여기서 오픈소스 AI의 한계가 드러난다.
| 모델 | 단일 호출 | 멀티턴 | 멀티스텝 (10개 반복) |
|---|---|---|---|
| Qwen 2.5 72B | 성공 | 성공 | 1~2개만 완주 |
| Llama 3.3 70B | 성공 | 성공 | 단순 작업만 |
| EXAONE 3.5 32B | 실패 | - | - |
| GLM-4.7 Flash | 실패 | - | - |
| Kanana 30B | 성공 | 35% | 실패 |
단순 작업에서 Gemini급이었던 EXAONE 3.5도 Tool Calling은 아예 안 된다. 텍스트 생성과 Tool Calling은 완전히 다른 영역이다.
10개 뉴스를 크롤링해서 요약하라는 지시를 주면, Qwen 72B도 1~2개를 처리하다 멈춘다. 간헐적으로 빈 응답을 반환하는 버그도 있다.
별거 아닌 것 같은 요구사항이 별거 아닌 게 아니다. "뉴스 10개 가져와서 요약해줘"는 사람 입장에서 단순한 지시다. 하지만 AI 입장에서는 웹 접속 → HTML 파싱 → 본문 추출 → 요약 생성 → 다음 URL로 이동을 10번 반복해야 하는 멀티스텝 작업이다. 여기서 한 번이라도 Tool Calling이 실패하면 전체가 멈춘다.
복잡한 요구사항 앞에서 오픈소스 AI는 아직 어림도 없다.
참고로 Ollama에서 Tool Calling을 쓰려면 openai-completions 또는 openai-responses 같은 API 모드를 설정해야 하는데, 모델에 따라 지원 여부가 다를 수 있다. LM Studio도 테스트했으나 Tool Calling이 전혀 안 돼서 앱과 모델(56GB)을 통째로 삭제했다.
결국 돌아온 클라우드 API
현재 OpenClaw 운영 구성은 이렇게 됐다:
- 주력: GitHub Copilot GPT-5 mini — Tool Calling 안정적, 추론/코딩은 떨어지지만 그나마 나음. Copilot 정액 월 $10.
- 백업: Gemini 2.5 Flash — 장애 시 전환. API 사용량만큼 청구 비용 발생.
로컬 오픈소스 모델은 전부 탈락이다. 배치 처리용으로 EXAONE을 남겨볼까 했지만, Tool Calling이 안 되는 모델을 억지로 쓸 이유가 없었다.
GPT-5 mini와 Gemini 2.5 Flash는 원하는 결과에 비슷하게 나오긴 한다. 하지만 추론 능력이나 코딩 능력은 확실히 떨어진다. 그 중에서는 GPT-5 mini가 그나마 낫다.
440만 원 투자해서 Mac Studio를 사고 6개 모델을 테스트했지만, 결국 매달 돈 내고 쓰는 클라우드 모델이 답이었다.
Claude Code 사용자로서의 딜레마
사실 더 근본적인 문제가 있다. Claude Code를 메인으로 쓰는 사용자 입장에서, OpenClaw를 써야 할 이유가 거의 없다.
Claude Code는 코딩, 추론, 복잡한 멀티스텝 작업까지 다 된다. OpenClaw에 올린 GPT-5 mini나 Gemini는 그 수준에 한참 못 미친다. 그렇다고 Claude를 OpenClaw에 연결할 수도 없다.
현재 찾은 방향은 이렇다:
- 도구 개발은 Claude Code로 한다 — MCP 서버, 함수, 스크립트를 Claude Code로 만들어서 OpenClaw에 쥐어준다.
- OpenClaw는 도구 사용만 — 이미 만들어진 도구를 호출하는 역할. 아주 단순한 코딩은 OpenClaw도 가능하다.
하지만 솔직히 이것만으로 OpenClaw를 유지할 만한 이유가 충분한지는 모르겠다. 뭘 해야 할지 방향이 안 잡힌다.
그래도
비관적으로만 볼 건 아니다.
| 용도 | 오픈소스 AI (로컬) | 클라우드 API |
|---|---|---|
| 텍스트 분류/요약 | 가능 (비용 0원) | 과잉 |
| 임베딩/벡터화 | 매우 적합 | 불필요한 비용 |
| Tool Calling | 불안정~불가 | 필수 |
| 복잡한 멀티스텝 에이전트 | 어림도 없음 | 필수 |
| 추론/코딩 | 부족 | 필수 |
오픈소스 AI가 텍스트 분류나 임베딩처럼 단순한 영역에서는 쓸 만하다. 하지만 OpenClaw 같은 AI 비서 플랫폼의 진가를 발휘하려면 — 복잡한 Tool Calling과 추론이 필요한 에이전트를 만들려면 — 아직은 클라우드 API 말고는 답이 없다.
오픈소스 AI는 빠르게 발전하고 있다. 1년 후에는 이 글이 구닥다리가 될 수도 있다. 그때 다시 테스트해보겠다.