AIにコードの修正を任せる道具が増える一方で、「どんな部品が動いているのか」「別の環境でも会話を続けられるか」を把握するのは簡単ではありません。psiは、CとLuaで作られた小さなコーディングエージェントです。大きさだけでなく、中身を読めること、会話を保存する仕組み、接続するモデルを選べることに注目します。
公式サイトの6.4MBは、持ち運びを意識したエージェントのバイナリについての説明です。LLMの重みや推論用メモリーを含む数字ではありません。また、確認したv0.2.0リリースにはビルド済みバイナリの添付がなく、内蔵サンドボックスもありません。本記事は公開仕様とソースの確認に基づく解説です。手元のMacでは依存不足でビルドが止まり、AIによるコード修正や日本語品質は実測できていません。
何が新しい? v0.2.0は会話の文脈を引き継ぐ仕組みを更新
v0.2.0の公式リリースは、2026年11月7日17:35 UTC、日本時間11月8日2:35に公開されました。11月9日朝の調査開始時点で約28時間前です。今回の新情報はこの版の公開であり、プロジェクトそのものの初公開日とは分けて扱います。
主な更新は、別のコーディングエージェントであるPi 1.4の会話の文脈を、psiで扱う際の互換性です。長い会話を要約して短くする処理、会話の分岐ごとの編集、システム指示やツール定義を記録した時点の状態などを扱います。「同じ文章を読み込める」だけでなく、「その分岐でモデルに何を見せるか」を合わせるための変更です。
| v0.2.0で扱うこと | 仕事での意味 | 引き継げない/注意すること |
|---|---|---|
| 会話のIDや未知の項目を保存・書き出し時に保持 | 他のツールで作られた履歴を扱う際に、元の記録を保つ | 未知の項目を、すべて理解してモデルへ渡すわけではない |
| 分岐ごとの文脈編集や要約の境界を反映 | 別案を試した会話や、長く続いた会話を再開するための土台 | 同じ回答や同じ編集結果を再現する保証ではない |
| プロンプトの構成を、その環境のツールや信頼設定で組み直す | 現在使える道具に合わせて会話を続ける | Piの拡張、パッケージ、認証情報、プロバイダー設定は取り込まれない |
作者はオフラインテストや合成した会話ツリーによる互換性の確認結果を掲載しています。これは作者の検証報告であり、本誌で追試した結果ではありません。旧psiが新しい記録を誤って解釈する可能性があるため、リリースノートは再開前のバックアップを求めています。
psiは何をする道具か:ファイルとモデルの間で仕事を進める
コーディングエージェントは、モデルの返答を表示するだけでなく、ファイルを読む、差分を編集する、コマンドを実行するといった道具を使いながら作業を進めます。psiはこの実行側を担当します。C89の基盤とLuaによる上位の動作を組み合わせ、対話画面、処理の流れ、拡張などを公開しています。
v0.2.0のREADMEでは、read、write、edit、bash、grep、find、ls、luaが標準の道具として登録されています。コマンドラインの対話、画面付きの対話、1回だけの出力、Lua式の評価などを使い分けられます。ソースを読んで独自の動作を追加したい開発者向けの性格が強い製品です。
「小さい」を三つに分けると、ローカルLLMの誤解が減る
| 見る数字 | 何を表すか | psiで確認すること |
|---|---|---|
| エージェント本体の容量 | ファイル操作やモデルへの通信を行うプログラムの大きさ | 公式の6.4MBは特定の持ち運び用バイナリの説明。各OSのビルドや依存関係全体が同じ容量とは限らない |
| モデルの保存容量 | 回答を生成するモデルの重みを保存する量 | ローカル実行では別途用意する。psi本体には含まれない |
| 実行時メモリー | 本体、モデル、文脈や作業用領域が使う量 | バイナリ容量だけでは見積もれない。モデル、文脈の長さ、実行方式で変わる |
公式サイトにはSBOM(使っているソフトウェア部品の一覧)もあります。サイトの依存関係図は、特定コミットのLinux向けNix構成を対象に、実行時の関係とビルド時の入力を分けたものです。Mac版の総容量や安全性をそのまま証明する数字ではありません。小ささを評価するなら、配布ファイルだけでなく、導入時に必要になる部品も合わせて見ます。
ローカルモデルそのものの容量を減らす話は、MAPLEの枝刈りと量子化の記事で扱いました。psiはモデルを圧縮する道具ではありません。本体を軽くする工夫と、モデル側の保存量を減らす工夫を分けると、自分のPCで何が動くかを判断しやすくなります。
接続先と料金:Ollamaならモデルを自分で用意する
v0.2.0のプロバイダー資料には、Anthropic、Ollama、OpenRouter、OpenAI Codex、Moonshotの経路が記載されています。これはpsiが対応を掲げる接続先であり、各サービスの利用権や認証をまとめて提供する意味ではありません。
| 選び方 | 準備するもの | 注意点 |
|---|---|---|
| Ollamaを使う | Ollamaの実行環境、取得済みモデル、接続先 | 通常の既定接続先はlocalhost:11434。ローカル推論に必要な機材は別途必要 |
| 外部サービスを使う | そのサービスで使える認証と利用条件の確認 | 送るコードや会話、料金・上限は接続先ごとに異なる |
| 会話を保って接続先を替える | 互換性のあるツール構成、会話のコピー | 思考や署名、キャッシュなどサービス固有の情報は同じ形では再現されない場合がある |
psi自体のソースはMITライセンスです。外部APIの利用料が無料になるわけではありません。Ollama経由でも、ホスト先を外部に設定すれば「このPCの中だけで処理する」構成とは異なります。ローカル運用を目的にするなら、モデル名に加えて接続先も記録します。
さらに、Ollamaに読み込めるモデルが、そのままコーディングエージェントに向くとは限りません。公式資料は、道具を使う処理にはOllama側がtool-capableとするモデルが必要だと説明しています。会話ができることと、ファイルを読みテストを実行する指示を出せることを、別々に試します。日本語の説明やコード修正の品質も、選んだモデルに左右されます。
導入できるかを先に確認する:ソース公開と配布バイナリは別
公式サイトとREADMEは、Linux、macOS、Windows、Haiku、BSDなどの動作を掲げています。ただし、移植性の資料にはビルド方法ごとの違いがあります。たとえばWindows向けのCosmopolitan経由の方式と、ネイティブMSVCでのビルドは同じではなく、後者は未対応とされています。OS名だけで導入の容易さを判断しないことが大切です。
- 1公式リリースで対象バージョンと配布物を確認する。今回のv0.2.0はソースリリースで、ビルド済みバイナリは添付されていません。
- 2Nixを使える場合は公式READMEの導入経路を確認する。手動ビルドではLua 5.5、cJSON、argtable3、libcurl、zlibなどが必要です。
- 3作業用のコピーか使い捨て環境を用意し、秘密情報や本番の認証情報を置かない。
- 4起動とヘルプを確認してから、利用できるモデルと接続先を設定する。最初は公開用の小さな題材で試す。
git clone --depth 1 --branch v0.2.0 https://github.com/siraben/psi.gitcd psigit rev-parse HEAD# 確認対象: 646098f607cd0df976ed1691adeca520a724209d
# pkg-config が使える環境で依存関係を確認pkg-config --modversion lua5.5 libcjson argtable3 libcurl zlib今回、手元のmacOS環境で対象コミットを取得し、makeを試しましたが、lua.hとargtable3.hが見つからず停止しました。Nixも利用できないため、実行まで到達していません。これは当環境の依存不足の記録で、macOS全般で動かないという意味ではありません。一方、「小さなバイナリだからすぐ導入できる」とも書けない結果でした。
最初の試用は、既存の小さな関数とテストで
導入できた環境では、AIに自由な新規開発を頼む前に、正解を人が確認できる小さな修正から始めます。たとえば、日本語の商品名を含むCSVを読み込む練習用プログラムを用意し、空欄の扱いを直す課題です。これは試用案であり、本誌がpsiで成功させた実測例ではありません。
この練習用リポジトリで、CSVの数量欄が空欄のときに分かりやすいエラーを返すようにしてください。
最初に、関係するファイルと現在のテストを読んで、日本語で変更方針を説明してください。
ネットワークアクセス、依存パッケージの追加、既存ファイルの削除は行わないでください。
必要な最小限の変更とテストを行い、最後に変更ファイル、実行したテスト、残った問題を日本語で示してください。依頼文は作業方針であり、実行権限を制限する仕組みではありません。結果を読む際は、説明の自然さよりも、差分が要求どおりか、空欄以外の入力を壊していないか、実際のテスト結果と報告が一致するかを確かめます。別のモデルと比較する場合は、同じ初期ファイルと同じテストから始めます。
空の試用記録表をダウンロードできます。バージョン、ビルド方式、モデル、接続先、変更内容、テスト結果、所要時間、料金が分かる範囲を記録します。空欄は未測定のまま残し、psiの実測結果と取り違えないように使ってください。
Piからの引き継ぎは、まずコピーで確かめる
Piはpsiが影響を受けた別のエージェントです。名前が似ていますが、拡張言語や実装まで同一ではありません。psiの会話ファイルはPi v3形式のJSONLを使います。JSONLは、1行ずつJSON形式の記録を並べるファイルです。分岐や要約の情報も含まれるため、単純なチャット全文とは異なります。
- 1元の会話ファイルをバックアップし、試用にはコピーを使う。新しいpsiで開いたファイルを旧版へ戻す際も、元のバックアップを残す。
- 2認証情報、モデル設定、拡張は別途確認する。会話を読めたから設定も移ったとは考えない。
- 3公式の--session FILEで試用用のコピーを指定し、/treeなどで分岐を確認する。最初の新規依頼は小さくする。
- 4再開後の説明、選ばれているモデル、使えるツール、変更したファイルを確認する。互換性と回答品質は別々に評価する。
複数モデルを試す開発者や、エージェントの内部動作を調べたいチームには、この分離が実用的です。ただし、会話の保存形式を合わせても、モデルが違えば回答は変わります。同じ認証や拡張環境も自動的に再現されるわけではありません。
サンドボックスは別途用意する:信頼設定と隔離を混同しない
psiのREADMEは、サンドボックスを実装していないと明記しています。Lua拡張も、psiと同じファイル・プロセスへのアクセス権を持つ信頼されたコードです。隔離が必要なら、対象だけを置いたコンテナーや仮想マシンなど、実行環境側で範囲を制限します。
--no-trustは、プロジェクト側の拡張などの読み込みに関わる設定であり、ファイルへのアクセスやコマンド実行をOSレベルで封じるものではありません。作業ディレクトリを変えただけでも隔離にはなりません。チームで使うなら、認証を渡す範囲、作業フォルダーの共有範囲、外部通信の方針を先に決めます。
採用の判断:まず道具の中身と再開条件を確かめたい人へ
psiの面白さは、「6.4MB」という短い説明から、エージェントとモデルの役割、依存関係、会話の持ち運びまで掘り下げられる点にあります。CやLua、ビルド環境を扱える人が、小さな道具を読みながら試す候補です。すぐ使えるGUIや、管理された実行制限が必要な人には、現時点の導入条件をよく確認する必要があります。
確認日は2026年11月9日、対象はpsi v0.2.0/コミット646098fです。製品の生成品質、速度、日本語対応の実用性は未実測です。ここまでで確認できたのは、ソースと仕様、リリースの時刻、当環境のビルド前提が不足していることです。