Doorman11991/smallcode

AI coding agent optimized for small LLMs. 87% benchmark with 4B-active model.

何を解決するか

SmallCode は、コンシューマーハードウェア上で実行される小規模なローカル LLM(8B~35B パラメータ)に特に最適化されたターミナルネイティブなコーディングエージェントです。小規模モデルの一般的な失敗要因——たとえば、ツール呼び出しの不具合、コンテキストウィンドウのオーバーフロー、編集時の幻覚やファイルの切り捨て——を補うために、特別なアーキテクチャを採用しています。

動作方法

SmallCode は、小規模モデルの信頼性を高めるための複数の戦略を用いています:

  • コンテキスト管理:予算エンジンがツールの結果を制限し、単に履歴を削除するのではなく、意味的圧縮によって要約します。
  • ツールルーティング:2段階プロセスで、モデルが最初にカテゴリ(例:読み取り、書き込み、検索)を選択し、その後関連するツールスキーマのみを受信することで、コンテキストのオーバーヘッドを削減します。
  • 許容性のあるパース:JSON、YAML、XML、またはプレーンテキストからツール呼び出しを抽出できるマルチフォーマットパーサーで、小規模モデルの一般的な誤りを自動修復します。
  • 編集プリミティブ:ファイル全体の書き込みではなく、検索・置換パッチを優先することで、切り捨てやずれを防ぎます。
  • 計画機能:複雑なタスクは TODO ファイルに基づく計画に分解され、モデルは各ターンでこの計画を参照して焦点を維持します。
  • ハイブリッド検索:オフラインでシンボルに意識的なコード検索を実現するために、正規表現/キーワードマッチングと意味的ランク付けを組み合わせます。

対象ユーザー

Qwen や Llama などのモデルを自宅のハードウェア上で完全にローカルでプライベートに実行したい開発者。クラウド API に依存せず、高コストやプライバシー侵害のリスクを回避したい人向けです。

主な特徴

  • モデルの昇格:ローカルモデルが深刻な失敗を起こした場合に限り、オプションで強力なクラウドモデル(Claude、OpenAI、DeepSeek)にフォールバックする機能。
  • 永続的なシェル:長期間にわたって維持される bash セッションにより、環境変数やディレクトリの変更がターン間で保持されます。
  • 思考予算制御:推論モデルが使用する「思考」トークンを制限し、些細なタスクで無駄遣いを防ぎます。
  • 知識のインジェクション:キーワードの一致に基づいて、ユーザーがディレクトリに参考ノートを配置することで、システムプロンプトに注入できます。
  • プラグインシステム:プロジェクト、ユーザー、グローバルプラグインをサポートし、ツール、コマンド、フックの追加が可能。
  • 読み取り/書き込みガード:まだ読み取っていないファイルへの書き込みを防止し、大規模ファイルの読み取りを管理してコンテキストオーバーフローを回避します。

関連

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