Slide 1

Slide 1 text

2025/11/18 AIAgent勉強会|AIコーディングの再現性を上げる工夫や開発効率を高めるツール選定 Kiroをチームで運用してわかった、 AI codingを地に足つけて回すコツ @rinchsan

Slide 2

Slide 2 text

目次 5段階のAI活用レベル 1 Spec駆動開発の重要性 2 KiroでSpec駆動開発 3

Slide 3

Slide 3 text

VP of Technology @SODA inc. ○ 2020年10月に入社 ○ Webエンジニア → VPoE → CTO → VPoT ⇧⇧⇧ Backend Engineer @CyberAgent ○ 2019年新卒入社 バックエンドエンジニア ○ Go / AWSでサービス開発 Masaya Hayashi - @rinchsan @rinchsan

Slide 4

Slide 4 text

SNKRDUNK とは 「SNKRDUNK (スニーカーダンク)」は、スニーカーやアパレルを中⼼とするファッショ ン領域やトレーディングカード‧フィギュアなどを中⼼に、個⼈間での売買を簡単に⾏える 国内最⼤級のファッション‧コレクティブルマーケットプレイスです。 サービス開始:2018年7⽉ 利⽤料:無料 ※取引が成⽴すると、⼿数料および配送料がかかります 対応OS:Android、iOS ※Webブラウザからも利⽤可能 スニーカーダンク 取扱商品 フットウェア スニーカー、シューズ、パンプスなど トレカ‧ホビー トレカ、フィギュア、ゲームなど アパレル Tシャツ、アウター、キャップなど ファッション⼩物 時計、バッグ、アクセサリーなど 取引の過程で、運営がすべての商品を確認し、正規品を保証する「真贋鑑定」をおこなって おり、お客さまに安⼼‧安全な取引環境を提供しています。

Slide 5

Slide 5 text

SNKRDUNK の特徴 取引の過程で運営が全ての商品を確認 出品者から届いた商品に問題がないことが確認でき た時点で、出品者には売上⾦が振り込まれます。 万が⼀、購⼊者から返品希望があった場合にも、運 営と購⼊者でやり取りを⾏うため、出品者での対応 は必要ありません。 スニーカーダンク スニダンの安⼼‧安全な取引システム すべての取引が匿名配送 ユーザー同⼠のやりとりゼロ

Slide 6

Slide 6 text

目次 5段階のAI活用レベル 1 Spec駆動開発の重要性 2 KiroでSpec駆動開発 3

Slide 7

Slide 7 text

5段階のAI活用レベル 1

Slide 8

Slide 8 text

自動運転のレベル分け

Slide 9

Slide 9 text

“自動運転のレベル分け” とのアナロジー “AIにどこまで任せるか” とのアナロジーを考えられそう 引用:https://www.mlit.go.jp/common/001226541.pdf

Slide 10

Slide 10 text

業務の完全自動運転

Slide 11

Slide 11 text

“LayerX社による業務の自動運転レベル” とのアナロジー “AIにどこまで任せるか” とのアナロジーを考えられそう 引用:https://speakerdeck.com/yuya4/layerx-ai-deim2025?slide=31

Slide 12

Slide 12 text

生成AIの活用レベル

Slide 13

Slide 13 text

DeNA社のDARS(DeNA AI Readiness Score) 高いレベルでは組織に対する影響を重視 引用:https://dena.com/jp/news/5279/

Slide 14

Slide 14 text

生成AIの活用レベル(仮)

Slide 15

Slide 15 text

5段階の生成AI活用レベル(仮)をつくってみる 自動運転と同じく、レベル3からAI主導に レベル5 レベル4 レベル3 レベル2 レベル1 要望発見も含めてAIがすべての開発を実施?(完全自動開発) 要望→要件→設計→実装→…をすべてAIに任せる(特定条件下における完全自動開発) 要望→要件、要件→設計、設計→実装、などをAIに任せる(条件付自動開発) テストコード実装など部分的な開発をAIに任せる(特定条件下での自動開発機能) Tab補完などで部分的に開発の支援を受ける(開発支援)

Slide 16

