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でもコスト効率が良い、シンプルで無駄のないコーディングエージェントを求める開発者。また、理解・修正が容易な透明性の高い単一ファイルコードベースを好む人。

特徴

  • 超低オーバーヘッド: 機能豊富なエージェントフレームワークと比べ、1ターンあたりのトークン使用量が大幅に少ない。
  • ツール機能: プロジェクト内でのファイルの読み取り、書き込み、編集、シェルコマンドの実行が可能。
  • 柔軟なバックエンド: llama.cpp などのローカルサーバーから Together AI や OpenRouter などのプロバイダーまで、OpenAI互換エンドポイントとすべて互換。
  • セキュリティ制御: all から yolo まで複数の承認レベルを用意し、モデルがプロンプトなしでコマンドを実行できるタイミングを制御。
  • 単一ファイルアーキテクチャ: 全てのロジックが1つのPythonファイルに収容され、最大限のシンプルさを実現。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト