
오직 오픈 소스만으로 AI 에이전트를 구축했습니다 — 비용은 0달러
요약
유료 API 비용 부담을 줄이기 위해 오픈 소스 모델과 프레임워크만을 사용하여 비용 0달러의 AI 에이전트를 구축한 사례를 소개합니다. 로컬 LLM을 활용해 배포 파이프라인 자동화 에이전트를 구현하는 과정을 다룹니다.
핵심 포인트
- 유료 API(Claude, GPT-4) 사용 시 발생하는 높은 토큰 비용 문제 지적
- 로컬 LLM과 오픈 소스 스택을 활용한 비용 절감 전략
- Git 로그 분석 및 테스트 실행을 위한 자동화 에이전트 구축
- 소비자용 하드웨어에서 실행 가능한 오픈 소스 모델 활용
지난달 저는 19일째 되는 날 Claude Pro 사용량 제한에 걸렸습니다. 또 말이죠.
20달러를 허공에 날렸고, 아직 보름치 업무가 남아 있었습니다. 저는 배포 파이프라인 (deployment pipeline)을 자동화하기 위한 AI 에이전트를 구축하고 있었습니다. 대단한 것은 아니었고, 그저 제 git 로그를 읽고, 무엇이 변경되었는지 파악한 뒤, 운영 환경 (prod)에 푸시하기 전에 적절한 테스트를 실행할 수 있는 정도였습니다. 유료 API (Paid APIs) 비용이 저를 잡아먹고 있었습니다.
그래서 저는 바보 같은 짓을 했습니다. 예산 0원으로 이 모든 것을 구축하기로 결심한 것입니다. 무료 로컬 LLM (Local LLMs), 오픈 소스 프레임워크 (open-source frameworks), 그리고 엄청난 고집을 가지고 말이죠.
어떤 일이 일어났는지 알려드리겠습니다.
유료 API가 저를 파산하게 만든 이유
솔직히 말씀드리면 — 저는 Claude와 GPT-4를 좋아합니다. 정말 놀랍거든요. 하지만 자동화된 에이전트 루프 (automated agent loops)를 실행하는 인디 개발자나 부트스트래퍼 (bootstrapper)라면, 비용은 예상보다 훨씬 빠르게 쌓입니다.
제 파이프라인에서의 단일 에이전트 사이클(agent cycle) — 컨텍스트 읽기, 작업 계획, 실행, 결과 검토 — 은 실행당 대략 8K-15K 토큰을 소모했습니다. Claude Sonnet (3.5)의 입력 토큰 1K당 0.015달러를 기준으로 계산하면, 이는 배포 사이클당 약 0.12달러에서 0.22달러입니다. 집중 개발 기간 동안 하루에 30-40 사이클을 돌리기 전까지는 그리 많아 보이지 않을 수 있습니다.
저는 에이전트를 위한 API 호출에만 대략 월 150~200달러를 쓰고 있었습니다. 이는 제가 전체 VPS 인프라에 쓰는 비용보다 많았습니다.
무언가 변해야 했습니다.
제가 실제로 사용한 것 — 무료 스택 (The Free Stack)
소비자용 하드웨어에서 실행 가능한 거의 모든 오픈 소스 LLM을 가지고 일주일간 시행착오를 거친 끝에, 최종적으로 선택한 스택은 다음과 같습니다:
모델 트리오 (The Model Trio)
Qwen3 7B (Ollama 경유) — 이 모델은 저의 주력 모델 (workhorse)이 되었습니다. GPT-4만큼 똑똑하지는 않지만, git 출력값을 파싱하거나 YAML 설정 파일을 작성하는 것과 같은 구조화된 작업에서는 놀라울 정도로 유능합니다. 32K 컨텍스트 윈도우 (context window) 덕분에 불평 없이 제 전체 git diff를 실제로 읽을 수 있습니다.
Llama 3.2 3B (Ollama 경유) — 저의 패스트 패스 (fast-path) 모델입니다. 에이전트가 "이 테스트가 통과되었는가?", "이 오류가 치명적인가?"와 같이 빠른 "예/아니오" 결정을 내려야 할 때, 제 RTX 3060에서 초당 약 80 토큰 (tokens/second)의 속도로 실행됩니다. 100ms 미만의 결정 속도를 보여줍니다.
Hermes 3 70B (OpenRouter 무료 티어 경유) — 저의 "어려운 문제 해결용" 모델입니다. 에이전트가 막히게 되면, 더 깊은 추론 (reasoning)을 위해 컨텍스트를 Hermes 70B로 전달합니다. 저는 이 모델을 10번의 사이클 중 약 2번 정도만 사용합니다. 나머지는 더 작은 로컬 모델들이 처리합니다.
에이전트 프레임워크 (The Agent Framework)
저는 eve로 시작했습니다. 제가 확인했을 때 GitHub에서 3.6K 개의 스타 (stars)를 기록하며 트렌드였던 에이전트 구축용 프레임워크입니다. 이 프레임워크는 인지(perceive) → 사고(think) → 행동(act) → 학습(learn)이라는 기본적인 루프를 제공했습니다. 깔끔한 API와 괜찮은 문서(docs)를 갖추고 있었습니다.
하지만 솔직히 말하면, 결국 오케스트레이션 (orchestration)의 대부분을 약 400줄의 Python 코드로 직접 작성하게 되었습니다. 프레임워크는 특정한 무언가가 필요해지기 전까지는 훌륭하지만, 제 파이프라인(pipeline)은 스테이징 서버에 SSH로 접속하고, 배포가 완료될 때까지 기다린 다음, 헬스 엔드포인트 (health endpoints)를 확인해야 하는 것과 같은 독특한 요구사항이 있었기 때문입니다.
문서화 부분 (The Documentation Piece)
여기 예상치 못한 문제가 하나 있었습니다. 제 에이전트가 실행 사이 사이에 제 프로젝트 구조가 어떻게 생겼는지를 계속 잊어버리는 것이었습니다. 배포 스크립트를 작성해 놓고는, 다음 사이클에서 메모리 (memory)가 없다는 이유로 처음부터 다시 작성하려고 시도하곤 했습니다.
저는 이를 OpenWiki (GitHub 별점 2K개, 최근 급부상 중)로 해결했습니다. 이 도구는 코드베이스를 에이전트가 읽을 수 있는 마크다운 위키 (markdown wiki) 형태로 자동 생성하고 유지 관리합니다. 제 프로젝트를 지정하자 모든 모듈에 대한 문서를 작성해 주었고, 이제 제 에이전트는 매 사이클이 시작될 때 무엇인가를 건드리기 전에 해당 문서들을 읽습니다.
세상을 바꿀 정도인가요? 아니요. 실제로 유용한가요? 네. 파일 경로와 함수 이름에 대한 에이전트의 환각 (hallucination) 비율을 아마 60% 정도 줄여주었습니다.
모든 것이 무너지는 지점
여러분의 고통을 덜어드리겠습니다. 무료 로컬 LLM 에이전트에는 실제적인 문제들이 있습니다:
1. 추론 (Reasoning) 깊이가 얕습니다. Qwen3 7B는 지시 사항을 잘 따를 수 있지만, 비동기 Python (async Python)에서의 까다로운 레이스 컨디션 (race condition)을 디버깅하라고 시키면 완벽한 문법으로 아주 자신 있게 틀린 답을 내놓을 것입니다. 작은 모델들은 자신만만하게 환각을 일으킵니다. 제대로 된 디버깅을 위해서는 최소 30B 이상의 모델이 필요하며, 이는 강력한 하드웨어나 무료 클라우드 티어 (free cloud tier)를 요구합니다.
2. 설정 시간이 장난이 아닙니다. 로컬 모델을 원활하게 실행하는 데 약 8시간이 걸렸습니다 — Ollama 설정 조정, 컨텍스트 윈도우 (context window) 튜닝, 도구 호출 (tool-calling) 형식의 심 (shim) 작업 등이 포함되었습니다. Claude나 GPT가 제공하는
| 비용 요소 | 유료 API (Claude/GPT) | 나의 무료 스택 |
|---|---|---|
| 월간 API 비용 | $150-200 | $0 |
| ... |
솔직한 결론은 무엇일까요? 만약 매달 200달러를 써도 상관없다면, 유료 API를 계속 사용하세요. 거의 모든 측정 가능한 측면에서 유료 API가 더 뛰어납니다.
하지만 예산 내에서 24시간 내내 작동해야 하는 무언가를 구축하고 있거나, 비행기 안에서도 에이전트가 작동하기를 원한다면 (실제로 제가 해봤는데, 마치 해커 영화 같았습니다), 무료 스택도 충분히 실행 가능합니다.
공지: 이 글의 일부 링크는 제휴 링크입니다. 이를 통해 구매하시면 귀하에게 추가 비용 없이 저에게 소정의 수수료가 지급될 수 있습니다. 저는 진심으로 유용하다고 생각하는 제품만을 추천합니다.
내가 베팅하고 있는 것
제 생각에 2026년 말쯤이면 유료 에이전트 LLM과 오픈 소스 에이전트 LLM 사이의 격차는 거의 사라질 것입니다. 우리는 이미 코딩 벤치마크에서 GPT-4에 필적하면서도 비용은 아주 적게 드는 Qwen 3.5 및 DeepSeek 모델들을 확보했습니다. agent-apprenticeship (방금 별 1.2K를 달성했습니다)와 같은 에이전트 오케스트레이션 (orchestration) 도구들은 에이전트 실행을 일회성 프롬프트 (one-shot prompts)가 아닌, 구조화되고 학습 가능한 워크플로 (workflows)로 바꾸어 놓고 있습니다.
제가 Claude를 완전히 버리겠다는 것은 아닙니다. 하지만 에이전트 트래픽의 80%를 로컬 모델 (local models)로 라우팅함으로써 월 API 비용을 200달러에서 약 40달러로 줄였습니다. 일상적인 결정에는 작은 로컬 모델을 사용하고, 어려운 문제에는 거대한 클라우드 모델을 사용하는 하이브리드 (hybrid) 접근 방식이 결국 모두가 도달하게 될 지점이라고 생각합니다.
제 배포 에이전트는 현재 12일 연속으로 실행되고 있습니다. API 비용은 0원입니다. 6번의 성공적인 배포가 있었습니다. 2번의 실수(둘 다 로컬 모델이 에러 로그를 잘못 읽어서 발생했습니다 — 그 이후로 Hermes 70B 검토 단계를 추가했습니다)가 있었지만 말이죠.
완벽하지는 않습니다. 하지만 이것은 '나의 것'이며, API 비용으로 단 한 푼도 들지 않았습니다.
여러분은 어떠신가요? 로컬 LLM으로 에이전트를 구축해 보셨나요, 아니면 유료 거대 모델들을 계속 사용하고 계신가요? 다른 개발자들에게 무엇이 효과적인지 진심으로 궁금합니다. 여러분의 설정 (setup)을 댓글로 남겨주세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기
