連載コラム:IBM BobでAIエージェント開発を試してみた

連載コラム:IBM BobでAIエージェント開発を試してみた

第6回:IBM Bobで記事検索ツールを開発③実装する

はじめに

前回までに、MCPサーバを設定し、最新の情報を取得できるようにし、実装計画を作りました。
実装計画で提案されたステップは次の通り。

実装計画のステップ

実装する

下図のシステムアーキテクチャのうち、「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をご覧ください。

関連コラム

関連ソリューション

関連事例

お問い合わせ

CONTACT

Webからのお問い合わせ
エクサの最新情報と
セミナー案内を
お届けします