Slide 1

Slide 1 text

OSEKKAI × TECHNOLOGY KiroでのAIコーディング実践 〜spec駆動開発を原理と系譜で読み解く〜 Fusic × KINTO Technologies Meetup 2026-06-11 Fusic Co.,Ltd. 清家 史郎 (@seike460)

Slide 2

Slide 2 text

OSEKKAI × TECHNOLOG Y はじめに 自己紹介 清家 史郎 (@seike460) SHIRO SEIKE Principal Engineer / Evangelist ・AWS Community Builder (Serverless) ・2025 Japan AWS Top Engineers — コミュニティ ・JAWS-UG Fukuoka / JAWS DAYS 2026 Chair 2 ©Fusic Co., Ltd.

Slide 3

Slide 3 text

迷子の正体は、チャット履歴に沈む意思決定 会話の勢いで書かせる specで合意してから書かせる 会話 → コード → また会話 決定は履歴の奥に沈む 要件 → 設計 → タスク 各段に人間の承認ゲート 意思決定は流れる。後から復元できない 意思決定はファイルに残り、正典になる 3 ©Fusic Co., Ltd.

Slide 4

Slide 4 text

Kiroは要件→設計→タスクを承認ゲートで進める .kiro/specs// ├─ requirements.md EARS │ └─ : OK ├─ design.md │ └─ : OK └─ tasks.md 形式の受け入れ基準 承認ゲート 人間が して次へ 設計の選択肢と決定の根拠 承認ゲート 人間が して次へ 実装タスクへの分解 コードより先に「合意物」が残る 4 ©Fusic Co., Ltd.

Slide 5

Slide 5 text

steeringは知識の注入タイミングまで設計する .kiro/steering/architecture.md inclusion: always ← このファイルは常時注入 Dependency direction: Outward -> Inward Domain layer has ZERO dependencies Application layer depends on Domain only Infrastructure implements Application interfaces ・ ・ ・ パターン一致時のみ注入 名前 で明示参照時のみ inclusion: fileMatch … inclusion: manual … # product/tech/structure 既定は 5 ©Fusic Co., Ltd.

Slide 6

Slide 6 text

ヘキサゴナル×steeringでAWSの変化を吸収する SDK直書きは変更が全層に波及する API Gateway ヘキサゴナルなら交換はアダプタ1枚 API Gateway ↓ Lambda — ドメイン+SDK混在 ↓ Lambda handler = adapter ↓ 波及 DynamoDB サービス変更がドメインまで波及する 出典: AWS Prescriptive Guidance — Building hexagonal architectures on AWS ↓ ドメイン ロジック 変わらない ↓ repository = adapter DynamoDB ⇄ Aurora 交換はアダプタだけ、ドメインは無傷 6 ©Fusic Co., Ltd.

Slide 7

Slide 7 text

hooksは9種のイベントに検証を結びつける { "name": "Clean Architecture Guard", "when": { "type": "fileEdited", "patterns": ["packages/core/src/**/*.ts", "..."] }, "then": { "type": "askAgent", "prompt": "Clean Architecture ..." } の境界違反を検出 } 保存・作成・削除などトリガー9種 アクションはaskAgentかシェル実行 7 ©Fusic Co., Ltd.

Slide 8

Slide 8 text

9つの発火点が開発のすべての瞬間を覆う エージェントの一周 — 時系列に4つ Prompt Submit Pre Tool Use Post Tool Use Agent Stop プロンプト送信時・遮断可 ツール実行前・遮断可 ツール実行後 応答完了時 IDEとspecのイベント — いつでも横から5つ ファイル操作 Create / Save / Delete をパターン指定で specタスク 実行前 / 実行後 (Pre / Post Task) 8 ©Fusic Co., Ltd.

Slide 9

Slide 9 text

EARSは航空機エンジン制御の要件分析で生まれた Requirement 1: ハンドラーからビジネスロジックを分離する WHEN a handler file is reviewed THEN THE handler file SHALL contain at most 50 lines of code WHEN a handler processes an event THEN THE handler SHALL delegate all business logic to functions in app/logic/ 6 WHEN 構文は パターン、これは 型 9 ©Fusic Co., Ltd.

Slide 10

Slide 10 text

steeringは宣言、検証はhooksとspecで閉じる 宣言と現実は必ず乖離する 乖離はhooksで検出、specで返済 specの重さは変更の大きさに比例 10 ©Fusic Co., Ltd.

Slide 11

Slide 11 text

steeringはAI-DLCへの入り口になる // .kiro/.../process-checker.js — AWS AI-DLC v2 (MIT-0) // // 1. // 2. // : 0 PASS / 1 FAIL process.exit(failures.length === 0 ? 0 : 1); // LLM v2 Kiro 8 personas v2 main 各ステージの成果物をディスク上の証拠で機械検証する 宣言された成果物がディスクに存在するか 宣言された貢献者は貢献したか 終了コード の自己申告ではなく、ディスク上の証拠を見る は 対応・ 構成 は開発中ブランチ、安定版は 11 ©Fusic Co., Ltd.

Slide 12

Slide 12 text

ま と め — 残 す ・ 設 計 す る ・ 結 び つ け る Point.01 specが意思決定を履歴から救い出す Point.02 steeringが知識の注入を設計する Point.03 hooksが検証をイベントに結びつける 12 ©Fusic Co., Ltd.

Slide 13

Slide 13 text

Thank You ご清聴いただきありがとうございました OSEKKAI × TECHNOLOGY ココロと技術で、ぴったりも、びっくりも。 We are Hiring! カジュアル面接 — Let's Talk! https://fusic.co.jp/recruit/lets_talk/44 ©Fusic Co., Ltd.