Slide 16 text

AIレベルのマッピング

Slide 17

Slide 17 text

SODAの中のエンジニアを肌感でマッピングしてみる(数ヶ月前) 半数の人がまだレベル2に留まっているのではないか? レベル5 レベル4 レベル3 レベル2 レベル1 要望発見も含めてAIがすべての開発を実施?(完全自動開発) 要望→要件→設計→実装→…をすべてAIに任せる(特定条件下における完全自動開発) 要望→要件、要件→設計、設計→実装、などをAIに任せる(条件付自動開発) テストコード実装など部分的な開発をAIに任せる(特定条件下での自動開発機能) Tab補完などで部分的に開発の支援を受ける(開発支援) 󰞵󰠁 󰞵󰳕󰠁󰳕󰠁󰞵 󰠁 󰞵

Slide 18

Slide 18 text

AIレベル3の人を増やしたい

Slide 19

Slide 19 text

目次 5段階のAI活用レベル 1 Spec駆動開発の重要性 2 KiroでSpec駆動開発 3

Slide 20

Slide 20 text

Spec駆動開発の重要性 2

Slide 21

Slide 21 text

凄腕AI使いの共通点

Slide 22

Slide 22 text

自然とSpec駆動開発を実践している AI活用で大きく生産性が向上しているエンジニアの共通点 PRD 「システム設計  してください」 Design Doc 「タスク分解  してください」 Task List 「タスクBを実装  してください」 PR 「タスクAを実装  してください」 PR 「タスクCを実装  してください」 PR ※ 「この手法名前あったんだ」と思った人も多そう

Slide 23

Slide 23 text

5段階の生成AI活用レベル(仮) レベル3がまさにSpec駆動開発 レベル5 レベル4 レベル3 レベル2 レベル1 要望発見も含めてAIがすべての開発を実施?(完全自動開発) 要望→要件→設計→実装→…をすべてAIに任せる(特定条件下における完全自動開発) 要望→要件、要件→設計、設計→実装、などをAIに任せる(条件付自動開発) テストコード実装など部分的な開発をAIに任せる(特定条件下での自動開発機能) Tab補完などで部分的に開発の支援を受ける(開発支援)

Slide 24

Slide 24 text

目次 5段階のAI活用レベル 1 Spec駆動開発の重要性 2 KiroでSpec駆動開発 3

Slide 25

Slide 25 text

KiroでSpec駆動開発 3

Slide 26

Slide 26 text

Spec駆動開発をネイティブでサポートするAWS製エディタ このようなツールを組織全体に導入することで、レベル3をさらに増やせる? 意識せずともSpec駆動開発を実践できるツール

Slide 27

Slide 27 text

Waitlistに登録して待つ期間が終了し、誰でもダウンロードできるように kiro.dev/downloads/ からダウンロードできます

Slide 28

Slide 28 text

使ってみての課題

Slide 29

Slide 29 text

使ってみての課題 AIは要件や設計を 等分した粒度で分けがち バリデーションやリトライ処理が 漏れがち AIはパフォーマンスや監視など 非機能要件がだいすき 余計な要件を追加してくる 1 AIはスニダンのドメイン知識はないので 当たり前のことが抜けがち 2 コード例が既存のコード規約や慣習を 踏襲していない 3 AIは実行コストが高すぎる 動作確認とか負荷試験とかだいすき 余分なタスクを作ってくる 4 AIは一般的に良いとされているコードが だいすき タスクの粒度が不適切 5 これは1つのPRで 実装するには 大きすぎるんだよな〜 これとこれは同じPR内で 実装したいんだよな〜

Slide 30

Slide 30 text

Steering整備による課題解決

Slide 31

Slide 31 text

Steeringを整備する 公式ドキュメント:kiro.dev/docs/steering/

Slide 32

Slide 32 text

整備すべきSteering例 例えば、テスト関連のルールは testing-standards.md へ ref: https://kiro.dev/docs/steering/

Slide 33

Slide 33 text

整備すべきSteering例 例えば、テスト関連のルールは testing-standards.md へ ref: https://kiro.dev/docs/steering/

Slide 34

