近ごろ、生成AIにコードを書いてもらう機会が増えてきました。私自身も「○○したい」「△△を実装してほしい」といった要望をAIに投げかけるだけで、お任せでコーディングできるようになり、作業効率が格段に向上しています。
しかし、AIを活用すればするほど問題になるのが「どのプロンプトでどんなコードが生成されたのか?」という記録の管理です。修正を積み重ねるうちに、どの変更がどのプロンプトによるものだったかを忘れてしまういわゆる“デジタル健忘症”に陥りがちです。
そこで一案として、生成AIに投げたプロンプトをそのままGitのコミットメッセージにしてしまおうというアイデアを考えました。ちょっとした工夫ですが、得られるメリットが多いので、この記事で紹介します。
生成AIのプロンプトをコミットメッセージにするメリット
1. 「○○したければ、この部分をこう変えればいい」がわかりやすい
コミットメッセージにプロンプトを残しておくと、過去の履歴を振り返ったときに
「ここは ‘コンポーネントをリファクタしたい’ というプロンプトで変更が入ったんだ」
と即座に把握できます。
修正の目的や理由(=プロンプト)がコミットに紐づけられているため、後からコードを見返す際に「なんでこうなったんだっけ…?」と頭を抱える手間が大幅に減ります。
2. 「このプロンプトで課題が解決できた」事実を記録できる
AIから得た解決策が、どのようなプロンプトによって導き出されたのかがコミットメッセージで明白になります。
「どうやってこの問題を解決したのか」をチーム全体で共有しやすくなるだけでなく、今後類似の課題に直面したときにも、適切なキーワードで検索すれば再利用が簡単です。
3. 生成AIのチャット履歴を検索しやすくなる
コミットメッセージにプロンプトをそのまま書いておけば、リポジトリ上の検索だけで過去のAIやり取りを思い出せます。
「この関数は ‘バッチ処理を高速化したい’ というプロンプトで生成されたな」とわかれば、生成AIとのチャット履歴を探すキーワードも明確になり、必要な会話をすぐに見つけられます。
運用例
- AIにお願い: 「Reactコンポーネントの複雑な状態をリファクタしたい」と投げかける
- 生成されたコードをテスト: 「うまく動いた! でも少し修正が必要だ」
-
コードを手動で微調整し、コミットするときに、コミットメッセージをプロンプトそのままにする
git commit -m "Reactコンポーネントの複雑な状態をリファクタしたい"
- 後日リポジトリを振り返った際、コミットログに「…リファクタしたい」という文字列が残っているため、パッと見てどんな変更だったかを把握できる
デジタル健忘症を防ぐために
「生成AIに任せているから、自分で覚えなくてもいいや…」と油断していると、どのようにコードが書かれているのか、なぜその書き方になったのか がまったくわからなくなってしまう危険性があります。いわゆる“デジタル健忘症”に陥りがちです。
しかし、AIとコミュニケーションした履歴をコミットメッセージとして残しておけば、
- プロンプト(=問題設定や開発者の狙い)
- 実際のコード変更内容
- 結果として起きた挙動・バグ修正
などが全てリポジトリに集約され、自分やチームが「忘れない」ためのドキュメントとして機能します。
Qiita記事の形にまとめるのも同様で、過去のやり取りを記事化しておけば、いつでも検索・参照が可能です。こうした仕組みを整えておくことで、デジタル健忘症を防ぎ、スムーズな開発を続けることができます。
まとめ
- 生成AIに書かせたコードがどのプロンプト由来なのかを明確にするために、プロンプトをそのままコミットメッセージにしてみる
- コミットを見返すだけで「なぜ・どうやって」コードが変更されたのかを把握しやすい
- AIチャット履歴を検索しやすくなり、同様の課題に直面した際にも再利用がスムーズ
- デジタル健忘症を防ぐ意味でも、コミットメッセージやQiita記事として知識を形にしておくと効果的
生成AIを使うほど、私たち開発者は「どうやって解決したんだっけ?」の記憶が曖昧になりやすいもの。細かい工夫で、コード変更の記録をわかりやすく残しておきましょう。