오래된 노키아 폰에서 작은 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

AI 운영 매장 구축 9화: Claude 코드 에이전트를 위한 다중 에이전트 협업
오케스트레이터 시리즈의 최신 에피소드는 AI 회사를 운영할 때 6개의 Claude 코드 에이전트가 작업을 인계하고, 충돌을 피하며, 세션 간 상태를 유지하는 방법을 다룹니다.

OpenClaw로 직접 모바일 문서 수집: iOS에서 Raspberry Pi로의 건강 워크플로우
한 개발자가 iOS 모바일 클라이언트에서 Raspberry Pi의 로컬 OpenClaw 인스턴스로 문서를 직접 푸시하는 아키텍처를 공유합니다. QR 기반 페어링과 건강 기록 처리를 위한 전용 엔드포인트를 사용합니다.

클로드 AI를 활용한 솔로 개발자를 위한 재사용 가능한 앱 마케팅 체크리스트 만들기
한 명의 iOS 개발자가 Claude AI를 활용해 출시 전, 출시 주, 출시 후 작업을 포함한 포괄적인 마케팅 체크리스트를 구축하여 앱당 작업 시간을 2주에서 한 오후로 단축했습니다.

채널 기능으로 WhatsApp을 통해 Claude 코드 제어하기
개발자가 채널 기능(v2.1.80+)을 사용하여 WhatsApp을 실행 중인 Claude Code 세션에 연결하여 동일한 CLI 세션과 상호작용할 수 있도록 텍스트 메시지, Whisper 전사 기능이 있는 음성 메모, OpenAI TTS를 통한 음성 응답을 가능하게 했습니다.