はじめに
みなさんはAWS認定資格の学習をどのように進めていますか?
参考書を読む、問題集を解く、公式ドキュメントをみる、色々な方法があると思います。
その中でも、最も技術理解につながるのが、ハンズオンを行うことです。
手を動かしながら実際にAWSのサービスにふれることで、知識だけにとどまらず、実際の技術として理解を深めることができます。
しかし、ハンズオン資料は世の中に無数に存在しており、自身の理解が足りない技術のハンズオンをピンポイントで探し出すのはとても大変です。
また、ぴったりのハンズオンを見つけたとしても、その資料の中にわからないところがあればさらに調べてみて...と繰り返しの調査が必要になってしまい、時間もかかってしまいます。
そこで今回、私は「自分の理解度にあったハンズオン資料」と「知りたい情報が補足された資料」というキーワードを元に、Kiroを使ったハンズオン資料作成に取り組んでみました。
Kiroとは
Kiroは、AWSが提供するAI開発支援ツールです。
「仕様駆動開発」という考え方の元で、ユーザーの求める要望から要件書や設計書を作成し、細かなタスクとして段階的に実装を進めることで、複雑な問題も高い質で解決することができます。
今回のハンズオン資料作成に当たって、一般的な生成AIでの1対1の対話形式では複雑な資料や自身の要望に合わせた資料作成は難しいのではないかと考えたため、Kiroを使ってみることにしました。
作成物紹介
作成した資料はマークダウン形式になっています。
参考資料のリンクや補足説明、構成図などを入れることができたため、かなりわかりやすい手順書を作ることができた思っています。
資料作成のために与えた情報
ハンズオン資料作成にあたってKiroに与えた情報は主に3種類です
MLA試験ガイド

AWSが公開している試験ガイドには、その試験で対象としている技術領域や重要度などが細かく掲載されています。
この資料を読み取らせることで、Kiroが試験内容に適したハンズオン資料の作成をするようにしています。
AWS公式ドキュメント

