ANTIGRAVITY LABEN
記事一覧/Tips & 活用術
Tips & 活用術/2026-05-08中級

AIエージェント時代のデバッグ思考術 — 「信じる」と「疑う」の新しい境界線

AIエージェントと協働する開発では、デバッグの思考プロセスが根本から変わります。「どこを疑うか」の基準が変わったことに気づかないまま進めると、ハマり方が変質します。その変化と実践的な対処法を整理しました。

デバッグ7AIエージェント36開発ワークフロー2思考術tips36

あるとき、謎のエラーを40分かけて追いかけていたことがあります。ログを見て、スタックトレースを確認して、ブレークポイントを仕込んで——それでも原因がわからありません。諦めかけたタイミングで気づきました。Antigravityのエージェントが30分前に設定ファイルをひっそりと書き換えていたのです。

デバッグの対象が変わっていたのに、自分は旧来の方法で原因を探していました。

AIと組むと、何がどう変わるのか

従来の開発では、コードを変更するのは人間だけでした。何かおかしな挙動があれば、「直前に自分が変えた箇所」を疑えばよかった。変更の痕跡は自分の頭にあるか、Gitの差分を見ればわかりました。

AIエージェントと組むと、この前提が崩れます。エージェントは複数のファイルを同時に、しかも素早く変更します。しかも「直しましたよ」とだけ報告して、変更の全容を伝えないことがあります。善意の変更が、予期しない副作用を生む。これがAI時代のデバッグを難しくしている構造的な問題です。

Antigravityのエージェントは特に高性能で、複数ファイルにまたがる変更をスムーズにこなします。それゆえ、「どこが変わったか」を把握しないままにすると、問題が起きたときの原因探索範囲が一気に広がります。

「三層構造」でエラーを見る

AIと組んだ開発でエラーが出たとき、私は次の三層を順番に確認するようにしています。

第一層: 環境・設定ファイル

エージェントが最初に手を入れるのは往々にして設定ファイルです。package.json.envtsconfig.json、フレームワーク固有の設定——これらが変わっていないかを最初に確認します。

# 直近のgit差分を確認(エージェントセッション開始以降)
git diff HEAD~3 -- "*.json" "*.env*" "*.config.*"
 
# または特定ファイルを重点確認
git log --oneline --follow -- tsconfig.json package.json

第二層: AIが変更したファイル全体

Antigravityのチャット履歴やDiff Viewを使い、エージェントが今回のセッションで変更したファイルを洗い出します。見落としがちですが、エラーの直接原因でない別ファイルの変更が、間接的に問題を引き起こしていることがあります。

# セッション中の変更を一覧で把握
git diff --name-only HEAD~1 HEAD
 
# 変更量が大きいファイルほど要注意
git diff --stat HEAD~1 HEAD | sort -k3 -rn | head -10

第三層: 自分が意図したコード変更

最後にようやく、自分の変更を確認します。従来と逆順です。AIに任せた部分が想定外に動いていることが多いため、意図的に「自分のコードは最後に疑う」という順序にしています。

AIを信じすぎる問題と、疑いすぎる問題

AIエージェントを使い始めた頃、「AIが直してくれた」と言うメッセージを信じて確認をサボる癖がつきました。エラーが消えても、根本原因が解決されていないまま別の書き方で回避されていただけ——という経験を何度かしてからは考えを改めました。

一方で、AIの提案を全て疑ってかかるのも非効率です。毎回「本当に正しいか」を1から検証していたら、AIを使う意味がなくなります。

私が今採用している基準はシンプルです。

「変更の規模」と「自分が把握できているか」で判断する

小さな変更(数行のバグ修正、型エラーの解消)はAIの判断を信頼して先に進みます。大きな変更(設定ファイルの書き換え、アーキテクチャレベルの再構成)は必ず差分を自分の目で読みます。把握できていない変更は、たとえ動いていても信頼しません。

// 例: エージェントがデータ取得関数を「改善」してくれた場合
// 動いているからといって確認をスキップしない
 
// Before(自分が書いたコード)
async function fetchUser(id: string) {
  return await db.user.findUnique({ where: { id } });
}
 
