🥷

Amazon Q DeveloperのMemory Bank生成機能を実行してみた

に公開

1. はじめに

ITアーキテクトを務めています松本と申します。
Amazon Q Developer (IDE版)で、Memory Bankを生成する機能が利用可能となっておりました。
https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/context-memory-bank.html

この機能は既存のコードから、以下の4つのMDファイルを自動で作成してくれる機能になります。

  • product.md:プロジェクトと機能の概要
  • structure.md:プロジェクトのアーキテクチャ、フォルダ構成、主要コンポーネント
  • tech.md:テクノロジースタック、フレームワーク、依存関係、コーディング標準
  • guidelines.md:プロジェクトの開発標準とパターン

これらのMDファイルは「.amazonq/rules/memory-bank」の配下に作成されており、
毎回コンテキストとしてAmazon Q Developerが読み込むことになります。

AI駆動開発を最初から実行しているプロジェクトでは、READMEファイルなどコンテキストを与えるファイルを作成してプロジェクトを進めていると思います。
しかし、プロジェクトの途中からAIコーディングツールを導入し始めた場合や既存のシステムにAIコーディングツールを導入した場合では、十分なコンテキストを与えられていないことがあります。
そこでMemory Bank生成機能を利用し、適切な粒度のコンテキストを作成すると、AI駆動開発を始めやすくなります。
本記事でVSCodeを用いて、Memory Bankを生成した例をご紹介をしたいと思います。

2. Memory Bankの生成

生成手順

生成手順自体は非常に簡単で、VSCodeのAmazon Q Developerのサイドメニューを開き、「Rules」をクリックします。
「Generate Memory Bank」の項目をクリックします。これだけで既存のコードからMemory Bankが生成されます。生成されたMDファイルは「.amazonq/rules/memory-bank」の配下に配置されます。

内容確認

サンプルのプロジェクトとして書籍貸出システムを作成してみたので、こちらのMemory Bankを確認してみましょう。出力されたMDファイルは英語で書かれているので日本語に翻訳してからみてみます。
量が多いので一部だけ表示しておりますが、内容自体は問題ないかと思っています。

product.md

プロジェクト全体と機能レベルの概要を記載できており、読みやすい粒度感かと思います。
プロジェクト目的やユースケースも記載されます。

structure.md

リポジトリ構成、ディレクトリ構成、業務ドメインというなどが記載されておりました。

tech.md

プログラミング言語、フレームワーク、Linter、パッケージ管理ツールなどが記載されています。

guidelines.md

命名規則などのコーディング規約、目標のテストカバレッジ、サンプル実装などが記載されておりました。

3. まとめ

Memory Bankを生成する機能を利用してみました。
既存コードから生成でき、良い粒度のMDファイルになっているかと思います。
LLMのコンテキストサイズにはまだ限界があるので、Memory BankのようなAIにも人にも読みやすい粒度でまとめてくれる機能はかなり助かります。
皆さんも既存システムにAmazon Q Developerを導入する際には、ぜひご活用ください。

デロイトトーマツグループ エンジニアリングブログ

Discussion