Android StudioでAmazon Qを使ってみた!
社内でAmazon Qを使ってみようという話になり、サポートされているIDEにIntteliJもあったので、その流れに乗らせてもらってAndroid Studioで使ってみました。
利用を開始するためのステップ
公式のチュートリアルがあるのですが、Android Studioでは少し違ったので、ここで紹介します。
IntteliJプラグインのインストール
公式のプラグインをインストールします。
上記ページからIDEを起動するか、設定のプラグインの項目から検索してインストールします。
IAMアカウントの作成
AWSのIAMアカウントを使った設定をご紹介するので、事前にIAMのアカウントを作成しておきます。自分の場合はチームメンバーにAWSは操作してもらったのでここでは割愛します。
1つ注意点として、アカウント作成時に入力するユーザー名はAWS上で設定されているユーザー名になります。招待メールに記載があるのでちゃんとメールを読みましょう。
アカウントの設定
プラグインをインストールするとIDEの右下にAmazon Q
と表示されていますのでクリックしてください。
すると、Get Started
という項目が出てくるのでさらにクリックすると、ウインドウが開き、アカウントの設定ができます。
なお、最初はBuilder IDのタブにフォーカスがあるので気をつけてください。そのまま何も見ずにちゃかちゃか進めるとBuilder IDを作ることになります。
IAMアカウントの設定は以下の通りにします。
項目 | 内容 |
---|---|
Profile Name | UIにも記載がある通りPC内での名前なので適当につけてください(すでに.aws/config ファイルがある場合には被らないように気をつけた方が良いかもしれません) |
Start Url | IAMのアカウントを作成する際の招待メールに記載があります。 |
Region | Amazon Qを利用する設定を行ったRegionを指定します。Regionが違えば先に進めないのでeast、westの違いなど見間違いないよう気をつけましょう。 |
情報を入力し、Connect
をクリックすると、WebブラウザでAWSのサイトに飛び、アカウントの認証を求められますので画面に沿って進めます。
無事アカウントの設定が終って、再度IDE上のAmazon Q
をクリックすると、このような項目が出てきます。
Android StudioのBoot Runtimeを変える
この状態でも、補完候補の出力はできたりしますが、上記項目内のOpen Chat
などを触るとわかるように肝心のチャット機能が使えません。すでにお気づきかもしれませんが、公式のチュートリアルにもある本来表示されているはずのAmazon Q アイコンが表示されていないので、チャットも表示されないのです。
表示されない理由を調べたところこちらを見つけました。
Amazon Qでは、JCEF(Java Chromium Embedded Framework)が必要で、Android Studioを実行しているデフォルトのJavaには含まれていないようです。Issueにも記載がある通りBoot Runtimeを切り替える必要があります。
切り替える方法は簡単です。
⌘Сmd + Shift + A
したあとに、Choose
と入力すると候補が出てくるので選択後、出てくるウィンドウでRuntimeでwith JCEF
と出ているものを選びます。
自分の場合は、ダイアログ内に記載のあるCurrentと同じバージョンでwith JCEF
がついているものにしました。
IDEを再起動すると反映され無事チャット機能が使えるようになります。ウィンドウにも記載がある通り非推奨ではあるようなのですが、特に自分の環境では問題なく動作していました。
なお、最初からこのBoot Runtimeを変えた状態であれば、その時点でチャットの画面が表示されるようになるので、公式チュートリアルの通りチャットの画面に出てくるオンボーディングに沿って設定ができます。
使用感
まだ半日使った程度ではありますが、補完候補は特にGitHub Copilotと遜色ないように思いました。
また、チャットを使ったいわゆるAgent Modeでの実装は、雑に指示をしてもそれなりに正解チックな出力が出てきますが、100%これでいいねとなれるものではなかったです。
より制度をあげるためには細かい指示が必要そうで、例えば〇〇クラスにこういう実装をして、〇〇クラスでこれをして・・・というように、実際に自分が実装する時を想像しながらやってもらうとある程度のものが出力できていました。
まだ他のAgent Modeが使えるサービスを利用したことがないのですが、出力するまでに5分程度はかかるので、うまくかなかった時に再度指示を出すというのをやっていると、それなりに時間がかかってしまうのは難点かなと思いました。
それならば自分で書いたほうが早いのでは・・・というのは確かにあるのですが、例えばこの記事を執筆中に裏で作っておいてもらったりだとか、コーディング以外のことをしていてもやりたいことが終わっているというのは、Agent Modeならではの強みですね。
まだまだ、自分の指示が悪い部分もありそうですし、ソースのアーキテクチャがしっかりしていれば、ある程度指示もテンプレート化して使う事もできそうです。
まとめ
JetBrainsもJetBrains AIを出してきたりと、Android StudioがIntelliJベースなおかげで色々とAI関連もできることが増えてきているので、引き続き使っていきたいと思います。
JetBrains AIを使った感想は弊社のテックブログにも書いているので、もしよければご覧ください。
Discussion