오래된 노키아 폰에서 작은 AI 에이전트 디버깅하기: 성공까지의 18번의 시도

한 개발자가 Go로 작성된 ~12MB 단일 바이너리 AI 에이전트인 Picobot을 구형 노키아 안드로이드 폰에서 Termux를 통해 실행하려고 시도했습니다. 목표는 텔레그램 통합, 도구 지원(웹 페치, 셸), 메모리 기능을 갖춘 24/7 포켓 에이전트를 최소한의 반복 비용으로 구축하는 것이었습니다.
18번의 실패한 시도
시도 1~4에서는 무료 OpenRouter 모델(Gemini flash-exp, Qwen 2.5 7B, Llama 3.3 70B, Llama 3.2 3B)을 사용했으나, 모두 404 "도구 사용을 지원하는 엔드포인트를 찾을 수 없음" 또는 잘못된 모델 ID 오류로 실패했습니다. 무료 티어 라우팅은 대부분의 소형 모델에서 도구 사용을 활성화하지 않았습니다.
시도 5~8에서는 Groq 직접 연결(Llama 3.3 70B, Mixtral 8x7B, Llama 3.1 8B, Gemma 2 9B)을 사용했습니다. 모델들은 단종되어 400 오류를 발생시키거나 잘못된 도구 형식(XML <function> 태그)을 생성하여 400 tool_use_failed 오류나 끝없는 응답 스팸 루프를 일으켰습니다.
시도 9에서는 GLM-4.5-Air :free를 사용했는데, 처음에는 농담과 날씨 정보로 성공했지만 AAPL 주식 조회 시 컨텍스트가 폭발적으로 증가(~330k 토큰)하여 400 오버플로 오류가 발생했습니다.
시도 10~11에서는 더 많은 무료 OpenRouter 모델(Llama 3.1 70B, Qwen 3 8B)을 시도했지만 동일한 404 도구-엔드포인트-없음 문제가 발생했습니다.
시도 12에서는 temperature=0.3으로 Groq Llama 3.1 8B를 사용했지만 여전히 태그 생성 오류와 루프 문제가 있었습니다.
시도 13에서는 OpenRouter 프록시를 통해 Claude 3.5 Sonnet을 시도했으나, OpenRouter 잔액이 $0이어서 402 결제 필요 오류가 발생했습니다.
시도 14에서는 OpenRouter에 $5를 추가하여 프록시 인증을 완료하고 기본 응답을 허용했습니다.
시도 15에서는 동일한 Claude 3.5 모델을 사용했지만 긴 쿼리에서 컨텍스트 오버플로 문제가 발생했습니다.
시도 16에서는 Sonnet 4.6(최신 버전)로 전환했지만 모델 이름 불일치로 인해 404 오류가 발생했습니다.
시도 17에서는 설정 오타/새로운 온보딩 재설정으로 인해 텔레그램이 비활성화되고 토큰이 삭제되었습니다.
최종 작동 솔루션
시도 18에서는 직접 Google API를 통해 gemini-2.5-flash로 성공했습니다. 이 설정은 빠르고 안정적이며, 응답이 깔끔하고, 잘림 문제 없이, 개발자의 필요에 충분한 도구 사용 기능을 제공합니다.
제공자: 직접 Google Gemini API(개인 API 키 사용)
모델: gemini-2.5-flash
비용: 현재 Google 무료 티어 하에서 무료(청구 연결 프로젝트 기준 하루 500회 요청)
텔레그램: 봇 토큰 및 채널 활성화, 깔끔한 메시지 처리
OpenRouter가 원래 기본값이었던 이유
Picobot의 제작자는 OpenRouter를 선택했습니다. 이는 바이너리를 작게 유지하고 코드를 단순하게 만들기 때문입니다: 하나의 OpenAI 호환 엔드포인트가 수십 개의 모델/제공자로 라우팅하며, 사용자는 config.json에서 한 줄만 변경하여 모델을 전환할 수 있고, 무료 티어 + BYOK를 지원하며, 제공자 간 도구 호출을 표준화하고, 오픈소스 에이전트를 위한 범용 라우터로서 커뮤니티 동력을 가지고 있습니다.
그러나 개발자는 OpenRouter에서 너무 많은 제한 사항을 마주했습니다: 도구 지원 격차, 단종, 속도 제한, 프록시 수수료, 검증 오류 등이 있었습니다.
장단점
- 무료 티어에는 제한이 있음(하루 500회 요청) - 이를 초과하면 최소 비용 발생(~$0.01–$0.05/메시지)
- 완전히 로컬/비공개가 아니지만(클라우드 모델) 빠르고 스마트하며 폰 하드웨어 제한 없음
- 장기적으로 수수료 없이 사용하려면 Mac에서 로컬 Ollama를 사용할 수 있지만 도구 사용에 있어 더 느리고 능력이 떨어짐
📖 전체 소스 읽기: r/LocalLLaMA
👀 See Also

SkiTomorrow.ai: Claude Code로 구축된 스키 여행 결정 엔진
SkiTomorrow.ai는 실시간 눈 예보, 이동 거리, 비용을 기준으로 전 세계 234개 스키 리조트를 점수화하는 무료 웹 도구로, 개인 맞춤형 순위를 제공합니다. 개발자는 Claude Code를 전적으로 사용하여 구축했으며 구체적인 워크플로우 인사이트를 공유했습니다.

클로드 코드의 동적 워크플로우: 병렬 서브 에이전트로 3배 향상된 기능 속도
Claude Code의 병렬 서브 에이전트가 피처 개발 시간을 4-6시간에서 1.5-2시간으로 단축합니다. 한 개발자가 3개의 에이전트가 API 문서, 테스트, 코드를 동시에 작업하는 워크플로우를 공유합니다.

단일 AI 에이전트에서 여러 텔레그램 봇을 실행하여 병렬 작업 수행하기
한 개발자가 AI 에이전트가 한 작업을 마치길 기다리지 않고 다른 작업을 시작할 수 있도록, 세 개의 텔레그램 봇을 동일한 기본 에이전트에 연결하는 방법으로 문제를 해결했습니다. 각 봇은 자체 채팅과 대화 기록을 갖고 독립적으로 작동하면서도 동일한 작업 공간, 메모리, 학습 내용을 공유합니다.

V100 클러스터 vs MoE: 클로드 코드 오케스트레이션을 활용한 12x SXM2 32GB 빌드
Threadripper Pro에서 12x V100 32GB SXM2를 운영하는 변호사에 따르면, Volta에서는 MoE 모델만이 유일한 viable한 경로이며, Qwen3.5-122B-A10B는 4대의 보드에서 약 50 tok/s로 디코딩됩니다. 전체 스택은 Claude Code를 사용하여 16대의 GPU에 걸쳐 5개의 로컬 모델을 오케스트레이션합니다.