[アップデート] Amazon Q Developer のチャットコンテキストでクラス・関数・変数などのコードブロックもサポートするようになりました
いわさです。
Amazon Q Developer で Q とチャットを行う際に「コンテキスト」という機能があります。
この機能を使うと、「ワークスペース」をコンテキスト情報として与えることができ、Q がアプリケーション全体のコンテキストを把握(例:コードベースの理解など)したうえで回答を生成してくれるようになります。
この機能は「ワークスペース」を指定できる他に、より細かくコントロールしたい場合に「フォルダ」、「ファイル」、「プロンプト」などを指定することも出来ます。
以下はファイルの例です。
チャット欄で@
を使い、ファイルから対象ファイルを指定することが出来ます。
抽象的な質問をしましたが、コンテキストが明確だったため期待どおりの説明をしてくれました。
このようにコンテキストを使うことで、Q に任せるだけでなくより細かいコンテキストをコントロールして抽象的な質問にも回答してくれやすくなります。
「コード」が指定できるように
先日のアップデートで、こちらに新たにコードブロックを指定できるようになりました。
具体的にはコードのクラス、メソッド、関数、グローバル変数をコンテキストとして指定することが出来ます。
使ってみましょう。@
を入力すると次のように新たに「Code」という選択肢が追加されていることが確認出来ます。
コードを選択すると、開いているワークスペース内の変数、クラス、メソッド、関数がリストアップされました。
ここでひとつ適当ななにかを選択して質問してみましょう。
コンテキスト機能を使った時、Q がどういったコンテキスト情報で回答しているのかが次のように明示されるのですが、従来までのファイルに加えてコードブロック範囲(以下だとno_lifecycle_bucket.py
の 25-106 行目)がコンテキストとして指定されていることがわかります。
また、変数を選択して抽象的な質問をした場合にも正確に回答してくれました。またどのあたりで参照されているのかも教えてくれます。
複数のコンテキストを組み合わせることも出来そうなので、なかなか便利ですね。
参考:コンテキストの選択肢がなかなか出てこない場合
今回私が検証している中で、次のように@
を入力してもなかなかコンテキストの選択肢が表示されない事象が何度かありました。
私の経験上になりますが以下の 2 つを試すと良いです。
ひとつは、ワークスペースを開いた直後の場合はどうやら読み込みがされていないようで、少し待つことです。私の小規模なプロジェクトでも数十秒待つことで表示されなかったコード一覧が表示されるようになりました。
もうひとつは、チャットタブを閉じて新しいタブを開くことです。
作業中のチャットタブだといつまでも新しい情報が表示されないことがありました。
さいごに
本日は Amazon Q Developer のチャットコンテキストでクラス・関数・変数などのコードブロックもサポートするようになったので、使ってみました。
コードブロック参照させたい場合にチャットにコード入力する場合があったと思うのですが、今後はこの機能使えば良さそうですね。