Amazon Q Developer で Claude 3.5 Sonnet を搭載したインラインチャットをサポートしました

Amazon Q Developer で Claude 3.5 Sonnet を搭載したインラインチャットをサポートしました

Clock Icon2024.10.30

こんにちは、森田です。

以下のアップデートで、Amazon Q Developer で Claude 3.5 Sonnet を搭載したインラインチャットがサポートされました!

https://aws.amazon.com/about-aws/whats-new/2024/10/amazon-q-developer-inline-chat-streamline-developer-experience/

インラインチャットとは

インラインチャットは、すでに記述されているコードをユーザから与えられた指示に従ってコードの提案をしてくれる機能です。

これまでは Amazon Q Developer では、インライン提案、チャットインタフェースが利用できました。

インライン提案

https://dev.classmethod.jp/articles/amazon-codewhisperer/

チャットインタフェース

https://dev.classmethod.jp/articles/amazon-q-developer-ide-context-talk/

これらの機能については、既存のコードの変更や修正が行いづらい欠点がありました。

Claude 3.5 Sonnet 搭載

先日 Anthropic Claude 3.5のアップデートが行われました。

このアップデートされた Claude 3.5 では、コーディング機能が大きく向上しています。

詳しくは以下をご参照ください。

https://www.anthropic.com/news/3-5-models-and-computer-use

このアップデートされた Claude 3.5 Sonnet が Amazon Q Developer では搭載されているため、質の高いコード生成が期待されます!

使ってみる

環境設定

本記事では、Visual Studio Code 上で試してみます。

Visual Studio Code で Amazon Q のインストールを行います。

なお、すでにインストール済みの場合でも、新しいバージョン(v1.31.0)でないとインラインチャットを利用できません。

スクリーンショット 2024-10-30 1.30.46

コード

今回は、冗長なコードとして以下を用意しました。

import numpy as np

def change_arr(arr):
    shape = arr.shape
    for i in range(shape[0]):
        for j in range(shape[1]):
            if np.random.randint(0,2):
                arr[i][j] = np.random.randint(1, 10)
    return arr

arr = np.random.randint(1, 10, (5, 5))
print("before arr\n", arr)
new_arr = change_arr(arr)
print("after arr\n", new_arr)

コメント文を生成してみる

作成したコードを全選択すると、以下のように⌘+Iが表示されるので、⌘+Iを押します。

スクリーンショット 2024-10-30 1.39.03

画面上部に指示文を入力する箇所が表示されます。
今回は、コメント文を生成したいので「add comment」と入力します。

スクリーンショット 2024-10-30 1.41.00

指示文入力後、以下のようにコード生成が行われます。

https://www.youtube.com/watch?autoplay=1&v=CVJ-3aXDFEM

インタラクティブにコードの提案を行い、追加されたコードは緑色のラインで表示されます。

また、提案の受け入れはEnterで、拒否はEscapeでワンクリックで可能です。

リファクタリング

今度は、実際にコードの追加・削除が必要な指示としてリファクタリングを行わせてみます。

コードを全選択行い、指示文に「Please refactor」を入力します。

スクリーンショット 2024-10-30 1.55.50

今度は、削除するコードがあるため、削除されるコードは赤色のラインで表示されます。

https://www.youtube.com/watch?autoplay=1&v=pTVx3SoXbWs

日本語対応は?

コメント文の追加を日本語で行ってみます。

指示文には、「コメント文を日本語で追加してください」を入力します。

スクリーンショット 2024-10-30 1.59.44

すると、以下のように日本語でも問題なく、コメント文の生成が行うことができました

スクリーンショット 2024-10-30 2.01.10

日本語でも問題なく生成できるかなと思いましたが、日本語のコメントが含まれたコードでリファクタリングの指示を与えると

Amazon Q: Encountered an unexpected error when processing the request, please try again.

のエラーが発生しました。

スクリーンショット 2024-10-30 2.13.16

日本語がコード中に含まれてたらダメなのではと思い、print文のメッセージを日本語に変更して「Please refactor」を行ったところ、今度は正常に生成できました。

https://www.youtube.com/watch?autoplay=1&v=nbC0SkDxLJ0

この後もいろいろ試しましたが、リファクタの処理が日本語を含んでいると難しいようで、他の指示はエラーなく実行できました。

さいごに

実際に触ってみましたが、素早く、高品質なコード提案ができているように感じました。

最新の Claude 3.5 Sonnet を Amazon Q Developer 通して活用できるため、試してみる価値はあると思います。

Amazon Q Developer の無料利用枠でも利用できるので、ぜひ試してみてください!

https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/q-in-IDE-inline-chat.html

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.