Nanocode:小型で依存関係ゼロの Python AI アシスタント

Nanocode – 小型で依存関係ゼロの Python AI アシスタント

AI ツーリングが大きなパッケージや複雑なセットアップを前提にしている世界で、Nanocode は洗練されたミニマルな対抗手段として際立ちます。 1 ファイルの Python スクリプト(約 250 行)で Claude Code スタイルのエージェントループを再現し、堅牢なファイルとシェルユーティリティを少数提供し、典型的な Python ランタイム以外の外部依存関係は一切要しません。

なぜ Nanocode なのか? - それが解決する問題

  • 高速なイテレーション:新しいツールを追加したり、動作を微調整したりするのに数ミリ秒。ライブラリの再インストールは不要。
  • ポータビリティ:ファイルを任意の場所に置けば、Python 3.8+ を搭載した任意のマシンで実行可能。
  • 透明性:黒箱ソリューションとは違い、コードベース全体が公開されているため、学習やデバッグには最適。
  • 外部ライブラリ不要:重いパッケージを pip でインストールする必要がなく、CI 環境やメモリ制限のあるデバイスに最適。

主な機能一覧

機能 説明
エージェントループ ツール呼び出し機能付きの継続的プロンプト・レスポンスサイクル
組み込みツール readwriteeditglobgrepbash – エージェントが呼び出せる純粋なネイティブアクション
カラフルな出力 プロンプト、レスポンス、ツール結果をリッチにターミナルに可視化
モデルの柔軟性 Anthropic の Claude をベースに動作。OpenRouter のどんなモデルも環境変数で簡単に切り替え可能
コマンドショートカット /c で履歴をクリア、/qexit で終了

クイックスタート

# リポジトリをクローンするか、単一の `nanocode.py` ファイルをダウンロード
git clone https://github.com/1rgs/nanocode.git
cd nanocode

# Anthropic の API キーを設定
export ANTHROPIC_API_KEY="your-key"

# あるいは、より多くのモデルが利用できる OpenRouter のキーを設定
export OPENROUTER_API_KEY="your-key"

# 任意のモデルを選択(デフォルトは Claude 3.5 Sonnet)
export MODEL="openai/gpt-5.2"

# 実行
python nanocode.py

REPL 内に入ったら、AI にファイルを読みさせたり、編集させたり、あるいはシェルコマンドを実行させたりできます。例:

> what files are here?

─────────────────────────────────
❯ glob(**/*.py)

ツールが応答し、glob 関数を呼び出し、スクリプトは一致するファイル名を表示します。これでエージェントが直接ユーティリティを呼び出す仕組みが示されます。

Nanocode を拡張する

新しいカスタムツールを追加する手順は簡単です。 1. 実行したいアクションを行う関数を定義します。例: compress ツール。 2. tool_registry 辞書に登録します。 3. 以後、エージェントは compress を名前で呼び出せます。

# 例: 簡易圧縮ツール
from zipfile import ZipFile

def compress(src, dst):
    with ZipFile(dst, 'w') as z:
        for root, _, files in os.walk(src):
            for f in files:
                z.write(os.path.join(root, f), arcname=f)

# 登録
tool_registry['compress'] = compress

その後、エージェントに

> create a zip of the src folder

と尋ねると、compress ツールが自動的に実行されます。

コミュニティと貢献

プロジェクトは非常にシンプルなコードベースを維持しており、コントリビュータにとって優れた実験場です。ぜひ以下のようにご活用ください。 - バグ報告や機能リクエストの issue を作成。 - 新しいツールやパフォーマンス向上を Pull Request で提出。 - ドキュメントの追加や README の更新を自分の例で行う。

15 死星以上のスター数と、ミニマル AI ユーティリティに対する関心の高まりを背景に、Nanocode は軽量 AI アシスタントの次世代の土台として確固とした基盤を提供します。

最後に

Nanocode は、強力な AI インタラクションが巨大フレームワークを必要としないことを示しています。 カスタムデータパイプラインを prototyping したいとき、埋め込み型 AI アシスタントを試したいとき、あるいは Claude スタイルのループの仕組みを知りたいとき、この小さなスクリプトは雑音を切り裂きます。ぜひ取得して実行し、想像力とターミナルが残りを担うようにしてみてください。

この記事を共有