すべての記事
Claude API の本番観測性を OpenTelemetry GenAI 規約で再設計する — モデル移行とコスト監査に耐える設計メモ
Claude API を組み込んだプロダクションサービスの観測性を、OpenTelemetry GenAI セマンティック規約に揃えて再設計するための実装メモ。スパン属性、メトリクス、コスト追跡、モデル切替時のリプレイ性を、個人開発サービスで運用してきた経験から具体的なコードで示します。
Claude API のストリーミングで tool_use の引数が JSON パースに失敗する原因と対処
Claude API のストリーミングで tool_use を受け取ると、なぜか JSON.parse が SyntaxError を返す。input_json_delta の正しい組み立て手順と、再接続時の取りこぼし対策をまとめます。
Claude API のスケジュール運用で観察した tail latency と、リトライストームを抑えるガードレール設計
個人開発で 6 サイトを並行運用し、14 日分のログから p95/p99 の輪郭とリトライ嵐の発生条件を観測しました。ジッタ・バジェット・サーキットブレーカーを組み合わせた本番ガードレールの実装と、観測 → 設計 → 改善の比較値をまとめます。
Claude API の構造化レスポンスを本番で安定させる — tool_use と JSON Schema、多層検証の実装メモ
Claude API の応答を JSON で受け取る実装は数行で書けますが、本番運用では「形は正しいが意味が壊れている」レスポンスにどう備えるかが分かれ目になります。tool_use・JSON Schema・ドメイン検証を組み合わせた多層パイプラインを、壁紙アプリの分類処理での実体験を交えて整理しました。
Claude API のグレースフル・デグラデーション設計 — AI 機能が静かに動き続ける 4 階層フォールバック
Claude API を本番運用すると、モデル単位のフォールバックだけでは守りきれない時間帯が必ず出てきます。SLI 連動の 4 階層デグラデーション設計を、Python と TypeScript のコード・SLO バーンレート・実運用の判断軸とあわせて整理しました。
二段構えのモデル構成 — Haiku 4.5 オーケストレーター × Opus 4.6 ワーカーで保つコストと品質の均衡
オーケストレーションをHaiku 4.5に、専門タスクをOpus 4.6に任せる二段構えの構成を、公表単価に当てた月次試算つきで書き残します。ワーカーに任せる5つの判定基準、ストリーミングの使い分け、詰まった落とし穴、そして来なかった値上げに備えて設計を動かしてしまった失敗まで。
Claude API のレスポンスを Cloudflare R2 にアーカイブする実装メモ — 監査・再現性・障害分析の3軸設計
Claude API のリクエストとレスポンスを Cloudflare R2 に保存して、監査・障害分析・本番リプレイの3つに使う設計を、Workers の waitUntil パターンと D1 メタデータインデックス込みで実装メモにまとめました。
Claude API の Tool Result Submitted エラーをリトライ層で吸収する — 会話履歴を自分で修復する小さな実装
Claude API の「Tool result could not be submitted because the previous turn」エラーを、リトライ層で会話履歴を巻き戻して再送信する実装パターンと、私が壁紙アプリ運営の API 連携で実際にハマった原因の切り分け順序を書きました。
Claude API の 529 Overloaded を本番アプリで吸収する — レジリエンス実装パターン
529 Overloaded は単発のリトライでは止まりません。累計5,000万DLのアプリ運用で踏んできた失敗を踏まえ、ユーザー体験を落とさずに吸収するためのキュー化・モデル切替・フォールバック設計をコード付きで整理します。
Claude API のジョブキューに優先度と公平性を組み込む設計 — 5,000万DL個人開発で実装したバックプレッシャーの実践
Claude API を本番運用すると必ず詰まる「長文1リクエストが短文100リクエストを止める」問題に、3層プライオリティキューと DRR で公平性を入れた実装の話です。アーティスト・個人開発者の廣川政樹が5,000万DLアプリで運用してきた構成を、コードと運用メトリクスとともに共有します。
Claude の『このモデルは現在利用できません』が出る時に効くモデル選択フォールバックの設計
Claude API で『このモデルは現在利用できません(this model is currently unavailable)』と返ってきたとき、529 Overloaded やレート制限と同じ扱いにすると遠回りになります。エラーの種類を SDK の例外クラスで見分け、モデル ID をリクエスト単位で切り替えるフォールバックの実装と、思い込みで書きやすい落とし穴をまとめました。
Claude API の 200K コンテキストをどう割り振るか — システム・ツール・メモリ・履歴の予算枠を実運用で決めた話
Claude API の 200K コンテキストを「無制限の置き場」ではなく予算として扱い、システム・ツール定義・メモリ・履歴・回答ヘッドルームに枠を切る設計を、TypeScript の実装コードと壁紙アプリ運用で得た数値とともに記録しました。