Kiroはそれ自体がAWSに特化したAIであるものの、出力すること全てが正確とは限りません。
そこで、AWS Knowledge MCPを利用することで、公式ドキュメントの情報を参考にするようにさせ、より正確な情報で資料を作成してもらえるように工夫してみました。
資料要件
さいごに、私自身がハンズオン資料に求める要件も指示として与えています。
・ハンズオンはマネジメントコンソール上で行う
・ハンズオンで作成したリソースの削除手順を明記する
・資料内に構成図を入れる
こういった要望をあらかじめ伝えておくことで、作成される資料が自身にとって扱いやすいものになるようにしました。
資料作成のプロセス
今回Kiroを使ってハンズオン資料を作成したプロセスは次のとおりです。
1. 作成資料の要件定義、設計
事前に与えた要望や資料の目的を元に、まずは資料作成に必要な要件定義や設計を作りました。
Kiroは、仕様駆動開発に必要な定義書をSpecファイルとして作成、管理します。
Specファイルには要件定義書(requiremets)、設計書(design)、タスク定義(tasks)の3種類があります。
要件定義書
# 要件定義書
## はじめに
このドキュメントは、AWS Machine Learning Specialty(MLA)認定試験の受験準備のための、AWSのAIサービスを実際に操作するハンズオン資料の要件を定義します。Kiro AIアシスタントが、ユーザーの指示に基づいて日本語のハンズオン資料を作成し、学習者がAWSのAIサービスを実践的に理解し、試験に必要な知識とスキルを習得できるようにすることを目的としています。
## 用語集
- **Kiro**: ハンズオン資料を作成するAIアシスタント
- **ユーザー**: Kiroに資料作成を依頼する人
- **学習者**: 作成されたハンズオン資料を使用してAWS AIサービスを学習する人
- **ハンズオン資料**: AWSのAIサービスを実際に操作するための手順書、演習問題を含む学習資料(Markdown形式)
- **AWS AIサービス**: Amazon SageMaker、Amazon Rekognition、Amazon Comprehend、Amazon Transcribe、Amazon Polly、Amazon Translate、Amazon Forecast、Amazon Personalize等のAWSが提供する機械学習・AIサービス
- **演習**: 学習者が実際にAWSマネジメントコンソールを使用して実行する演習タスク
- **MLA試験**: AWS Certified Machine Learning - Specialty認定試験
## 要件
### 要件 1
**ユーザーストーリー:** ユーザーとして、特定のAWS AIサービスのハンズオン資料をKiroに作成してもらいたい。そうすることで、学習者がそのサービスを体系的に学習できる資料を提供できる。
#### 受入基準
1. WHEN ユーザーがAWS AIサービス名を指定する THEN Kiroはサービス概要、主要概念、ハンズオン演習を含む構造化されたMarkdownドキュメントを作成しなければならない
2. WHEN Kiroが資料を作成する THEN Kiroは主にAWSマネジメントコンソールの操作手順を含めなければならない
3. WHEN Kiroがサービス資料を作成する THEN Kiroはコンテンツを導入、セットアップ手順、基礎演習、応用演習のセクションに整理しなければならない
4. WHEN Kiroが資料を作成する THEN Kiroは公式AWSドキュメントと関連するMLA試験トピックへの参照を含めなければならない
5. WHERE ユーザーが複数のサービスの統合資料を要求する THEN Kiroはサービスがどのように連携するかを示す統合演習を提供しなければならない
Kiroは最初に与えた指示を元に、用語の定義やシナリオに沿った要件定義を行います。
自身の要望に合わないところの追加修正などをしてもらいつつ、要件に問題が無ければ次のステップ(設計書作成)へと進みます。
設計書
## 資料構造定義
### 標準的な資料構造(Markdownテンプレート)
各ハンズオン資料は以下の構造に従います:
```markdown
# [サービス名] ハンズオン資料
## 1. サービス概要
- サービスの説明
- 主要な機能
- MLA試験での重要度
## 2. 前提条件
- 必要なAWSアカウント設定
- 前提知識
- 推定コスト
## 3. セットアップ手順
### 3.1 IAMロールの作成
- コンソール操作手順(詳細)
- 必要な権限ポリシー
### 3.2 サービスの有効化
- コンソール操作手順(詳細)
要件定義を元に作成されるのが設計書です。
ここでは、今回作成をする資料の全体的な構成や共通事項などが定義されています。
タスク定義
要件定義や設計書を元に作られるのが、タスク定義書です。
これは、Kiroがコレまで作成してきたドキュメントに沿って目的を達成するための細かなタスクを定義したもので、具体的な作業プロセスや確認が必要な項目が細かく記載されています。
これらタスクを1つ1つ実行していくことで、最終的に1つの大きな資料群が完成しました。
## タスク一覧
- [ ] 1. 共通リソースセットアップ資料を確認・更新
- [ ] 1.1 共通リソースセットアップ資料の現状確認
- `materials/common-setup/hands-on.md` を読み込み
- 既存の構造とセクションを確認
- 修正が必要な箇所をリストアップ
- _要件: 13.1, 13.2, 13.3_
- [ ] 1.2 共通S3バケット作成手順の確認・更新
- S3バケット作成のコンソール手順を確認
- フォルダ構造の説明を確認
- タグ設定手順を確認
- _要件: 13.1, 13.2, 13.3, 13.6_
2. ハンズオン実施
タスクを実行することで完成した資料は次のものです。
・AI関連サービス12種のハンズオン
・MLA学習のアドバイスシート
ハンズオンの例として上げると、ノートブックでのモデル開発からエンドポイントデプロイまでを扱ったSageMakerのハンズオンやS3データのクローラー検出からETLジョブでの変換処理を扱ったGlueのハンズオンなどがあります。
事前に定義した要件に沿っているだけあって、かなりクオリティの高い資料になっていたものの、部分部分で資料のミスがあったり、もう少し補足してほしい情報などもあり、資料として完成とするには少し遠いものでした。
3. 資料ミスやQAの記録を踏まえた資料のブラッシュアップ
そこで取った工夫が、資料のミスやわからない部分、補足してほしい内容の質問をKiroにドキュメントとして記録し、それを踏まえて更に資料のブラッシュアップをしてもらうといった方法です。
KiroにはAgent Steeringというトークセッションの最初に必ず読み込むプロンプトを設定できる機能があります。
この中で、「受け取った質問をドキュメントに記録してほしい」というように指示しておくことで、ハンズオンに取り組む中でKiroに問い合わせた内容を全て記録して貰うことができました。
日付: 2025年12月6日
---
## Q1: SageMakerのIAMロールの用途
**質問**: Sagemakerのハンズオンで作成するIAMロールは何に使う?
**回答**: SageMakerがS3やその他のAWSサービスにアクセスするために使用されます。
具体的には:
- S3へのアクセス(トレーニングデータの読み込み、モデルの保存、推論結果の書き込み)
- CloudWatch Logsへのアクセス(ログ出力)
- ECRへのアクセス(Dockerコンテナイメージの取得)
このIAMロールは「SageMakerの実行ロール」として機能し、トレーニングジョブやエンドポイントが動作する際に必要な権限を提供します。
このドキュメントをもとに更に資料の設計を修正してもらい、作り直してもらうことで、自身が気になった情報を取り入れた資料にすることが実現できました。
まとめ
今回は、Kiroを使った試験対策学習のハンズオン資料作成の流れについてブログにしてみました。
世の中にすでにあるハンズオン資料ももちろん学習には効果的ですが、AIを活用して独自の資料を作成したことで、より自分の目的や理解度に適した資料ができたのではないかと思います。
また、資料を作成して終わりではなく、取り組みながら疑問点を随時質問できるのもAIの強みです。
特にKiroでは、質問内容を記録しておくことで、よりわかりやすい資料にブラッシュアップできたことも理解に繋がったと感じています。
みなさんも、ぜひAIを自己学習に役立ててみてください。

