핵심 요약
- 웹 기반 AI 코딩 도구들의 과도한 메모리 낭비에 불만을 품은 한 개발자가 C++과 Dear ImGui를 사용해 리소스 소모를 약 100배 줄인 코딩 하네스 '프로스페로(Prospero)'를 공개했습니다.
- 윈도우 XP 지원, 데스크톱 GUI 직접 제어, 서브에이전트 협업 기능은 물론 리눅스 OOM 킬러에 죽지 않고 퍼징 작업을 완주하는 등 막강한 경량화 성능을 자랑합니다.
- 복잡한 JSON 대신 직관적인 INI 설정과 유휴 시 GPU를 소모하지 않는 패시브 렌더링, 무한 대기를 방지하는 타임아웃 설계를 적용했습니다.
요약 유명 개발 블로그 nullprogram의 운영자가 웹 기술 기반으로 무겁게 돌아가는 기존 AI 코딩 도구들에 질려 직접 개발한 가벼운 코딩 하네스(Coding Harness) '프로스페로(Prospero)'를 공개했습니다.
작성자는 최근 몇 년간 로컬 LLM의 발전으로 일반 소비자용 하드웨어에서도 오픈 가중치 모델로 간단한 코딩 작업이 가능해졌지만, 시중의 코딩 하네스들이 대부분 웹 스택(일렉트론 등)으로 만들어져 비정상적으로 메모리를 과도하게 잡아먹는다는 점에 큰 실망을 느꼈다고 밝혔습니다. 작성자에 따르면 코딩 하네스의 본질은 본래 'curl과 popen()을 이어 붙인 수준'인데, 여기에 수 기가바이트의 램이 소모되는 것은 불합리하다는 지적입니다.
이에 따라 직접 C++ 스타일과 Dear ImGui 도킹 인터페이스를 적용해 프로스페로를 제작했습니다. 프로스페로는 기존 도구 대비 메모리 등 자원 소모량을 약 1/100(two orders of magnitude) 수준으로 대폭 줄이면서도 다크 모드, 서브에이전트 생성 및 협업, 원격 헤드리스(headless) 배포 등 필수 기능을 완벽하게 지원합니다. 특히 Windows x86 엔진의 경우 윈도우 XP에서도 구동되며, 비전 기능을 지원하는 모델과 결합할 경우 별도 MCP 도구 없이도 데스크톱 화면을 보며 클릭이나 드래그를 수행해 GUI 프로그램을 직접 조작하고 디버깅할 수 있습니다. 지뢰찾기나 카드놀이(solitaire)를 플레이시키는 것도 가능합니다.
또한 리눅스 환경에서 퍼징(fuzzing) 작업을 걸어둘 때 메모리를 과식한 하네스가 OOM 킬러에 의해 강제 종료되던 고질적인 문제를 해결했습니다. 자원 점유율이 극도로 낮아 퍼징 타깃 프로세스가 폭주해도 하네스 자체는 끝까지 살아남아 발견된 버그를 실시간으로 수정하며 테스트를 이어갈 수 있습니다.
설정 방식 역시 복잡한 JSON 대신 읽고 쓰기 쉬운 INI 포맷(~/.config/prospero/prospero.ini)을 채택했으며, URL을 통한 원격 설정 인클루드 기능도 지원합니다. 그래픽 렌더링 측면에서는 비디오 게임처럼 매 프레임 다시 그리는 active 방식을 버리고 애니메이션이 끝나면 대기 상태로 들어가는 passive 렌더링을 적용해 대기 중 GPU 낭비를 없앴습니다. 아울러 '절대 영원히 기다리지 않는다(Never wait forever)'는 설계 원칙을 적용해 모든 작업에 타임아웃을 두고, 사용자 승인이 없으면 자동으로 거절 처리 후 작업을 진행하게 함으로써 밤샘 장기 작업 도중 사소한 문제로 전체 작업이 멈추는 현상을 방지했습니다. 프로스페로는 모델 제공자가 기본 내장되어 있지 않아 llama.cpp나 로컬 온프레미스 모델, 각종 상용 API 등을 사용자가 직접 연동해야 합니다.
Sponsored · 광고