はじめに
4月度のAWS Jamセッションを実施しました。
今回はCodeWhispererにフォーカスし、AIプログラミングアシスタントツールの実用性について検討することをテーマとしていました。
私は普段はClaude3やGPT-4といった大規模言語モデル(LLM)を使用して開発を行っているため、使用感の違いについても所感を述べたいと思います。
なお、Github Coplilotを使用した経験はありません。
AWS CodeWhispererについて
概要
AWSによって開発されたAI 搭載生産性向上ツールです。
コメントと既存のコードに基づいて、さまざまなコードの提案を IDE 上でリアルタイムで生成します。
準備
JamセッションにおいてはCloud9が統合開発環境として用意されていたため、何の準備も必要なくCodeWhispererを使用することができました。
また、VSCodeを使用する場合は、AWS Toolkitの拡張機能をインストールすることで簡単に使用することができます。
使用方法
以下のようにコメントを書いてEnter キーまたはOption + Cキーでサジェスト機能を使用できます。
# Function to test if a string is a JP zip code
この時、コメントが具体的であればあるほどサジェスト機能が有効に働きました。
コメントは削除せずにそのまま残しておくことで、後のコードリーディングの際の一助となることもひとつのメリットだと感じました。
反対に、コメントが雑だったり、情報が抜け落ちていたりすると、不適切なサジェストが出力されたり、サジェストが出なかったりします。
この辺りの足りない情報を補完する能力は、現状LLMの方が優れていると感じました。
まとめ
AWS CodeWhispererは便利ですが、使い勝手や精度ではLLMに劣っており、IDE上で完結して開発を行えることが強みだと感じました。
AIをプログラミング支援に利用する技術は日々進化しているので、今後もキャッチアップを怠らず、効率的に開発を進めていきたいです。