ブログ
スマートフォンから本番環境の問題をデバッグする
夕食時に本番環境が壊れた時、スマートフォンがデバッグインターフェースになります。ノートパソコンに急いで戻ることなく問題を診断・修正する方法を紹介します。
このカテゴリのプロダクト/開発アップデートを確認できます。
カテゴリを見る金曜日の午後7時。友人と夕食中にスマートフォンがPagerDutyアラートで振動します:決済サービスのエラー率が15%にスパイクしました。ノートパソコンは自宅にあります。チームメイトはオフラインです。このインシデントはあなたが対応する番です。
これがTactic Remoteが存在する理由です。このチュートリアルでは、iPhoneのみを使用した現実的な本番デバッグワークフローを解説し、リモートで問題を調査、診断、修正する方法を示します。
シナリオ設定
このチュートリアルでは、現実的なシナリオに取り組みます:
- サービス: Node.js決済処理API
- 症状:
/api/payments/processエンドポイントでの500エラー - 影響: 決済試行の15%が失敗
- 環境: SSH経由で本番ログが利用可能、コードベースはMac上
自宅のMacはオンで、Tactic Remoteコンパニオンアプリが実行されています。iPhoneから接続して調査を開始します。
フェーズ1:トリアージ(5分)
最初の目標は、範囲と緊急性を理解することです。プロジェクトディレクトリを指すClaude Codeセッションを開始します:
Claude Codeがコードと最近の変更を調査します。その間、スマートフォンのブラウザでモニタリングダッシュボードを開いて確認します:
- エラー率は安定しているか、増加しているか、減少しているか?
- すべてのインスタンスに影響があるか、一部だけか?
- 失敗するリクエストにパターンがあるか?
Claude Codeが見つける可能性があるもの: 3時間前のコミットでStripe SDKの依存関係がv12.1.0からv13.0.0に更新されており、破壊的なAPI変更が含まれていた。
フェーズ2:診断(10分)
仮説(Stripe SDKの更新)を基に、より深く掘り下げます:
Claude Codeがコードを分析し、具体的な非互換性を特定します。典型的な発見:
この診断は具体的で、テスト可能で、観察された動作を説明しています。スマートフォンから、先に進む前に内容が妥当か確認できます。
フェーズ3:修正(10分)
修正を実装します。2つの選択肢があります:
オプションA:クイックロールバック
状況が緊急で、前のバージョンが安定していた場合:
承認ステップ: Claude Codeはpackage.jsonの変更とnpm installの実行の承認を求めます。承認カードで変更内容を確認して承認します。
オプションB:前方修正
v13で動作するようにコードを修正したい場合(他の改善を失うロールバックを避ける):
Claude Codeが変更を行い、テストを実行します。ターミナルビューでテスト結果を確認しましょう。
承認フロー: 複数の承認リクエストが表示される可能性があります:
src/api/payments/processor.tsの変更 — 承認(これが修正)src/api/payments/__tests__/processor.test.tsの変更 — 承認(テスト追加)npm testの実行 — 承認(修正の検証)
フェーズ4:デプロイ(5分)
修正がコミットされテストが通ったら:
重要な承認: Claude Codeはデプロイコマンドの承認を求めます。これはワークフローで最もリスクの高いアクションです。慎重に確認しましょう:
- コミットメッセージが修正内容と一致していることを確認
- デプロイ先が正しいこと(production)を確認
- 前のステップでテストが通ったことを確認
承認後、Claude Codeがデプロイを実行します。ターミナル出力でデプロイの進行状況を監視しましょう。
フェーズ5:確認(5分)
デプロイ完了後:
同時に、スマートフォンでモニタリングダッシュボードを確認します。デプロイ完了後数分以内にエラー率が下がり始めるはずです。
インシデント後:レポートの作成
インシデントの記憶が新しいうちに(まだ夕食中、コースの間に):
これにより月曜の朝までにチームに完全なインシデントレポートが届きます。夕食の同席者はほとんど中断に気づかなかったでしょう。
効果的なリモートデバッグのヒント
広く始めて、狭く絞る。 すぐに仮説に飛びつかないでください。特定の原因に集中する前に、Claude Codeに全体像(最近の変更、エラーパターン、システム状態)を調査させましょう。
承認ゲートをチェックポイントとして使う。 各承認リクエストは、Claude Codeが何をしているかを確認する自然なチェックポイントです。調査が正しい方向に進んでいるか確認するために活用しましょう。
診断と修正を分離する。 明確な診断を得て、内容が妥当であることを確認してから変更を実装しましょう。これにより、根本原因を理解せずに変更を行う「修正の追いかけ」を防ぎます。
デバッグ中にコミュニケーションする。 チームにインシデントチャネルがある場合、スマートフォンから更新を投稿しましょう:
- 「決済500エラーを調査中。Stripe SDKの更新が原因と疑われる。」
- 「確認:SDK v13がカード拒否のエラーハンドリングを変更。修正をデプロイ中。」
- 「修正デプロイ完了。エラー率が正常に戻りつつある。」
これにより関係者に情報が共有され、重複した調査を防ぎます。
限界を知る。 一部の本番問題は、インフラアクセス、データベースクエリ、またはClaude Codeでは実行できないシステムレベルのデバッグが必要です。行き詰まったら、エスカレーションしましょう — ワークステーションで5分で済むことにスマートフォンで1時間費やさないでください。
インシデントツールキットの構築
インシデントが発生する前に準備しておきましょう:
- デプロイスクリプトとモニタリングツールにアクセスできる本番デバッグセッションを事前に準備する。
- Claude Codeが従えるインシデント対応プロンプトをプロンプトライブラリに作成する。
- プレッシャーが本物になった時にフローに慣れるように、重要でない状況でワークフローをテストする。
- どこからでもデバッグできるようにCloudflare Tunnelアクセスを確保する。
本番インシデントは都合の良いタイミングを待ってくれません。Tactic Remoteは、どこにいても効果的に対応するためのツールを確保します。
Tactic Remote を試す
スマートフォンからコーディングエージェントを操作
Mac、Windows、Linux 上の Claude Code や Codex などに接続。iPhone や iPad で進捗を確認し、次の指示を送れます。