>100 Views
August 07, 25
スライド概要
[東北][岩手][JAWS-UG いわて] LT 会+生成系 AI ハンズオン #2 2025/8/9
Qiita や Zenn でいろいろ書いてます。 https://qiita.com/hmatsu47 https://zenn.dev/hmatsu47 MySQL 8.0 の薄い本 : https://github.com/hmatsu47/mysql80_no_usui_hon Aurora MySQL v1 → v3 移行計画 : https://zenn.dev/hmatsu47/books/aurora-mysql3-plan-book https://speakerdeck.com/hmatsu47
いろんなところに居る Amazon Q(Developer)を使い分けてみた [東北][岩手][JAWS-UG いわて] LT 会+生成系 AI ハンズオン #2 2025/8/9 まつひさ(hmatsu47)
自己紹介 松久裕保(@hmatsu47) ● https://qiita.com/hmatsu47 ● 現在: ○ 名古屋で Web インフラのお守り係をしています ○ SRE チームに所属しつつ技術検証の支援をしています ○ 普段カンファレンス・勉強会では DB の話しかしていません (ほぼ) ■ 今回は例外 2
本日の内容 ● 以下の Amazon Q(Developer)を使ってみた ○ [1] GitHub 統合(プレビュー) ■ GitHub で公開されているコードの移植 ○ [2] Visual Studio Code(拡張機能) ■ WSL が使えない Windows 環境で使えるのか?を確認 ○ [3] CLI(EC2 / Amazon Linux 2023) ■ 新規アプリケーションコードと AWS リソースの作成 ● 感想など 3
[1] GitHub 統合(プレビュー)
GitHub マーケットプレイスのアプリケーション ● インストール ○ https://github.com/apps/amazon-q-developer ○ Builder ID / IAM Identity Center は不要 ■ プレビュー中だけ? ● Issue を立てるときにラベルを指定 ○ Amazon Q development agent → コード実装 ○ Amazon Q transform agent →コード変換 ■ Java 8 → 21 など 5
LlamaIndex のグラフストア実装移植で試してみた ● TiDB 用を元に PostgreSQL+pgvector 用を実装 ○ 誤って本家リポジトリに PR を出さないようコピーのリポジトリ を作成 ○ Issue を立ててみた 6
しばらく待つと ● 実装完了…!? 7
PR を見てみる ● Amazon Q Developer 自身でレビューしている様子 8
レビューを加えてみるも… ● 反応がない? ○ コードにコメントを書いてみたりもしたけどダメ🤔 ● あらためてコードを眺めてみると ○ 書ききれずに途中で諦めている箇所を発見 ■ よく見たら Issue にも何かを吐いていた 9
やり直し(あらためて Issue を立てる) ● Issue の指示で実装できなかった部分は Sub-Issue(s) で 10
やり直し(あらためて Issue を立てる) ● Issue の指示で実装できなかった部分は Sub-Issue(s) で 実装が良くなかった Sub-IssueはPRごと 捨ててやり直す 11
そのまま完成!…とはいかず ● SQLAlchemy(ORM)の Dialects(SQL 方言)対応 ○ TiDB と PostgreSQL+pgvector の違い ■ 演算子は書き換え対応できたものとできないものが混在 ■ 値を埋め込む部分のキャスト(型変換)修正はほぼ対応できず ○ 最終的には手作業で修正 ■ 一から手作業で実装するよりは楽だった(と信じたい) 12
できたもの ● GitHub リポジトリ ○ https://github.com/hmatsu47/llama_index ■ ○ https://github.com/hmatsu47/llama-index-graph-stores-postgres ■ ○ LlamaIndex 本体リポジトリのコピー グラフストア部分を切り出し https://github.com/hmatsu47/llama_index_property_graph_test ■ テスト用アプリケーション 13
関連資料(スライド) ● JAWS-UG AI/ML #27:Generative AI / ML LT 大会 ○ LlamaIndex の Property Graph Index を PostgreSQL 上に構築 してデータ構造を見てみる ○ https://www.docswell.com/s/hmatsu47/ZQ137V-jawsug-aiml-20250623-p g-index 14
その後の GitHub 統合(まだプレビュー) ● 推論中の進行状況が Issue に記録・表示されるように 15
PR レビューコメントにも反応 ● ただし関係のない修正まで勝手に行うことも ○ ほかの Amazon Q Developer と比べて履歴コンテキストの把握が 苦手な様子 ■ 元 Issue の内容をガン無視したり 16
[2] Visual Studio Code(拡張機能)
Visual Studio Marketplace にある拡張機能 ● インストール(WSL が使えない Windows マシンでも使用可能) ○ https://marketplace.visualstudio.com/items?itemName=AmazonWebServi ces.amazon-q-vscode ○ Builder ID / IAM Identity Center が必要 ● インラインまたはチャットパネルで使える ○ MCP サーバーにも対応 注:画面キャプチャは macOS で取得しています 18
発表資料からのブログ記事起こしで試してみた ● [1] 関連の発表資料をベースにブログ記事化を試行 ○ https://www.docswell.com/s/hmatsu47/ZN1D9E-pgvector-graph-index-intr oduction ○ チャットパネルで指示 19
さすがに資料の内容が乏しすぎて失敗 ● 前述の AI/ML 支部での LT 資料完成前だったので… ● 結局自力で記事化 ○ https://qiita.com/hmatsu47/items/63116478a22e3b3b78bc 20
その後の Visual Studio Code 拡張機能 ● モデルの選択が可能に ○ 以前はチャットで使用モデルを質問しても「お答えてきません」 のようなつれない回答しか返してくれなかった 21
[3] CLI(EC2 / Amazon Linux 2023)
CLI:もっとも普通に使える Amazon Q Developer ● インストール ○ https://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/comm and-line-installing.html ○ Amazon Linux 2023 の場合は zip ファイルでインストール ○ Builder ID / IAM Identity Center が必要 ○ AWS Documentation MCP Server 連携 ■ 他にも各種 MCP Server が AWS から提供されている ○ 詳細は省略 23
ゲーム作りで試してみた ● JAWS ミート 2025 の LT 用 ○ ゲームで体感!Aurora DSQL の OCC(楽観的同時実行制御) ○ https://www.docswell.com/s/hmatsu47/ZJ977V-dsql-game-jawsmt ○ JAWS ミート 2025 の LT 枠がキャンセルで空く→慌てて準備 24
事前に決めた構成 ● アプリケーションは EC2 上で実行 ○ フロントエンド:Next.js / バックエンド:Node.js の何か ■ バックエンドは最終的に Hono に落ち着く ○ Lambda 化も挑戦したが時間切れで断念 ■ スケール時の起動ラグがゲーム性に影響するので EC2 で正解だった ● AWS リソースは CloudFormation で構成 ○ Aurora DSQL が GA 直後だったので CDK は選択せず ■ 実は GA 直後に CDK のコンストラクトも出ていた 25
作業中困ったこと(アプリケーションコード編) ● コードが大胆に変更される ○ 破壊的変更(ちょっと違う意味で) ○ 画面デザインがダイナミックに変わる(頼んでないのに) ● パスしないテストを勝手に打ち切る ○ 「このテストは通らなくても問題ありません」→問題しかない ● 作業ディレクトリの中が散らかる ○ 修正の都度生成されるテストコードがどんどん増殖 26
作業中困ったこと(AWS リソース編) ● 隙あらば新規 AWS リソースを作成しようとする ○ 気づいたら同じ利用目的の Dynamo DB テーブルが 3 セット作成 されていた ● 新しい AWS サービスに対応してくれない ○ ACM 証明書エクスポートを指示→頑なに Let’s Encrypt で構築 し続ける ○ このあたりは連携 MCP サーバーの追加でなんとかなりそう 27
なんとか完成! ● GitHub リポジトリ ○ 実際のリポジトリは公開できないぐらい散らかってしまった ○ 公開できる範囲で整理したものがこちら ○ https://github.com/hmatsu47/aurora-dsql-game-sample ● 関連記事 ○ https://hmatsu47.hatenablog.com/entry/2025/07/07/020739 ○ https://qiita.com/hmatsu47/items/75eee0b21e3be5b80061 28
JAWS ミート 2025 当日の様子 29
感想など
それぞれの感想・印象 ● GitHub 統合(プレビュー) ○ まだ最終的な評価はできないが、ほかと比べると使いづらい ● Visual Studio Code(拡張機能) ○ 割と頑張って CLI に追従している感あり ○ WSL が使えない Windows なら、まずはこれを試すと良さそう? ● CLI ○ 普通に使うならこれ 31
と思っていたら
Kiro が来た! ● Waitlist に引っかかる前に(ちょっとズルして)登録完了 ○ Waitlist 開始から数日間「抜け道」があったので ● 評価はまだこれから ○ 少し触ってみた程度 ○ Amazon Q Developer と料金体系が分かれたので思案中 33