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 セッションにより、環境変数やディレクトリの変更がターン間で保持されます。
- 思考予算制御:推論モデルが使用する「思考」トークンを制限し、些細なタスクで無駄遣いを防ぎます。
- 知識のインジェクション:キーワードの一致に基づいて、ユーザーがディレクトリに参考ノートを配置することで、システムプロンプトに注入できます。
- プラグインシステム:プロジェクト、ユーザー、グローバルプラグインをサポートし、ツール、コマンド、フックの追加が可能。
- 読み取り/書き込みガード:まだ読み取っていないファイルへの書き込みを防止し、大規模ファイルの読み取りを管理してコンテキストオーバーフローを回避します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト