Slide 1

Slide 1 text

コミットの「なぜ」を読む Entire CLI で AI セッションを Git に残す 2026/06/23(火) めぐろLT #37「AI×チーム開発、みんなどうしてる?」 太田 暢 @iorandd Copyright © 3-shake, Inc. All Rights Reserved.

Slide 2

Slide 2 text

自己紹介 太田 暢 株式会社スリーシェイク Sreake事業部 アプリケーション開発支援チーム 業務ではバックエンド、CI/CDまわりを担当 よくAWSコミュニティに参加しています @iorandd 02

Slide 3

Slide 3 text

AIで最初の一歩は軽くなった 実装のたたき台を作る テストを書く リファクタリングする Terraform や CI/CD のような、少し専門外の領域にも手を伸ばす 03

Slide 4

Slide 4 text

レビューで見たいものが増えた PR本文とdiffだけでは、判断しきれないことがある どこまで自分で判断し、どこからAIの提案を採用したのか分からない レビュアーが「ここ、どういう意図ですか?」を毎回聞くことになる コードは残るが、途中で何を考えたかは消えやすい 04

Slide 5

Slide 5 text

領域をまたぐPRは、レビューが難しい 例:自分のテストを直したいだけなのに、Terraform や CI の設定にも触らないと閉じない diff は数行〜十数行に散らばっているだけに見える 実際の時間は、原因を切り分けるところにかかっている レビュアーは、途中の調査を見ずに差分だけで判断することになる この「途中の調査」を、コミットと一緒に残したい 05

Slide 6

Slide 6 text

Entire CLIとは AIとのセッションを Git の コミットにひもづけて記録するツール checkpoint = 1コミットに対応するAIセッション記録 OSSのCLIツール Claude Code / Codex CLI / Cursor / GitHub Copilot CLI に対応 プロンプト、やり取り、ツール実行、 ファイル変更を追える 通常のGit履歴とは別に、AIとのやり取りを残 せる 06

Slide 7

Slide 7 text

どうGitに残るか 作業ブランチには、いつものコミットが残る コミットメッセージに Entire-Checkpoint: が付く セッションログやメタデータは entire/checkpoints/v1 に保存される PRにリンクを貼ると、レビュアーがAIとのやり取りとdiffを見られる a1b2c3d e4f5a6b c7d8e9f b0a1c2d 作業コミットと checkpoint 記録を ID で対応づける 作業ブランチ entire/checkpoints/v1 checkpoint 用の別ブランチ 07

Slide 8

Slide 8 text

diffだけだと分からない 実例をもとにした簡略例:テスト用の設定値が アプリ・CI・Terraform で食い違っていたPR(値は説明用のダミー) - TEST_ORG_ID=old-value + TEST_ORG_ID=new-value 値を変えたことは分かる でも、なぜ new-value なのかは分からない アプリ・CI・Terraform の どれが正だったのか も分からない レビュアーは「この値で合っていますか?」と聞くしかない 08

Slide 9

Slide 9 text

checkpointを見ると、調査の経緯まで追える あの1行のdiffの裏では、AIセッションの中で これだけの切り分けをしていた AIセッションに残るやり取り コードの差分には残らない 「どう切り分けたか」が、 checkpointのセッション記録からたどれる テストが失敗する 🧑 「このテストが落ちるんだけど、見てもらえる?」 seed data を確認する 🤖 「seed だと old-value になってますね」 DB上の値と突き合わせる 🤖 「でも実際のDBは new-value。食い違ってます」 CIの環境変数を確認する 🤖 「CI側は old-value のままでした」 Terraform側の設定値を確認する 🤖 「tfvars も古い値ですね。原因はここっぽいです」 どの値に統一するか決める 🧑 「じゃあ new-value に揃えよう」 09

Slide 10

Slide 10 text

気をつけること 残る・公開される AIに渡した情報はトランスクリプトに残る 「残さないつもり」の /btw も対象になる デフォルトではコードと同じ remote に push される public remote に push すれば checkpoint branch も公開さ れる チームで決めること checkpoint の保存先 PR本文にリンクを貼る条件 AIに渡してよい情報・渡さない情報 機密情報・顧客データを扱わない前提 ログを残すなら、扱い方のルールも一緒に決める 10

Slide 11

Slide 11 text

まとめ チーム開発でAIを使うと、コードだけでは判断しづらい場面が増える Entire CLI を使うと、 コミットとAIセッションをひもづけられる なぜこの形になったのかを、あとから追える 領域をまたぐPRのレビューが少しやりやすくなる 「これ何ですか?」より、 「ここはこの判断でよさそうですね」と話しやすくなる コードだけでなく、考えた過程もレビューする 11