Pi Agent よくある問題のトラブルシューティング
以下は、Pi Agent の使用中によくある問題とその解決策です。
インストール問題
このセクションでは、インストール段階で発生する典型的なエラーと対処手順を説明します。
npm install 失敗
現象: インストールコマンド実行中にエラーで途中終了する。よくあるエラーはバージョン、ネットワーク、権限の3種類に集中している。
| 考えられる原因 | 調査方法 | 解決策 |
|---|---|---|
| Node.js のバージョンが低すぎる。Pi Agent は Node.js 22.19.0 以上を要求する。 | 実行するnode --version現在のバージョンを確認する | nvm で 22 LTS 以上のバージョンをインストールして切り替える |
| ネットワーク問題。国内から npm 公式レジストリにアクセスするとタイムアウトしやすい。 | エラーメッセージに ETIMEDOUT などのネットワークタイムアウト情報が含まれているか確認する | 実行するnpm config set registry https://registry.npmmirror.comミラーソースに切り替えて再インストールする |
| 権限問題。macOS/Linux のグローバルインストールディレクトリが現在のユーザーで書き込み不可になっている。 | エラーメッセージに EACCES 権限エラーが含まれているか確認する | nvm で Node.js を管理するか、npm のプレフィックスをユーザーディレクトリに設定して sudo の使用を避ける |
インストール後に pi コマンドが見つからない
現象: インストールは成功と表示されるが、pi を入力すると command not found と表示される。
まず npm のグローバルインストールプレフィックスを確認する:
$ npm prefix -g /usr/local
次に、そのプレフィックス配下の bin ディレクトリが PATH に含まれているか確認する:
$ echo $PATH | grep "$(npm prefix -g)/bin" /usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin
ディレクトリが PATH に含まれていない場合、このコマンドは何も出力しない:
$ echo $PATH | grep "$(npm prefix -g)/bin"
出力がない場合は、グローバルの bin ディレクトリが PATH に含まれていないことを意味し、それが pi コマンドが見つからない原因です。
| 考えられる原因 | 調査方法 | 解決策 |
|---|---|---|
| グローバルの bin ディレクトリが PATH に追加されていない | 上記の grep コマンドで出力があるか確認する | を$(npm prefix -g)/binの PATH に追加~/.zshrc 或 ~/.bashrcし、ターミナルを開き直すと有効になります |
| Node のバージョンを切り替えたため、古いシンボリックリンクが無効になっている | 実行するls $(npm prefix -g)/binpi がまだ存在するか確認する | 現在の Node バージョンでグローバルインストールを再度実行する |
認証問題
このセクションでは、/login ログインと API Key 認証失敗の対処手順を説明します。
/login ログイン失敗
症状: /login を入力してもブラウザでリダイレクトが完了しない、またはインターフェースが認証待ちの状態のまま止まる。
| 考えられる原因 | 調査方法 | 解決策 |
|---|---|---|
| サブスクリプションが有効な状態ではない | プロバイダーの公式サイトにログインしてサブスクリプションが期限切れかどうか確認する | サブスクリプションを更新するか、他のプロバイダーでログインする |
| プロバイダーの認証サーバーにアクセスできない | ブラウザでプロバイダーのサイトを開き、ネットワークに到達できるか確認する | プロキシを設定して再試行する。設定方法は後述の「プロキシ設定」のセクションを参照 |
| SSH リモート接続で /login を使用している | リモートマシンにブラウザがないため、OAuth コールバックが届かない | 認証 URL をコピーしてローカルのブラウザで開き、コールバック URL を手動で貼り付けてログインを完了する |
API Key が有効にならない
現象: 環境変数を export したのに、起動時に未認証と表示されるか、古い認証情報が使われ続ける。
以下の順序で確認する:
| 考えられる原因 | 調査方法 | 解決策 |
|---|---|---|
| 環境変数が正しく設定されていない | 実行するecho $ANTHROPIC_API_KEY出力を確認する | 出力が空の場合は、シェル設定ファイルに export を追加し、再度 source する |
| auth.jsonに同名の認証情報がすでにあり、環境変数より優先される | 確認する~/.pi/agent/auth.jsonにそのプロバイダーのエントリがすでに存在するか | 実行する/logout古い認証情報を削除するか、auth.json を直接編集して Key を更新する |
| API Key の形式が正しくない | コピーした内容に余分なスペースや引用符が混入していないか確認する | Key を完全にコピーし直して再設定する |
auth.jsonに保存されている認証情報は環境変数より優先されます。
API Key が有効にならない場合は、まず確認してください~/.pi/agent/auth.json環境変数だけに注目しないでください。
モデルが利用できない
現象: モデルリストに期待したモデルが見つからない、または呼び出し時に権限がないと表示される。
| 考えられる原因 | 調査方法 | 解決策 |
|---|---|---|
| ローカルのモデルディレクトリが古い | 実行するpi update --modelsモデルディレクトリを更新する | 更新完了後、モデルセレクターを開き直す |
| 現在利用可能なモデルが不明 | 実行するpi --list-models利用可能なモデルのリストを確認する | リストから現在のアカウントで利用可能なモデルを選択する |
| API Key に対応するモデルのアクセス権限がない | プロバイダーのコンソールで、その Key のモデル認可範囲を確認する | プランをアップグレードするか、認可済みのモデルに変更する |
| GitHub Copilot モデルに "not supported" と表示される | VS Code でそのモデルが有効化されているか確認する | まず VS Code Copilot Chat でそのモデルを有効化してから、Pi Agent に戻って使用する |
インターフェース問題
このセクションでは、ターミナル描画、画像表示、ショートカットキーの3種類のインターフェース異常を説明します。
インターフェース表示異常(色の異常、配置のずれ)
現象: 色が暗くなる、または歪んで見える。テーブルやテキストボックスの枠線がずれる。
| 考えられる原因 | 調査方法 | 解決策 |
|---|---|---|
| ターミナルが True Color をサポートしていない | 実行するecho $COLORTERM、truecolor または 24bit と出力されればサポートしている | True Color をサポートするターミナル(iTerm2、Windows Terminal など)に変更する |
| VS Code がターミナルのコントラストを自動調整している | 設定項目を確認するterminal.integrated.minimumContrastRatio | その項目を 1 に設定する |
| 現在のターミナルの描画互換性が低い | 別のターミナルで実行し、問題が再現するか確認する | ターミナルを変更する。iTerm2 または Windows Terminal を推奨 |
画像が表示されない
現象: 画像を送信または貼り付けても、ターミナルにはプレースホルダーか空白しか表示されない。
| 考えられる原因 | 調査方法 | 解決策 |
|---|---|---|
| ターミナルが画像表示プロトコルをサポートしていない | ターミナルが iTerm2 の imgcat または Kitty の icat をサポートしているか確認する | 画像プロトコルをサポートするターミナルに変更する |
| 画像表示が設定で無効になっている | 確認するterminal.showImagesが true かどうか | true に変更した後、実行する/reload設定を有効にする |
ショートカットキーが機能しない
現象: ドキュメントに記載されたショートカットキーを押しても反応がない、またはターミナル自身の機能が実行される。
| 考えられる原因 | 調査方法 | 解決策 |
|---|---|---|
| ターミナルがそのショートカットキーを横取りしている | ターミナル設定のショートカットキーバインド一覧を確認する | ターミナル内で競合しているバインドを変更または解除する |
| 現在のショートカットキーを覚え間違えている | 実行する/hotkeys現在のすべてのショートカットキーバインドを確認する | リストに記載された実際のバインドで操作する |
| 個人の習慣に合わせて調整する必要がある | 設定ファイル~/.pi/agent/keybindings.jsonが存在するか確認する | このファイルを編集してショートカットキーをカスタマイズする |
セッション問題
このセクションでは、セッションファイルの肥大化と履歴セッションが見つからないという2種類の問題を扱います。
セッションファイルが大きすぎる
現象:コンテキストの使用量が増え続け、応答が遅くなるか、早期に圧縮がトリガーされる。
| 考えられる原因 | 調査方法 | 解決策 |
|---|---|---|
| 会話履歴が長すぎる | 実行/sessionメッセージ数とトークン使用量を確認する | 実行/compact会話履歴を圧縮する |
| 自動圧縮が有効になっていない | 確認compaction.enabledが true かどうか | true に設定して pi を再起動すると有効になる |
| 単一セッションの累積時間が長すぎる | 用 /sessionセッションファイルのサイズ増加を観察する | 定期的に使用する/new新しいセッションを開始し、タスクごとにセッションを分割する |
以前のセッションが見つからない
現象:pi -r のリストに以前の作業記録が表示されない。
| 考えられる原因 | 調査方法 | 解決策 |
|---|---|---|
| 復元エントリを使用していない | 実行pi -rまたは対話モードで /resume を入力してセッションリストを閲覧する | リストで目的のセッションを選択して復元する |
| sessionDir設定が変更された | settings.json のsessionDirの現在値を確認する | 元のディレクトリに戻すか、元のディレクトリ内のファイルを新しいディレクトリに移行する |
| セッションディレクトリの権限が異常 | 実行ls ~/.pi/agent/sessions/読み書き可能か確認する | 実行chmod -R u+rw ~/.pi/agent/sessions権限を修復する |
パフォーマンス問題
このセクションでは、応答が遅いという問題と、長いコンテキストでのパフォーマンス低下という2種類のパフォーマンス問題を扱います。
AI の応答が遅い
現象:リクエストを送信しても最初の文字が長時間出力されない、または全体の所要時間が通常より明らかに長い。
| 考えられる原因 | 調査方法 | 解決策 |
|---|---|---|
| ネットワーク遅延が高い、またはリンクが不通 | 実行ping api.anthropic.com遅延とパケットロスを確認する | ネットワークを切り替えるか、以下のプロキシ設定に従ってプロキシを構成する |
| 推論レベルが高すぎて、思考時間が長引いている | ステータスバーの現在の推論レベルを確認する | Shift+Tab を押して推論レベルを下げる |
| システムプロンプトまたはコンテキストファイルの内容が多すぎる | AGENTS.md などのコンテキストファイルのサイズを確認する | システムプロンプトを短くし、AGENTS.md の内容を簡素化する |
| 単一リクエストのトークン消費が大きすぎる | 実行/sessionトークン使用量と所要時間の分布を確認する | 実行/compact 或 /newコンテキストを短くしてから再試行する |
プロキシ環境を使用している場合は、curl -x $HTTP_PROXY https://api.anthropic.comでテストする。
プロキシ環境で ping が通らないことは、API が利用できないことを意味しない。
ping は ICMP を使用し、API は HTTPS を使用する。この場合、curl を使用して実際のリンクを検証する必要がある。
大量のコンテキスト後に AI の性能が低下する
現象:会話のラウンドが増えると、AI が以前の約束を忘れ始めたり、重複した回答を返したりする。
| 考えられる原因 | 調査方法 | 解決策 |
|---|---|---|
| コンテキストがウィンドウの上限に近づき、初期の内容が圧縮されてしまう | 実行/session現在のトークン使用量を確認する | 手動で実行する/compactコンテキストを圧縮する |
| 履歴メッセージに大量の無効な試行が混入している | 用 /treeブランチと無効な会話を確認する | 用 /new新しいセッションを開始し、結論を AGENTS.md に書き込む |
| 参照されるファイルの内容が現在のタスクと無関係 | @参照とコンテキストファイルに無関係な内容が含まれていないか確認する | 不要なコンテキストファイルの内容を減らし、現在のタスクに必要な部分だけを残す |
プロキシ設定
このセクションでは、制限されたネットワーク環境で Pi Agent が API に正常にアクセスする方法を説明します。
中国国内で API にアクセスする
settings.json で HTTP プロキシを構成する:
{
"httpProxy": "http://127.0.0.1:7890"
}
または環境変数を設定して起動する:
$ export HTTP_PROXY=http://127.0.0.1:7890 $ export HTTPS_PROXY=http://127.0.0.1:7890 $ piその他の拡張