みなさん、こんにちは。
ここ最近、Raspberry Pi(以下ラズパイ)を使って、IoTセンサーの制御プログラムなどをガリガリ開発する機会が多いです。
普段は Windows から WSL2 上のファイルを VS Code で開き、GitHub Copilot の助けを借りながらコードを書いているのですが、一つ大きな悩みがありました。それは、「WSL2だとラズパイの実機テストができない」ということです。
センサー制御となると、どうしても実際のハードウェアで動かさないと分からない部分が多いのですよね。
もちろん、VS Code のリモート開発機能を使ってラズパイに直接ログインすれば、実機環境でコードを書きながらテストできます。以前は私もそうしていました。
しかし、この方法には2つの懸念点がありました。
- 環境をクリーンに保ちたい
VS Code で接続すると、ラズパイ側に.vscode-serverなどの関連ファイル(いわゆるゴミ)が残ります。作成したSDカードイメージをそのままプロダクトに転用したいと考えている身としては、OS内を極力汚したくないのです。 - バックグラウンド作業の限界
VS Code のAIチャットだと、複雑なプロンプトを投げると途中で止まってしまったり、裏側で長時間かけて環境構築やデバッグをしてもらうといった使い方が難しい側面があります。
そこで、「ラズパイのターミナル上でAIを直接動かせば、環境構築からテストまで実機で完結できるのでは?」と考え、いくつかのターミナル型AI(CLIツール)の導入を試みました。
今回はその奮闘過程と挫折に至るまでの話です。ぜひ最後までお付き合いください!
そもそもターミナル型AIとはなんぞや、から知りたい人は以下の記事を読んでから読み進めると理解が深まると思います。
ラズパイで「ターミナル型AI」に挑む
まず、今回の検証環境を整理しておきます。
今回の検証環境
- 本体: Raspberry Pi 4 Model B (4GB)
- OS: Raspberry Pi OS (bullseye) 64-bit
- ストレージ: 32GB microSD
環境によっては異なる挙動を示すことがありますので、その点は前もってご注意ください。
1. GitHub Copilot CLI → GLIBCの壁に阻まれる
まずは GitHub Copilot CLI。私はProプランを契約しているので、月300リクエストのプレミアム枠までは追加料金なしで使えます。当初はこれが本命でした。
- 必要環境: Node.js 22 以上
- 事前準備
bullseye のリポジトリのままだと Node.js 22 は入りませんが、そこは工夫してインストール。
詳しくは過去記事のステップ1を参照してください。 - インストール
npm install -g @github/copilot - 結果
使用するにはトークンが必要なのでGitHubでトークンを発行し、いざcopilotで起動!と思ったら……。
Error: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.34′ not found
これには頭を抱えました。bullseye の GLIBC は 2.31 なのです。
調査した結果、GLIBC 2.34 を入れるにはOS自体のメジャーアップデートが必要。つまり、この時点で GitHub Copilot CLI は「詰み」となりました。
2. Claude Code → 性能は最強、ただしコストが……
次に試したのが、評価が非常に高い Claude Code。
- 必要環境: Node.js 18 以上
- インストール
npm install -g @anthropic-ai/claude-code - 結果
claudeで起動自体は問題なし!ただ、こちらは Anthropic API の使用料(従量課金) がかかります。
普段 GitHub Copilot をメインで使っている身からすると、さらに追加で API 費用を払うのは少しハードルが高い……。性能は圧倒的だと聞くので惜しいですが、今回は断念しました。
3. Gemini CLI → 無料枠は魅力的だが……
続いて、Google の Gemini CLI。Google AI Studio で API キーを発行すれば、無料枠も豊富で期待が持てます。
- 必要環境: Node.js 18 以上
- インストール
npm install -g @google/gemini-cli - 結果
インストールもgeminiでの起動もスムーズでした。
しかし、少し複雑な既存プログラムを読み込ませようとすると、「このモデルではトークン超過しています」という無情なメッセージが。無料枠だと制限が厳しく、実戦投入するには有料プラン(従量課金)への切り替えが現実的なようです。
4. OpenAI Codex CLI → OSとの相性問題
最後に、OpenAI Codex CLI を試しました。自然言語による指示に強いということで期待大です。
- 必要環境: Node.js 22 以上
- インストール
npm install -g @openai/codex - 結果
インストールまでは良かったのですが、codexで起動すると以下のエラーが発生。
Error: Function not implemented (os error 38)
どうやら bullseye のカーネルやライブラリではサポートされていない機能に依存しているようです。これも断念。
結論 – 今は「一歩引く」のが正解かもしれない
いろいろと試行錯誤しましたが、現状の bullseye 環境でスマートにターミナル型AIを動かすのはかなり厳しいことが分かりました。
現状から考えられる選択肢としては以下の3つです。
- OSを bookworm(最新版)にアップグレードして GitHub Copilot CLI を使う。
- Claude Code に課金して使う。
- Gemini に課金して使う。
ただ、正直なところ「OSのアップデート」はプロジェクトの互換性リスクがあり、今は選びたくありません。かといって追加課金してまで……となると、現状の環境を崩さず、「VS Code でラズパイにリモートログインして開発する」 というスタイルが、不満はあれど最も現実的だという結論に至りました。
bullseye で頑張っている方へ
「最新のAIツールを実機で!」と夢見ると、どうしても GLIBC などのライブラリの壁にぶつかります。もしどうしても ターミナル型AI を使いたいなら、早めに bookworm への移行を検討するか、プロジェクト外の作業と割り切って別のマシンで動かすのが精神衛生上よさそうです。
私はしばらく、環境を汚さないよう気をつけつつ VS Code Remote で凌ごうと思います。もう少し規模の大きなプロジェクトが始まったら、その時は bookworm & GitHub Copilot CLI の構成で攻めてみるつもりです!
もし「このCLIツールなら bullseye でも動いたよ!」という情報があれば、ぜひコメントで教えてください。
本日も最後までお読みいただきありがとうございました。
それでは、よい Raspberry Pi ライフを




ピンバック: Raspberry Pi開発でVS Code Remote × AIを使うのが「最適解」な理由 - ビューローみかみ