0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【前編】挫折しない!Kiroと作る生成AIチャットボット開発

0
Posted at

blog-eyecatch-c5460.png

はじめに

以前からAmazon Bedrockに興味は持っていたものの、心理的なハードルが高く、なかなか一歩を踏み出せずにいました。

そんな中、AWS Summit 2026に参加した際、要件定義から設計までのプロセスに『Kiro』を導入し、開発を効率化している現場が数多くあることを知りました。

「Kiroを使えば、自分でも手軽にBedrockに触れられるかもしれない」と感じ、KiroとBedrockを使って簡単な生成AIチャットボットの作成を決意しました。

本記事では、Kiroを使った要件定義から設計、Kiroが作成したドキュメントに沿って生成AIチャットボットを構築していきます。

記事の概要

本記事は、前編と後編の2部構成となっています。

前編の内容:

  • Kiroの概要
  • KiroのSpec機能の実行
  • 手順書の作成

後編の内容:

Kiroの作成した手順に沿って、生成AIチャットボットを作成していきます。

  • AWS Amplifyでアプリのベースを公開する
  • Bedrockのモデルカタログ有効化
  • Lambdaの実装
  • チャット画面本体の実装
  • WAFの設定
  • テストとエラーの解消

Kiroとは

Kiroは、最先端のAIソフトウェア開発環境です(幽霊みたいなアイコンがとても可愛いです)。

その最大の特徴は、開発のプロセスを強力にサポートしてくれる「Spec機能」です。

通常、システム開発では要件定義からテストまで、多くの複雑な工程を人間が手作業で進める必要があります。

しかしKiroのSpec機能は、この最初から最後までのステップをAIが一貫して実施してくれるため、開発の手間を劇的に減らしてくれます。

今回はこのSpec機能を活用し、生成AIチャットボットの「要件定義」から「設計」、そして「タスク一覧の作成」までを実際に進めていきます。

Kiroは無料枠として50クレジット分を利用できるため、まずは手軽に試すことができます。

本格的に活用する場合は、有料でクレジットを追加購入することが可能です。

詳細はKiroの公式ページをご確認ください。

KiroにはSpec機能以外にも様々な機能があります。

  • Vibeモード:AIとチャットで会話しながら開発を進められる機能です。自然言語で要望を伝えるだけで、コード生成や修正、リファクタリングなどを支援してくれます。
  • Hooks:ファイルの保存やコミットなどのイベントをきっかけに、AIへの指示やスクリプトを自動実行できる機能です。
  • Steering:プロジェクト固有の開発ルールや設計方針、コーディング規約などをAIに継続的に共有し、一貫した開発を支援する機能です。
  • 柔軟なツール連携:MCPに対応しており、GitHubや社内ドキュメント、データベースなどの外部ツールと連携することで、AIが参照・活用できる情報や機能を拡張できます。
  • 様々なインターフェース:VS Codeベースの「Kiro IDE」、ターミナルから利用できる「Kiro CLI」、ブラウザで利用できる「Kiro Web」の3つのインターフェースを提供しています。

KiroのSpec機能を使ってみた

要件のベース作成

Kiroで要件定義を進めるためのベースを作成します。

今回は、そのベースとして以下の内容を用意しました。

以下の条件で生成AIチャットボットを作成する

- 使用するAWSサービス
  - フロントエンド:AWS Amplify
  - バックエンド:Amazon Bedrock
- セキュリティ:社内IPのみアクセス可能
- 最小構成
- 最小コスト

要件定義書の作成

作成した要件のベースを元に、さっそくKiroを使って具体的な要件定義書を作成していきます。

今回は、開発環境であるKiro IDEを利用しました。

プロジェクト用のフォルダを開き、画面上のメニューからSpecを選択します。

01_Specを選択.png

要件のベースを入力して実行すると、Kiroからどのように進めるか質問されます。

今回は以下のように選択して進めました。

  • 今回は開発なので、Build a Featureを選択
  • 要件定義なので、Requirementsを選択

進めていくと、Kiroが「requirements.md」という名前の要件定義書を自動で出力してくれました。

自動生成された要件定義からAWSの構成を確認したところ、以下のAWSサービスを組み合わせた構成になっていました。

  • WAF
  • Amplify
  • API Gateway
  • Lambda
  • Bedrock

ただ、今回のチャットボットでは、API Gatewayを使った複雑な認証やアクセス制御までは求めていません。

