Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
VibeCoding 時代のデバッグ手法
Search
hirykawa
July 16, 2025
Programming
74
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
VibeCoding 時代のデバッグ手法
VibeDebuggingで始める効率的な開発体験
2025.07.15 hirykawa
hirykawa
July 16, 2025
More Decks by hirykawa
See All by hirykawa
AI時代にエンジニアはどうなっていくのか
hirykawa
0
5
ContreaミニLT AIに記事をインタビューしてもらおう
hirykawa
0
11
gpt-oss で叶える ローカル AI エージェントの夢
hirykawa
0
240
Other Decks in Programming
See All in Programming
5分で問診!Composer セキュリティ健康診断
codmoninc
0
560
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
230
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.2k
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
180
どこまでゆるくて許されるのか
tk3fftk
0
520
FDEが実現するAI駆動経営の現在地
gonta
2
200
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
900
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
610
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
690
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.9k
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
190
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.6k
Featured
See All Featured
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
Paper Plane
katiecoart
PRO
2
52k
Designing for Timeless Needs
cassininazir
1
390
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
Optimizing for Happiness
mojombo
378
71k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.6k
Paper Plane (Part 1)
katiecoart
PRO
1
9.8k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
350
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Leo the Paperboy
mayatellez
8
1.9k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
340
Making the Leap to Tech Lead
cromwellryan
135
10k
Transcript
VibeCoding 時代のデバッグ手法 VibeDebugging で始める効率的な開発体験 2025.07.15 hirykawa 1
自己紹介 基本情報 所属: Contrea株式会社 役職: 医療系SaaS MediOS 開発責任者 X: @hirykawa
趣味: サウナ・サッカー・お寿司 経歴 2016-2019: 医療画像システム 起業 2019-2022: Yahoo!Japan エンジニア 2022-: Contrea株式会社 開発責任者 2
従来のデバッグ手法 一般的なアプローチ コード読み込み: ソースコードを読んで全体を把握 状態確認: console.log やデバッガーで状態を確認 段階的絞り込み: 問題箇所を特定するまで範囲を狭める 仮説検証サイクル:
仮説 → 検証 → 修正の繰り返し 3
VibeCoding とは? 4
VibeCoding とは? AI支援による直感的なコーディング手法 特徴 AI 主導: 開発者は詳細な実装を書かず、AI に指示 高速開発: Claude,Gemini,OpenAI
等の LLM を活用した新しい開発スタイル 直感的: 自然言語による指示で開発を進める 5
VibeCoding 開発での新しい課題 発生する問題 修正困難: 想定外の挙動があるが、何度指示しても直らない 連鎖的バグ: 一つ直すと別の場所が変な動きをする 理解不足: ソースコード理解不足で読んで修正できない ブラックボックス化:
AI 生成コードの内部構造が見えにくい 6
VibeDebugging 7
VibeDebugging の基本方針 🔍 可視化の徹底 すべてのログや途中成果物を出力 処理の流れを図解で表現 📋 概要把握の優先 処理の概要を先に理解 関数レベルのシーケンス図を作成
🧪 分離テスト デバッグ用の関数ファイルを作成 単体で実行してバグを再現 🔧 段階的修正 問題箇所を特定してから修正 修正後に元の実装にマージ 8
手順 1: シーケンス図による可視化 処理フローの図解化 Markdown 形式: コード全体をシーケンス図で出力 関数レベル: 詳細な処理フローを作成 視覚的特定:
問題発生箇所を視覚的に特定 理解促進: 複雑な処理の流れを理解しやすく 9
手順 2: すべての成果物を出力させる 出力内容 処理ログ: 実行時のすべてのログ 中間データ: 処理途中の変数や状態 成果物: 各段階での出力結果
エラー情報: 詳細なエラートレース 10
手順 3: デバッグ関数による分離テスト 単体動作環境の構築 専用関数作成: 問題となる処理だけを切り出し 最小限の実行: 必要最低限のデータで動作確認 環境分離: 元のシステムに影響しない独立環境
バグ再現: 問題を確実に再現できる状態を作成 11
手順 4: 問題特定と修正 修正までの流れ 原因特定: デバッグ関数で問題箇所を特定 仮説検証: 修正案をテスト環境で検証 元実装マージ: 修正内容を元のコードに統合
12
実践例 13
実践例: ポッドキャスト作成ツール 概要 原稿データを読み込んで Open AI の TTS で文字起こし音声を作成 音声と
BGM を合わせてポッドキャストファイルを作成 仕様 再生冒頭 5 秒は BGM のみ再生 発生した問題 出力された音声データを確認したら冒頭 7 秒が BGM のみ再生になっていた 14
Step 1: シーケンス図による可視化 下記を作成することでシステ ムの全体像を理解 処理概要 詳細な関数説明 15
Step 2: すべての成果物を出力させる 途中で生成されるファイルをすべて残す ように指示 デバッグ関数を実行時の材料として利用 音声生成部分と結合部分でどちらかが問 題ではと仮定 16
Step 3: デバッグ関数による分離テスト 音声生成部分と、結合部分のそれぞれのデバッグ関数を作成 音声生成と結合フェーズ デバッグ関数の作成 17
Step 4: 原因特定と解決 それぞれのデバッグ関数を実行し、結果を調査 音声生成部分は正常、結合フェーズが想定外挙動であることを確認 該当のデバッグ関数に問題を伝え、修正をLLMに依頼 解消した場合、元のコードにマージ 解消しない場合、デバッグ関数をシーケンスに、以下略 18
まとめ VibeCoding 時代の新デバッグ手法 ポイント 1. 全ての実行は LLM にやらせる 2. 大量にコードを書き、読むことができるからこそできるデバッグ手法
3. 大事なのは「全体理解」 「仮説立て」 「切り分け実行」 「取り込み」のプロセスを考える こと 19
ご清聴ありがとうございました 20