Slide 34 text

整備すべきSteering例 他にも例えば、コードの規約や慣習は code-conventions.md へ ref: https://kiro.dev/docs/steering/

Slide 35

Slide 35 text

今回の課題に対するSteering整備

Slide 36

Slide 36 text

Requirements: 余計な要件を追加してくる 要件定義のガイドラインを作成してそれに沿った内容を生成させることで解決

Slide 37

Slide 37 text

Requirements: バリデーションやリトライ処理が漏れがち チェックリストを作成しAIが自律的にFBサイクルを回せるようにして解決

Slide 38

Slide 38 text

Design: コード例が既存コードの規約や慣習を踏襲していない 既存のコードをうまく参照できるガイドラインで解決

Slide 39

Slide 39 text

Task list: 余分なタスクを作ってくる & タスクの粒度が不適切 タスク粒度やテンプレートなどのガイドライン整備で解決

Slide 40

Slide 40 text

SODAの中のエンジニアを肌感でマッピングしてみる(現在) Kiroから学び、半数以上をレベル3に押し上げることができた!(多分!) レベル5 レベル4 レベル3 レベル2 レベル1 要望発見も含めてAIがすべての開発を実施?(完全自動開発) 要望→要件→設計→実装→…をすべてAIに任せる(特定条件下における完全自動開発) 要望→要件、要件→設計、設計→実装、などをAIに任せる(条件付自動開発) テストコード実装など部分的な開発をAIに任せる(特定条件下での自動開発機能) Tab補完などで部分的に開発の支援を受ける(開発支援) 󰞵󰳕󰠁󰳕󰞵󰠁󰳕 󰞵󰠁 󰞵

Slide 41

Slide 41 text

その他の課題

Slide 42

Slide 42 text

Claude Codeでもいいです() Spec駆動開発はAIツールにとらわれない再現性の高い開発手法 実際にClaude Codeで Spec駆動開発できる スラッシュコマンドも 運用されてたりします 特にDesignとTask list生成およびTask実行はClaude Codeのほうが・・?

Slide 43

Slide 43 text

まとめ

Slide 44

Slide 44 text

自然とSpec駆動開発を実践している AI活用で大きく生産性が向上しているエンジニアの共通点 PRD 「システム設計  してください」 Design Doc 「タスク分解  してください」 Task List 「タスクBを実装  してください」 PR 「タスクAを実装  してください」 PR 「タスクCを実装  してください」 PR ※ 「この手法名前あったんだ」と思った人も多いはず

Slide 45

Slide 45 text

5段階の生成AI活用レベル(仮) レベル3がまさにSpec駆動開発 レベル5 レベル4 レベル3 レベル2 レベル1 要望発見も含めてAIがすべての開発を実施?(完全自動開発) 要望→要件→設計→実装→…をすべてAIに任せる(特定条件下における完全自動開発) 要望→要件、要件→設計、設計→実装、などをAIに任せる(条件付自動開発) テストコード実装など部分的な開発をAIに任せる(特定条件下での自動開発機能) Tab補完などで部分的に開発の支援を受ける(開発支援)

Slide 46

Slide 46 text

SODAの中のエンジニアを肌感でマッピングしてみる(近い将来) Kiroによって100%のエンジニアがレベル3に!(妄想) レベル5 レベル4 レベル3 レベル2 レベル1 要望発見も含めてAIがすべての開発を実施?(完全自動開発) 要望→要件→設計→実装→…をすべてAIに任せる(特定条件下における完全自動開発) 要望→要件、要件→設計、設計→実装、などをAIに任せる(条件付自動開発) テストコード実装など部分的な開発をAIに任せる(特定条件下での自動開発機能) Tab補完などで部分的に開発の支援を受ける(開発支援) 󰞵󰳕󰠁󰳕󰞵󰠁󰳕󰞵 󰠁󰞵

Slide 47

Slide 47 text

2025/11/18 AIAgent勉強会|AIコーディングの再現性を上げる工夫や開発効率を高めるツール選定 Kiroをチームで運用してわかった、 AI codingを地に足つけて回すコツ @rinchsan