そこで、よりコストを抑えてシンプルな構成にするため、「API Gatewayで認証やリクエストの制御まですることを求めていないので、LambdaのみでBedrockを呼び出すシンプルな構成で修正して」とKiroに修正を依頼しました。

こうして再出力された要件定義書には、Lambdaのみでスマートに連携するシンプルな設計に沿って、以下の具体的な要件が詳細に記載されていました。

  • チャット機能
  • セキュリティ
  • フロントエンドホスティング
  • バックエンド
  • コスト最適化
  • ユーザーインターフェース

このように対話を重ねることで、詳細な要件定義書を簡単に作成することができます。

以下は完成した要件定義書の一部抜粋です。

# 要件定義書

## はじめに

本ドキュメントは、AWS AmplifyをフロントエンドとしてAmazon Bedrockをバックエンドに利用した社内向け生成AIチャットボットの要件を定義します。  
社内IPアドレスからのみアクセス可能なセキュアな環境で、最小構成・最小コストでの提供を目指します。

## 用語集

- **Chatbot**: ユーザーと自然言語で対話する生成AIシステム全体
- **Frontend**: AWS Amplifyにホストされるウェブアプリケーション(React等)
- **Backend_API**: Lambda Function URLを通じてAmazon Bedrockを直接呼び出すバックエンド処理(AWS Lambda)
- **Bedrock_Model**: Amazon Bedrockで提供される基盤モデル(Claude 3 Haiku)
- **User**: 社内ネットワークからChatbotを利用する従業員
- **WAF**: AWS WAFによるIPアドレス制限を行うセキュリティコンポーネント
- **Conversation_History**: 一回のセッション内でのユーザーとAIのメッセージ履歴

## 要件

### 要件 1:チャット機能

**ユーザーストーリー:** 社内ユーザーとして、テキストメッセージを送信してAIから返答を得たいので、業務上の質問や情報収集を効率的に行いたい。

#### 受け入れ基準

1. WHEN ユーザーが1文字以上4000文字以内のメッセージを入力して送信操作を行った場合、THE Frontend SHALL Backend_APIへリクエストを送信する

設計書の作成

次に、要件定義書の「requirements.md」を元に、Generate Tech Designをクリックして設計書を作成します。

実行すると、Web検索の実行許可を求められたのでAllowをクリックしました。

今回はAWSサービスを使っているので、AWS公式ページを参照してくれます。

設計書は、「design.md」というファイル名で出力されます。

以下のようなシステム構成図も作成してくれました。

スクリーンショット-2026-08-14-065527.png

タスクリストの作成

次にタスクリストを作成します。

Generate Task Listをクリックします。

04_MakeTaskList.png

クリック後、「tasks.md」というファイル名でタスクリストが作成されました。

実装におけるタスクが詳細に記載されています。

スクリーンショット-2026-08-14-070519.png

Start Taskを実行することで、設定ファイルの作成から実装までが可能です。

今回はタスク実行時にエラーとなったため、プロンプトで設定ファイルのみ作成してもらいました。

手順書の作成

タスクリストは作成しましたが、触ったことがないAWSサービスもあり、手順のイメージが浮かびませんでした。

そのため、Kiroと対話を重ねてタスクリストを元に手順書を作成してもらいました。

後続の記事では、これらの手順書を元に生成AIチャットボットを構築していきます。

Kiroで要件定義書から手順書の作成を行い、無料分の50クレジットを全て消費しました。

まとめ

今回、初めてKiroを使って要件定義から手順書までを作成しました。

Steering機能を使ってプロジェクト固有の開発ルールや設計方針をAIに反映させ、精度を高めれば、プロジェクトレベルでも有効活用できると感じました。

また、今回はマネジメントコンソールで構築していきますが、AWSリソースをコード化してデプロイすることもできるみたいなので挑戦してみたいと思いました。

本記事が少しでも参考になれば嬉しいです。

後編はこちら:【後編】挫折しない!Kiroと作る生成AIチャットボット開発

We Are Hiring!

エンジニアの皆さん、今の環境で「これ以上の成長イメージが湧かない」「新しい技術領域に挑戦できていない」とモヤモヤしていませんか?

FindConsultingでは、最大6か月間、要件定義や基本設計といった最上流から学べる超実践的研修を導入しています。

高い技術力を持つトップエンジニアが直接レクチャーし、メンター制度もあるため安心して成長できる環境が整っています。

現在、FindConsultingでは一緒に働く仲間を大募集中です。

少しでも興味を持っていただけたら、まずはカジュアル面談でざっくばらんにお話ししましょう!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?