CLAUDE LABEN
FORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられていますFORK — Claude Code 2.1.212で/forkの挙動が変わりました。会話を新しいバックグラウンドセッションへ複製し、作業を続けたまま並走できます。従来のセッション内サブエージェントは/subtaskに移りましたLIMITS — WebSearchの呼び出しがセッション単位で既定200回に制限されました。サブエージェントの起動も既定200回が上限で、暴走した検索・委譲のループを止められますMCPBG — 2分を超えるMCPツール呼び出しは自動的にバックグラウンドへ移り、セッションが固まらなくなりました。しきい値はCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSで調整できますPLANFIX — プランモードがtouchやrmといったファイルを変更するBashコマンドを、許可プロンプトもcanUseToolコールバックも通さずに実行してしまう不具合が修正されましたSONNET5 — Claude Sonnet 5は導入価格として入力100万トークンあたり2ドル、出力10ドルで提供中です。8月31日を過ぎると3ドルと15ドルに戻りますIPO — Anthropicが早ければ10月の株式公開を視野に、引受銀行が投資家との面談を組み始めたと報じられています
記事一覧/API & SDK
API & SDK/2026-05-04上級

Bun × Claude API で本番運用するエッジAIサービス — Node.js移行の判断軸と落とし穴を回避する実装パターン

Claude APIをBun上で本番運用するための実装ガイド。Node.jsからの移行判断軸・組み込みSQLite/WebSocketの活用・ストリーミング最適化・典型的な落とし穴の回避策まで、動作するコードと実測値で解説します。

BunClaude API115エッジAINode.js移行TypeScript24本番運用36ストリーミング9

プレミアム記事

「Bun は速いらしいけど、本番でClaude APIサーバーを動かしても大丈夫だろうか」— このセリフを2025年から数えきれないほど耳にしました。私自身、複数のサイドプロジェクトで Node.js から Bun へ段階的に移行してきた中で、ベンチマーク数値だけでは見えない本番運用上の判断軸があることに気づきました。

Bun 1.2 系がリリースされてから安定性が大きく向上し、2026年現在、Claude API のような外部APIを長時間ストリーミングし続けるワークロードでも安心して使えるようになっています。とはいえ、何も考えずに nodebun に置き換えるだけでは、移行のメリットを十分に引き出せません。逆に、思わぬところで詰まることもあります。

Bun + Claude API で本番品質のエッジAIサービスを構築するための具体的な実装パターンと、実際に運用してみないと見えない落とし穴を実例とともに整理しました。コードは全て動作確認済みで、コピーして調整すればそのまま使えるレベルを目指しています。

なぜ今、Claude API サーバーで Bun を選ぶのか

Bun の強みは「速さ」だけではありません。Claude API のようなストリーミング中心のワークロードに対して、Bun が解決する具体的な課題を整理します。

ひとつ目は コールドスタートの短さ です。サーバーレス環境でClaude APIサーバーを動かす場合、コンテナの起動時間がそのままユーザー体験に影響します。Node.js は最近の v22 で改善されましたが、Bun は依然としてその半分以下で起動できます。私の手元で計測すると、最小構成のClaude APIプロキシで Node.js が 220ms かかったところ、Bun は 95ms でした。リクエスト全体のレイテンシが 1〜2 秒の世界では、この差は確実に体感できます。

ふたつ目は TypeScript のネイティブ実行 です。Bun は tsxts-nodeswc も不要で、.ts ファイルを直接実行できます。これは開発時の起動速度だけでなく、Docker イメージのサイズ削減(ビルドステップの削除)、CI 時間の短縮、トランスパイルバグの根絶という三方良しの効果があります。

みっつ目は 組み込みプリミティブの充実 です。SQLite、WebSocket、テストランナー、パッケージマネージャ、HTTP サーバーが標準同梱されています。Node.js + Express + sqlite3 + ws + jest という構成が、Bun だけで完結します。これは依存関係の管理コストを劇的に下げます。

逆に、Bun を選ぶべきでない場面もあります。AWS Lambda の Node.js ランタイムを直接使う、CommonJS 専用の古い社内ライブラリに強く依存している、ネイティブアドオン(node-canvas など)を多用している、といったケースです。これらの場合は Node.js 22 LTS のほうが安全です。

アーキテクチャ:依存最小のClaude APIプロキシ

設計の前提を共有しておきます。今回作るのは「クライアントから受け取ったプロンプトを Claude API に転送し、ストリーミングレスポンスをそのまま返す」シンプルなプロキシです。ただし以下の本番要件を満たします。

  • リクエストごとのトークン使用量とコストを SQLite に記録する
  • 同一ユーザーからの並列リクエストを制限する(簡易レートリミット)
  • Anthropic 側のエラーをそのまま返さず、内部で分類してログに残す
  • ストリーミング中の中断(クライアント切断)を検知して Claude への課金リクエストを止める

外部依存は @anthropic-ai/sdk だけです。HTTP サーバー、SQLite、WebSocket は全て Bun 組み込みを使います。

クライアント → Bun.serve (HTTP/WebSocket) → AnthropicProxy
                          ↓
                  Bun:sqlite (使用量・履歴記録)
                          ↓
                  Anthropic API (ストリーミング)

ファイル構成はこのくらいシンプルです。

.
├── bunfig.toml
├── package.json
├── src
│   ├── server.ts          # エントリポイント
│   ├── proxy.ts           # Anthropic 呼び出しロジック
│   ├── usage.ts           # SQLite 使用量記録
│   ├── ratelimit.ts       # in-memory レートリミット
│   └── errors.ts          # エラー分類
└── tests
    └── proxy.test.ts

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
Node.jsで動かしているClaude APIサーバーをBunに移行すべきか迷っていた人が、移行判断軸とパフォーマンス計測の指標を持って意思決定できる
Bunの組み込みSQLite・WebSocket・HTTPサーバーを活用し、外部依存を最小化した低レイテンシなClaude APIサービスを設計・実装できる
Bun特有の落とし穴(Node互換性・ネイティブモジュール・テスト戦略・Linux配布)を事前に把握し、本番投入後の事故を未然に防げる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

API & SDK2026-07-01
Claude API のドキュメント抽出が「自信満々に間違える」とき — 沈黙する誤りを不変条件で捕まえる運用メモ
請求書や契約書の構造化抽出で一番怖いのは、クラッシュではなく「スキーマも通り信頼度も高いのに値だけ間違っている」沈黙の誤りです。不変条件・二段抽出・フィールド単位の誤り率で運用する実装メモを共有します。
API & SDK2026-06-17
Claude API のドキュメント抽出が「確信を持って間違える」とき — 検証層の設計メモ
Claude API で請求書や契約書を構造化抽出するとき、最も怖いのは例外ではなく「もっともらしく間違った JSON」です。スキーマ検証・算術整合・二重抽出の一致率で誤抽出を本番前に捕まえる検証層を、TypeScript の実装とともにまとめました。
API & SDK2026-06-17
Claude API のマルチテナント SaaS で「請求が合わない」を消す — テナント分離とコスト帰属の実装メモ
Claude API の SaaS をマルチテナント化したとき最初に壊れるのはコスト帳尻です。計測の単一窓口・原子的カウンター・Anthropic 請求との突合・テナント分離の敵対的検証まで、本番で動く TypeScript と運用判断を実装メモとしてまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →