Sentdex/minion

A tiny single-file coding agent for self-hosted models (llama.cpp / vLLM / SGLang).

해결하는 문제

Minion은 AI 코딩 에이전트에서 발생하는 '컨텍스트 과잉' 문제를 해결합니다. 많은 프레임워크는 LLM의 컨텍스트에 광범위한 기능과 도구를 로드하기 때문에 기본적인 상호작용에도 수만 개의 토큰을 소비합니다. 이 과잉은 응답 속도를 저하시키고, 모델의 실질적 지능을 감소시킵니다(주의력은 초기 컨텍스트에서 가장 효과적임), API 비용을 증가시키며, 제한된 컨텍스트 창을 가진 로컬 모델에서 에이전트를 실행하는 것을 어렵게 만듭니다.

작동 방식

Minion은 단일 파일 코딩 에이전트(minion.py)로, OpenAI 호환 엔드포인트(로컬 서버인 llama.cpp 또는 원격 API)와 통신합니다. 시스템 프롬프트와 도구 스키마를 최소화하여 초기 토큰 수를 낮게 유지(간단한 인사말 기준 약 625토큰).

주요 기술적 특징:

  • 유연한 성능 저하: 서버가 네이티브 도구 호출을 지원하지 않으면, 특정 텍스트 구분자([minion_tool_call])를 파싱하는 백업 방식으로 전환.
  • 컨텍스트 관리: 컨텍스트 창이 정의된 임계값(기본값 85%)에 도달하면, 오래된 대화 턴을 자동으로 요약.
  • 위험 분류: 모든 쓰기, 편집, bash 명령은 저비용 모델 호출을 통해 위험 수준(낮음, 중간, 높음)으로 분류되며, 선택된 승인 모드에 따라 사용자 승인이 필요한지 결정.
  • 세션 지속성: 대화는 인간이 읽을 수 있는 JSON 파일로 자동 저장되어 쉽게 재개 가능.

대상 사용자

로컬 LLM에서 실행할 수 있을 정도로 효율적이고, 원격 API에서 비용 효율적인 단순하고 무난한 코딩 에이전트를 원하는 개발자들, 그리고 이해하거나 수정하기 쉬운 투명한 단일 파일 코드베이스를 선호하는 사람들.

주요 특징

  • 초저오버헤드: 기능이 풍부한 에이전트 프레임워크보다 훨씬 적은 토큰을 사용.
  • 도구 기능: 프로젝트 내에서 파일 읽기, 쓰기, 편집, 쉘 명령 실행이 가능.
  • 유연한 백엔드: llama.cpp 같은 로컬 서버와 Together AI, OpenRouter 같은 제공업체를 포함해 모든 OpenAI 호환 엔드포인트와 호환.
  • 안전성 제어: all에서 yolo까지 다양한 승인 레벨을 제공하여 모델이 프롬프트 없이 명령을 실행할 수 있는 시점을 제어.
  • 단일 파일 아키텍처: 전체 로직이 하나의 Python 파일에 포함되어 있어 최대한의 단순성 제공.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch
  • 프로젝트