はじめに
実装する
下図のシステムアーキテクチャのうち、「5. RAG検索機能実装(赤枠部分)」を依頼します。
私の入力:
RAG検索機能を実装してくれますか?
Bobの作業内容:
RAG検索機能の実装を開始します。まず、プロジェクト構造を作成し、必要なファイルを実装していきます。
IBM Bobは新しいファイルを作成したい:
lambda/search/requirements.txt
IBM Bobは新しいファイルを作成したい:
lambda/search/search_handler.py
IBM Bobは新しいファイルを作成したい:
lambda/search/advanced_search.py
ファイルが途中で中断されたので、続きを完成させます。
IBM Bobはこのファイルを編集したい:
lambda/search/advanced_search.py
次に、テストコードとデプロイ用の設定ファイルを作成します。
IBM Bobは新しいファイルを作成したい:
lambda/search/test_search.py
IBM Bobは新しいファイルを作成したい:
lambda/search/README.md
次に、AWS CDKを使用したデプロイ設定を作成します。
IBM Bobは新しいファイルを作成したい:
cdk/lib/search-stack.ts
IBM Bobは新しいファイルを作成したい:
cdk/package.json
IBM Bobは新しいファイルを作成したい:
cdk/bin/app.ts
IBM Bobは新しいファイルを作成したい:
cdk/tsconfig.json
IBM Bobは新しいファイルを作成したい:
cdk/cdk.json
最後に、デプロイ手順とREADMEを作成して、RAG検索機能の実装を完了させます。
IBM Bobは新しいファイルを作成したい:
cdk/README.md
todoリストを更新して、RAG検索機能の実装完了を記録します。
最後に、実装の概要をまとめたドキュメントを作成します。
IBM Bobは新しいファイルを作成したい:
RAG-SEARCH-IMPLEMENTATION.md
タスク完了
RAG検索機能の実装が完了しました!
実装内容

主要機能

デプロイ方法

ファイル構成

次のステップ

「IBM Bobは新しいファイルを作成したい:」「IBM Bobは新しいファイルを編集したい:」のところで、毎回「承認」、「拒否」のボタンが出てきます。全て「承認」を押していき、完了までいきました。
今回、出来上がった成果物は次の通りです。
-
実装計画(web-article-search-system-plan.md)
-
実装作業レポート(RAG-SEARCH-IMPLEMENTATION.md)
-
Lambdaの設計書(lambda / search / README.md)
-
Lambdaの実装物(lambda / search /*)
-
IaCの設計書(cdk / README.md)
-
IaCの実装物(cdk/*)
単体テストの実行
「Lambdaの設計書(lambda / search / README.md)」に記載している"ユニットテストの実行"のところに実行方法も記載されているがcoverage用のライブラリが足りなかったので、次のように修正し実行します。

次のコマンドで単体テスト実行し、レポート作成。

75%のカバレッジでif文の片方が通っていれば良いという基準で、最初作っている様子。

まとめ
Amazon Bedrockでの記事検索ツール開発について、3回にわたりIBM Bobを使ってみましたが、 次の3行+Bobから提案された文章を1クリックだけで、ここまで出来ました。
- 1.
-
「Amazon Bedrock RAG Evaluationの機能について教えてください」
- 2.
-
「AWS Bedrockを使って入力したキーワードを元にWebの記事を検索するシステムを作ろうとした場合、どのような計画になりますか?」
- 3.
-
「特定のニュースサイト(例:技術ブログ、ニュースサイト)から定期的に記事を収集してKnowledge Baseに格納し、Webアプリケーションで検索できるようにしたい」(クリック)
- 4.
-
「RAG検索機能を実装してくれますか?」
開発に関しては実質2行という少なさで、ここまでの量のアウトプットができます。特にIBM Bobは他のAIツールと比べて、Markdownファイルを多く出力する印象です。ドキュメントが多い分、分かりやすさもあるのですが、レビューの工夫が必要です。
※ 記載の製品名及び社名は各社の商標もしくは登録商標です。
※ IBM、ibm.comは、米国やその他の国におけるInternational Business Machines Corporationの商標または登録商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、ibm.com/trademarkをご覧ください。
連載コラム:IBM BobでAIエージェント開発を試してみた
エクサでは、様々なAIエージェントを検証していますが、セキュリティや規制が厳しいエンタープライズの基幹システム構築やレガシーモダナイゼーションにも適用可能な選択肢として、間もなく正式版が公開されるIBM Bobの活用も視野に入れています。
公開に先立ち、アーリーアクセス版を試用しましたので、その過程を共有します。
関連コラム
関連ソリューション
関連事例
お問い合わせ
CONTACT
Webからのお問い合わせ
エクサの最新情報と
セミナー案内を
お届けします
