開発ブログ

株式会社Nextatのスタッフがお送りする技術コラムメインのブログ。

電話でのお問合わせ 075-744-6842 ([月]-[金] 10:00〜17:00)

  1. top >
  2. 開発ブログ >
  3. AI >
  4. [difit] AIが書いたコードをGitHubのPull Request風の画面でレビューし、AIに修正させる
[difit] AIが書いたコードをGitHubのPull Request風の画面でレビューし、AIに修正させる

[difit] AIが書いたコードをGitHubのPull Request風の画面でレビューし、AIに修正させる

こんにちは、カミオです。

普段の業務でCodexのようなAIエージェントにコードを書かせる機会が増えましたが、最終レビューは必ず人間の目で行う必要があります。
IDE付属のGitツール等でレビューは可能ですが、問題は修正箇所の指定です。
「@sample.php L125 変数名をわかりやすくして」のように、都度どの部分を直して欲しいかを指定するのは、非常に手間がかかります。

そこで今回は、Gitの差分をGitHubのPull Request風の画面でレビューし、指摘事項をプロンプトとしてそのままテキストコピーできる「difit」というツールを簡単に紹介したいと思います。
 

検証環境

  • Node.js 23.11.0
  • difit 2.2.3

difitとは

Gitの差分をローカル環境のブラウザでGitHubのPull Request風の画面で表示し、コメントを付けてレビューができます。

差分とコメントを組み合わせたAIエージェント用プロンプトを簡単にクリップボードにコピーすることもでき、AIとの連携が念頭に置かれているツールです。
https://github.com/yoshiko-pg/difit

difit_sample.png


使い方

npxで簡単に利用できます。
npx difit
引数なしの場合はHEADのコミットの差分が表示されます。
他にも「コミット指定」「ブランチの比較」などが可能で、詳しくはREADMEをご確認ください。
npx difit .        # すべての未コミット差分(ステージングエリア + 未ステージ)
npx difit staged   # ステージングエリアの差分
npx difit working  # 未ステージ差分のみ
 

レビューする

基本的にはGitHubの画面と同じで、ファイルを見たらViewedを押し、指摘事項があればコメントします。

difit_comment.png
コメントごとの「Copy Prompt」、もしくは画面上部の「Copy All Prompt」からAIエージェント用のプロンプトとしてクリップポードにコピーできます。
src/Application.php:L67
255文字にして
=====
src/Application.php:L73
テストを追加して
コピーしたプロンプトを少し加工して、以下のようなプロンプトをAIエージェントに投げて修正してもらいましょう。
下記レビューの指摘事項を一つずつ修正して

src/Application.php:L67
255文字にして
=====
src/Application.php:L73
テストを追加して

コメントはコミットごとにLocalStorageに保存されます。そのためうっかりブラウザを閉じてしまっても情報は失われません。
逆に綺麗な状態に戻してからレビューしたい場合は--cleanオプションを利用できます。
npx difit --clean
 

おわりに

AIエージェントの活用により、コードを書くよりレビューすることの比率が高くなってきていますが、見慣れた画面でレビューできるだけでも気分がだいぶ楽になりますね。
AIと連携させずとも、ローカルでGitHubとほぼ同じ画面で差分が確認できるので、Pushの前のセルフレビューとして利用するのもおすすめです。



 
  • posted by カミオ
  • AI
TOPに戻る