
Claude Code로 에러 조사를 맡겼더니 토큰 한도가 다 써버려서, 로컬 AI 진단 CLI를 만들었다
요약
Claude Code 사용 중 발생하는 과도한 토큰 소비와 부정적인 수정 루프를 해결하기 위해, 로컬 AI를 활용한 진단 CLI 도구 'DevForge'를 개발했습니다. 로컬 AI가 에러 로그와 프로젝트 상태를 구조화된 JSON으로 정리하여 클라우드 AI에게 전달함으로써 효율적인 디버깅을 지원합니다.
핵심 포인트
- AI 에이전트의 무분별한 파일 탐색으로 인한 토큰 낭비 및 코드 불안정성 문제 해결
- 로컬 AI(Ollama)와 클라우드 AI(Claude Code)의 역할을 분리하여 비용 및 한도 최적화
- 에러 정보를 구조화된 JSON으로 변환하여 AI에게 전달하는 워크플로우 구축
- qwen2.5:1.5b 모델을 활용한 경량화된 로컬 진단 환경 구현
첫 게시물입니다!
평소 Claude Code나 Cursor 같은 AI 에이전트와 함께 코드를 작성하고 있습니다만, 어느 날 진심으로 책상을 주먹으로 내리치고 싶을 뻔한 사건이 있었습니다.
취미로 개발하던 프로젝트가 「진척도 80%」까지 도달하여, 완성이 눈앞에 보여 설레던 시기였습니다.
그때 원인 불명의 에러를 마주하게 되었고, 평소처럼 AI에게 수정을 부탁했습니다.
AI는 매우 우수했습니다.
여러 파일을 읽어 들여 에러 지점을 찾아낼 뿐만 아니라,
"이 부분도 향후에 취약점이 될 가능성이 있으니, 함께 수정해 두겠습니다"
라고 제안까지 해주었습니다.
"오, 고마워! 그럼 거기도 부탁해!"
가벼운 마음으로 맡긴 것이 모든 일의 시작이었습니다…….
하나를 고치면 다른 곳이 망가진다.
그 수정을 부탁하면, AI는 또 대량의 파일을 확인한다.
그리고 새로운 문제를 발견하고, 다시 수정한다.
그야말로 「줄줄이 사탕」 식의 부정적인 루프였습니다.
정신을 차려보니, 제가 처음에 작성했던 코드보다 훨씬 복잡해진 코드가 화면 가득 펼쳐져 있었습니다.
80% 완성되었어야 할 프로젝트는 어느샌가 수정 전보다 불안정한 상태로.
게다가 쐐기를 박듯,
Quota Limit reached
라는 알림.
심야에 붕괴된 코드를 바라보며,
"왜 이렇게 된 거지……"
라고 생각하며 조용히 PC를 닫았습니다 (웃음).
냉정하게 생각해 보니 AI가 잘못한 것은 아니었습니다.
AI는 주어진 정보로부터 열심히 문제를 해결하려고 했을 뿐입니다.
문제는,
정리되지 않은 대량의 정보를 그대로 AI에게 전달했다는 것
이었습니다.
그래서 생각했습니다.
만약 처음부터 AI에게 「문제가 정리된 정보」를 전달할 수 있었다면?
정말로 필요한 부분만 수정하게 할 수 있었다면?
그 부정적인 루프는 막을 수 있지 않았을까 하고.
AI 에이전트는 매우 강력합니다.
하지만 조사 범위나 전제 정보가 정리되지 않은 상태에서는 수정 대상이 너무 넓어져 버리는 경우가 있습니다.
저는 AI에게,
"어질러진 방에서 스스로 물건을 찾아보세요"
라고 말하고 있는 것과 같은 상태였습니다.
예를 들어 에러 조사에서는,
- 에러 원인이 불명
- AI가 대량의 파일 검색을 수행
- 검색 결과나 로그가 대화 이력에 축적됨
- 컨텍스트 (Context)가 비대해짐
- 전제 정보가 묻힘
- 관계없는 코드까지 수정 대상이 됨
이라는 흐름이 발생합니다.
즉 문제는,
AI의 능력 부족이 아니라, AI에게 전달하는 정보의 구조
였습니다.
그래서 만든 것이 DevForge입니다.
컨셉은,
AI 에이전트에게 수정을 시키기 전에, AI가 이해하기 쉬운 형태로 정리한다
라는 것입니다.
역할을 분리했습니다.
| 역할 | 담당 |
|---|---|
| 진단·리뷰 | 로컬 AI (Ollama) |
| 수정·구현 | Claude Code / Cursor 등 |
먼저 로컬 AI에게,
- 프로젝트 상태
- 에러 로그
- 파일 구성
- 빌드 상태
등을 확인하게 합니다.
그 결과를 구조화된 JSON으로서 출력합니다.
그리고 클라우드 AI에는 그 JSON만을 전달합니다.
현재 구성은 다음과 같습니다.
DevForge
├── CLI
│ └── doctor command
...
예를 들어 다음과 같은 JSON을 생성합니다.
{
"schema_version": "1.0",
"workflow": "doctor_ai_diagnose",
...
이 JSON을 Claude Code 등에 전달함으로써, 「어디를 조사해야 하는가」부터 시작할 필요가 없어집니다.
에러 해석이나 상태 정리는 로컬 AI가 수행합니다.
따라서,
- API 비용
- 클라우드 AI의 이용 한도
- 토큰 (Token) 소비
를 신경 쓰지 않고 몇 번이고 진단할 수 있습니다.
참고로 이번에 사용하고 있는 모델은 qwen2.5:1.5b입니다.
이유는 단순하게, 제 PC 사양과의 조화 때문입니다 (웃음).
다만, 이 모델에게 거대한 코드베이스를 완전히 이해시키는 것을 목적으로 하지는 않습니다.
역할은,
- 상태 정리
- 에러 분류
- 원인 후보 생성
- 다음 조사 방향 제안
입니다.
더 고성능의 PC라면 7B나 14B 등의 모델로 변경함으로써 더욱 고도화된 분석도 가능합니다.
이전에는,
"먼저 파일을 찾는다"
↓
"로그를 읽는다"
↓
"원인을 추측한다"
이러한 과정을 클라우드 AI가 담당하고 있었습니다.
DevForge를 사용하면, "원인 후보가 정리된" 상태로 전달할 수 있습니다.
따라서 AI는 "찾는 것"이 아니라 "고치는 것"에 집중할 수 있습니다.
진단 결과에는,
- 문제 지점
- 권장 대응
- 자동 수정 가능한 범위
가 포함되어 있습니다.
이를 통해 AI가 관계없는 부분까지 변경해 버리는 리스크를 줄일 수 있습니다.
이번에 제가 직접 만든 도구를 공개하는 것은 인생 첫 도전입니다.
아직 설계나 코드 등 개선해야 할 부분은 많지만,
"AI 에이전트에게 방대한 정보를 전달하여 길을 잃는(迷走)"
이라는 저 자신이 겪고 있던 문제에서 탄생한 도구입니다.
AI 시대의 개발에서는 "AI의 성능"뿐만 아니라, **"AI에게 전달할 정보를 어떻게 정리할 것인가"**도 중요해질 것이라고 생각합니다.
만약 다음과 같은 경험이 있으신 분들이라면,
- AI가 조사 중에 길을 잃는다
- 토큰 한도(Token limit)에 도달한다
- 수정 범위가 너무 넓어진다
위와 같은 경험이 있는 분들은 꼭 한번 사용해 보신다면 기쁘겠습니다.
끝까지 읽어주셔서 감사합니다!
DevForge Pro: https://devforge-6si.pages.dev
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기