8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

1か月ほどGitHub での Amazon Q Developer 統合 (プレビュー) を使ってみたのでGithub Copilotと比較する

Posted at

Amazon Q DeveloperはVScodeやCLIのイメージが強いですが、GitHub での Amazon Q Developer 統合 (プレビュー) も利用可能です。値段も現時点では無料ということで1か月ほど商用運用で使うリポジトリに入れて使ってみています。

値段も現時点では無料ということで1か月ほど商用運用で使うリポジトリに入れて使ってみています。
なので、今回は実際に使ってみての所感を書いていきます

導入方法

以下のDocsを参考にしてください。
弊社の場合はGithub Appは承認制になっているので、Github管理者とコミュニケーションをとってインストールをしました。大規模な開発組織だとあるあるだと思うので、注意です

検証範囲

今回は主にAmazon Q コードレビューエージェントを検証しました。
Amazon Q transform エージェント についてはちょうどいいJavaプロジェクトがなかったので割愛します

Amazon Q 開発エージェントについては以下の記事が参考になります

どんな感じのコードレビューになるか

前提条件

  • Github Copilotのレビューと併用しています

    • Reviewers欄がこんな感じ
      image.png
  • Github Copilot / Amazon Q Developerのどちらもデフォルトのままでカスタマイズをしていません

    • copilot-instruction.mdや.amazonq/rulesは使用していません

レビュー動作

こちらの記事で紹介したAnsibleのカスタムモジュールを出したPRをレビューさせてみます

PRを作成すると以下のようなコメントが表示されます。
レビュー開始の旨と使い方の説明、そしてPRのSummaryが表示されます。

Summaryには修正すべき課題が中心的に記載されています。
一方でPositive Changesとして良い修正も指摘してくれています

image.png

image.png

コードへのコメントにおいては、重要なコメントには色アイコン使用しています

image.png

良い修正にもコメントをしています。(Good fix!と言ってくれると嬉しいですね)
また、PRのDescriptionを読み取って、そこに記載された内容に基づいた変更なのかを評価してくれたりもします

image.png

良い点

  • Copilotよりも多くの指摘をしてくれる
    • このPRではAmazon Q Developerが6件、Copilotが3件でした
  • PRタイトルやDescriptionに基づいたコメントをしてくれる
  • 脆弱性指摘の場合は、どの脆弱性に該当するかをリンクで教えてくれる
  • 良い修正へのコメントをしてくれる
    • 修正の指摘だけだと結構苦しいので、こういったものが1つあるだけでもモチベーションが変わる
    • 人間とレビューしているみたいで楽しい

微妙な点

  • コンテキストを読み取れていない指摘が多い
    • これはamazonq/rulesで改善できそう
    • コメントも多いので、既存のリポジトリに入れると、結構ノイズになる
  • 脆弱性やセキュリティの指摘は的外れなことが多い
  • (Copilotも同様だが)同様の修正で別PRを出すと別の指摘が出てくる
    • これはAIレビューの共通の課題かなと思います

Github Copilotとの差分

Amazon Q Developerではフィードバック中心のサマリですが、Copilot側はあくまで変更をまとめが中心です

image.png

Copilotのコメントでは色アイコンを使用した視覚的なアプローチはありません

image.png

また、良い修正に対するコメントはなく、あくまで修正すべき内容だけにコメントをしています。これは好みが分かれると思いますが僕はAmazon Q Developerのアプローチが好きですね

また、コードの中身の指摘だけでなく、単語の修正も多かったです。
差分表示+UI上でそのままクリックして変更反映が可能です。これはGithub謹製ならではですね

image.png

1か月使っての所感

導入してからは、PRレビューにあたっては、まずはAmazon Q Developer・Copilotからのコメントに対応してもらうようにしています。

その結果、初歩的なミスや重大な問題についてはレビュー開始からすぐに気づくことができるので、手戻りが少なくなりました。
また、人間のレビューとは異なる視点でのコメントがあると、人間側も視点を広げてみれるようになるので、そこも間接的な効果があるかなと思います

(現状では余り活かせていないですが)脆弱性指摘などは、人間ではパット見は気づかないことなので、Q Developerの改善に伴って、今後よりありがたさが増していくのかなと思います。

まとめ

  • Amazon Q Developerでは改善点を中心としたフィードバック中心のサマリ
  • コードコメントでは指摘のレベルに応じて色アイコンを使用しており、視覚的にコメントの重要度を把握できる。
  • 指摘は多めだが、指摘の精度は程々。取捨選択が必要
  • Copilotと併用するとそれぞれで違った観点でコメントしてくれるので便利
  • 今は無料なので入れ得です
8
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?