// After(エージェント変更後)
async function fetchUser(id: string) {
  const cached = await cache.get(`user:${id}`);
  if (cached) return JSON.parse(cached);
  const user = await db.user.findUnique({ where: { id } });
  await cache.set(`user:${id}`, JSON.stringify(user), { ttl: 300 });
  return user;
}

この場合、キャッシュの追加は一見改善に見えます。しかし「キャッシュが古くなったらどうなるか」「エラー時のハンドリングは?」を確認しなければ、本番で問題が起きたとき原因がわからなくなります。

「なぜ直ったか」を必ず自分の言葉で言えるようにする

AIがエラーを直したとき、私は「なぜそれで直ったか」を自分の言葉で説明できるまで確認するようにしています。説明できなければ、再現方法も予防方法もわかりません。

# エラー修正後の確認スクリプト(例)
echo "=== エラー修正確認チェックリスト ==="
echo "1. 何が原因だったか(1文で言えるか)"
echo "2. どのファイルがどう変わったか(git diffで確認したか)"
echo "3. 修正が「回避」ではなく「解決」かどうか"
echo "4. 同じ問題が他の場所でも起きていないか"

手間に感じるかもしれませんが、この習慣が長期的なコードベースの健全性を守ります。AIが「動くコード」を生成できても、「なぜ動くか」を理解しているのは人間でなければなりません。

Antigravityのチェックポイント機能を活かす

Antigravityにはcheckpoints機能があります。エージェントが大きな変更を行う前に自動的にスナップショットを作る機能で、問題が起きたときに特定のポイントまで戻れます。詳しい使い方はAntigravity Checkpoints & Rollback 完全ガイドにまとめています。

私はデバッグ作業の前に手動でチェックポイントを作る習慣をつけました。「デバッグを始める前」の状態を保存しておくと、AIが意図しない変更をした場合でも安全に戻れます。

# Antigravity での手動チェックポイント作成
Cmd+Shift+P → "Create Checkpoint"
→ 名前: "debug-session-start-2026-05-08"

加えて、長いデバッグセッションでは定期的にGitコミットを挟むことを強くすすめます。「とりあえず動く状態」を保存してから次の問題に取り組む——この習慣がAI時代のデバッグを安定させます。

全体を振り返って:疑う場所が変わった

AI以前のデバッグは「自分が書いたコードのどこが間違っているか」を探す作業でした。AIと組む今は「自分が理解していない変更がどこにあるか」を探す作業に変わっています。

疑う場所が変わったことを意識するだけで、デバッグにかける時間は大幅に短縮できます。次のデバッグセッションでは、まずGitの差分を確認するところから始めてみてください。それだけで、謎のエラーの半分は解決のヒントが見えてくるはずです。

同じ試行錯誤をしてきた方の参考になれば幸いです。

シェア

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

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

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

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

Tips & 活用術2026-06-28
エージェントに作らせた音声を会話の中でそのまま聴く — インライン再生が変えた確認の手数
Antigravity の最近のポイントリリースで会話ビューに音声ファイルのインライン描画が入りました。エージェントに作らせた音声をその場で聴ける変化を、アプリの音声アセットを確認する実務に落とし込みます。
Tips & 活用術2026-06-21
長く走ったエージェントが何をしたかを遡る — 会話内検索を起点にしたレビュー術
Antigravity v2.1.4 で加わった会話ビュー内の検索を、長時間エージェントのレビューの起点として使う方法を整理します。検索語の選び方、見るべき分岐点、背景エージェントのログ突き合わせまで、実際の手順を具体的にまとめました。
Tips & 活用術2026-06-20
自動実行の再現性を守る — Antigravity CLI のバージョンを固定して挙動のブレを抑える
Go 製の Antigravity CLI が全ユーザーへ提供開始となり、更新も速いペースで続いています。自動運用に組み込んだ CLI が裏で上がると、ある朝のジョブだけ挙動が変わることがあります。バイナリのバージョンを固定し、各ランのログに素性を残し、更新は一本から慣らす——という再現性の守り方を、4サイトを夜間に自動運用している実作業からまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →