Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AI に確かめさせる | Kiro と学ぶハーネスエンジニアリング 05

Avatar for Riku INADA Riku INADA PRO
November 09, 2026

AI に確かめさせる | Kiro と学ぶハーネスエンジニアリング 05

AI に自分の仕事を採点させると、甘くなります。この資料では、作る役と確かめる役を分け、確かめる役には作った側の言い分を見せずに変更、要件、決まりだけを渡すこと、レビュー役 (Kiro のカスタムエージェント) を観点ごとに作り、採点の基準を作る役と確かめる役の両方に渡すこと、決まりを当てはまるコードの場所に置くこと (fileMatch の Steering)、止める指摘 (その PR で直す指摘) を「場所、根拠、起きる条件、結果」の 4 つがそろうものだけにすることを、Anthropic や OpenAI などの公開の記事と kiro.dev のドキュメントを元にイメージ図で説明します。説明用に作った小さな会議室の予約アプリで、レビュー役が読む採点の基準を確かめるところ、決まりに当たる変更をレビュー役が止めるところ、決まりに当たる変更、安全な反例、関係ない変更、普通のバグの 4 種を流してレビュー役の見逃しと当てすぎ (要らない所で止めること) を測るところを Kiro CLI の本物の画面で、レビュー役をサブエージェントとして動かすところを Kiro IDE の画面で見せます。シリーズ「Kiro と学ぶハーネスエンジニアリング」の 05 (確かめる) です。

Avatar for Riku INADA

Riku INADA PRO

November 09, 2026

More Decks by Riku INADA

Other Decks in Technology

Transcript

  1. Kiro と学ぶハーネスエンジニアリング 確かめる AI に確かめさせる 役ごとのレビュー役と、 ⽌める指摘の決め⽅ 05 2026-11 時点

    2026 年 11 ⽉ 稲⽥ ⼤陸 アマゾン ウェブ サービス ジャパン + Kiro + Harness Engineering © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 1
  2. はじめに ⾃⼰紹介 稲⽥ ⼤陸 いなだ りく (いなりく) アマゾン ウェブ サービス

    ジャパン合同会社 ソリューションアーキテクト 製造業のお客様を中⼼に⽀援 最近の取り組み AI 駆動開発ライフサイクルの推進 Kiro と AWS Amplify の情報発信 © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. X @inada_riku Speaker Deck speakerdeck.com/inariku Zenn zenn.dev/inariku GitHub github.com/inariku 2
  3. はじめに シリーズの中の位置 いまは 05 AI に確かめさせる、次は 06 できることを囲う、07 CI に載せる

    考え⽅ 01 導く 01 ハーネスエンジニアリング⼊⾨ 02–03 確かめる 04–05 囲う 前に読む 決まりと 02 地図を渡す 04 機械で確かめる 意図を 05 AI に確かめさせる 03 仕様で渡す 06 回す 次に読む 06 できることを囲う 07–10 次に読む 07 CI に載せる ハーネスを 08 育てる ⻑い仕事を 09 回でつなぐ ハーネスが 10 効いたかを測る © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 3
  4. はじめに この資料で分かること 作る役と確かめる役を分け、渡すものと決まりを先に決め、確かめる役も測る 1 ⾃分の採点が⽢い理由と、確かめる役を分けて渡すものを絞る⽅法 2 観点ごとのレビュー役、両⽅に渡す採点の基準、場所に置く決まり 3 ⽌める指摘の決め⽅と、レビュー役の⾒逃しと当てすぎの測り⽅ 前に読むとよい資料:

    04。カスタムエージェントの作り⽅は別のシリーズ 「⽬指せ Kiro マスター」の 08 ⼩さな会議室の予約アプリ (以後「予約アプリ」) で試す。⽬指せ Kiro マスターと同じもの 画⾯は Kiro CLI 3.1.0 と Kiro IDE 1.4.121。絵のお化けは Kiro 図の⾊: 紫は要点と⼈が決める所、⻘は Kiro の動き、緑は通ったもの © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 4
  5. 考え⽅ AI の確かめ 意味を⾒る確かめは AI に任せられるが、遅く、⾼くつき、毎回同じ答えとは限らない 機械の確かめ (資料 04) AI

    の確かめ (この資料) 意味を⾒るので、⼀部は⾒られる 動かすもの CPU 動かすもの GPU (モデル) 意味が同じで書き⽅が違う 速さ ミリ秒〜秒 速さ 遅く、⾼くつく 要らないテスト 答え 毎回同じ 答え 揺れる 例 テスト、型、lint どちらも確実には捕まえない ⼒ずくの直し 作りすぎ 原因の⾒⽴て違い、頼んでいない機能、指⽰の取り違え AI のレビューは⾜す層。テストと必須の承認が固い強制として残り、書き⽅の確かめは CI に置く (OpenAI) 確かめる役は、仕事がモデル単独の⼒を超えるときに元が取れる (Anthropic) © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 5
  6. レビュー役を作る レビュー役を作る カスタムエージェントに 1 つの観点だけを持たせ、書く道具は渡さない description 親が相⼿を選ぶときに読む tools write は渡さず、shell

    は許可で絞る permissions git の読む操作だけ通す resources と本⽂ 共通の決まりと、観点の問い .kiro/agents/design-reviewer.md の 2〜9 ⾏⽬。親 (呼び出す側の役) から呼ぶときは、親にも同じ allow が要る © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 7
  7. レビュー役を作る Kiro でレビュー役に渡すものを絞る 起動で読むファイル、読めない場所、使える道具を、レビュー役の設定で絞る 絞るもの 書く所 予約アプリの試しで⾒たこと 起動で読むファイル resources の

    file:// criteria.md を読んだ 読めない場所 permissions の fs_read の deny 使える道具 tools と permissions 会話の履歴 別のセッションかサブエージェントで流す notes/ (PR の説明) は読めない (git diff の出⼒に出た分は⾒えた) テストのコマンドは拒まれた (許していない) 作った側の会話は渡らない 作った⼈の説明 (PR の説明) は commit に⼊れず、頼みにも書かない。always の Steering は受け継いだ サブエージェントとして呼ぶと、親の resources ではなく⾃分の resources を読む 動かして確かめる役にするなら、テストのコマンドは allow にする (書かせないこととは別) © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 10
  8. レビュー役を作る 1 回でまとめて出させる ⼩出しの指摘は、直すたびに新しい指摘を呼ぶ。何度か読み直させ、1 回で全部出させる ⼩出しの レビュー 5件 直す 新しく

    4 件 直す また 3 件 … 直すたびにコードが増え、増えた所にも指摘が付く 1 回で全部 出すレビュー 何度か読み直し、前に出した ものは⾶ばして全部出す 直すのは 1 回 通る 遅くても全部出すレビュー役のほうが、何回にも分けて出す役より安くつく (ブログ) 予約アプリでは、決まりに「出す前にもう 1 度読み直す」と書いた。件数はブログの例 © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 11
  9. 採点の基準 予約アプリの採点の基準 4 つの基準を always の Steering に書き、レビュー役の resources でも読ませた

    既定の役 (作る役) の /context show rules-reviewer (確かめる役) の /context show 基準 (上ほど重い) 重さ 例 1 予約を失わない 3 消す操作は、だれの操作かを確かめる 2 利⽤者の操作で落ちない 3 外から来た値は⼊⼝で確かめる 3 今の作りに合う、4 テストで確かめられる 2、1 通る例と落ちる例のテスト 右の 2 ⾏は resources の分と、受け継いだ always の Steering の分 (0.0% は⽂脈に占める割合の実測) ⽌めるかは 15 枚⽬の 4 つの条件で決め、基準は出来の採点に使う (この資料のすすめ) © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 13
  10. 採点の基準 確かめる役を疑い深く育てる 確かめる役の記録を読み、⾃分の判断とずれた例から指⽰を直す イメージ図 1 記録を読む 2 ずれた例 3 指⽰を直す

    素の確かめる役は⾒つけた問題を「⼤したことはない」と通した。記録を読み指⽰を直す (Anthropic) 情報が⾜りなければ「分からない」と⾔わせる (Anthropic)。⼈と 99% 合わせた例も (Chroma の実測) © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 14
  11. ⽌める指摘の決まり ⽌める指摘の決まり 場所、根拠、起きる条件、結果の 4 つがそろうものだけを、⽌める指摘にする 1 つの指摘 4 つがそろう 場所

    ファイルと⾏ 根拠 そのコードの引⽤ 起きる条件 どんな⼊⼒や操作で 結果 何が壊れるか 設計の懸念 ⽌める指摘 どれかが⾔えない 助⾔ 扱いは PR を書いた⼈が決める あとで戻せない選択 (例: 保存するデータの形) のときだけ⽌める。 戻せる選択なら助⾔ 助⾔の扱いを書いた⼈に任せるのは、この資料の決め (ブログは issue に回す) © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 15
  12. ⽌める指摘の決まり 重さで分ける ⽌める指摘はその PR で直す。助⾔の扱いは PR を書いた⼈が決める ⽌める指摘: この PR

    で直す 直し⽅は、PR の⽬的を果たす⼀番⼩さい変更。 ⼤きい作り直しは issue に分ける 助⾔、⼩さな指摘、書き⽅ 指摘 この PR で直す、issue に回す、直さないを、 書いた⼈が決める 例外: 利⽤者の操作で起きる落ち⽅、セキュリティの⽳、データが消えることは、 直しが⼤きくてもこの PR で直す 決まりは予約アプリの blocking-rules.md に書き、取りまとめ役と 3 つの観点の役に読ませた © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 16
  13. 決まりを場所に置く 決まりを場所に置いてレビューに当てる 何度も出る指摘を短い決まりにし、変わったファイルに効く決まりだけを当てる 根 (リポジトリの⼀番上): いつも読む server: API-1 イメージ図 変わったファイルだけ

    web (今回は変わっていない) 決まりには守る約束と安全な道を書き、名前で指させる。消してもレビューが変わらない決まりは書かない 決まりを渡すと、決まりに関わる要る指摘の 98%、渡さないと 58.3% を拾った (OpenAI の社内の試験の実測) © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 17
  14. 決まりを場所に置く 予約アプリで決まり API-1 を当てる fileMatch の Steering に置いた API-1 を、レビュー役が名前で指して⽌めた

    ⼀覧の返事の name を bookedBy に変えた変更に、rules-reviewer を headless で流した api-rules.md は fileMatch。server のファイルを読んだ直後に⽂脈に⼊った (別の回の記録) /context show には出なかった。レビュー役は⾃分でも .kiro を探して決まりを読んだ © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 18
  15. 予約アプリで試す 予約の取り消しの PR ⽬指せ Kiro マスター 10 が作った PR を、取りまとめ役と

    3 つの役で⾒る 設計 PR: 予約の取り消し DELETE の API を⾜す 4 ファイル、+97 −1 ⾏ API とテスト 画⾯は変えていない 取りまとめ役 1 つの表 根本原因 同時に頼む ⽌める 助⾔ 利⽤者の体験 PR は⽬指せ Kiro マスター 10 の Workflow (段ごとに流す機能) が作った 3 つの役はサブエージェント (⾃分の⽂脈で動き、答えを親に返す役)。rules-reviewer は別の役 © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 19
  16. 予約アプリで試す 並べて流す 取りまとめ役が 3 つのレビュー役をサブエージェントとして同時に動かす 「main と cancel-reservation の差分を レビューして」と頼んだ。左は

    3 つの役の うち ux-reviewer サブエージェントは Steering と許可を親と 分け合い、会話と⽂脈は⾃分だけで持つ 親の決まりに無い読むコマンド (git grep など) は 1 つずつ聞かれた (この試しでは Allow を押した)。 headless では拒まれる (資料 07) © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 20
  17. 予約アプリで試す 予約の取り消しの PR で出た指摘 ⽌める指摘は 1 件。4 つがそろわない⽌める指摘は、取りまとめ役が助⾔に下げた ⽌める 誰の予約でも、id

    だけで物理削除できる 1件 (根本原因が⽌める。ほかの 2 つは助⾔) ⽌める → 助⾔ 要件の「対象外」と⾷い違う (起きる条件と結果が⾔えない) 2件 画⾯に取り消しの操作がない (場所と根拠が⾔えない) 助⾔ 失敗の⽂が合わない、消した予約の全項⽬を返す 4件 deleteById は 1 ⽂の SQL で書ける、空⾏ 3 つの役の 指摘 取りまとめ 7件 直し⽅の案は 2 つ (名前が合うときだけ消す、論理削除にして戻せるようにする)。どちらにするかは⼈が決める 件数はこの 1 回のレビューのもの。流すたびに変わる © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 21
  18. 確かめる役も測る 確かめる役も測る 4 種の変更をレビュー役に流し、⾒逃しと当てすぎ (要らない所で⽌める) を測る 変更の種類 ⾒る問い 出てほしい結果 決まりに当たる変更

    違反を出せるか。決まりと場所を⽰すか 決まりの名前つきで⽌める 安全な反例 (安全な道に沿う) 余計な指摘を出さないか その決まりでは⽌めない 関係ない変更 雑⾳を出さないか ⽌める指摘なし 決まりの外の普通のバグ 普通のバグも捕まえるか そのバグで⽌める まず当たる変更、安全な反例、関係ない変更で試す (OpenAI)。⽌める例だけでは⽌めすぎる (Anthropic) 合否は決めた形の⾏をスクリプトで数える。答えの形を型で縛るとさらに確か。ハーネス全体を測る話は 10 © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 22
  19. 確かめる役も測る 予約アプリで 4 種を流した 4 種とも出てほしい結果になった。ただし 1 回の結果で、流すたびに変わる scripts/review-eval.sh: 4

    つの枝にレビュー役を流し、答えの⾏の頭を数えて合否を出す ◦ は種類ごとに決めた⾏があるか (例: 当たる変更は「[⽌める] API-1」の⾏)。助⾔は数えない 前の回は反例が既存のテストを落とし (読んで⾒⽴てた)、答えの形も数えられず、両⽅直して流した © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 23
  20. まとめ まとめ 作る役と確かめる役を分け、渡すものと決まりを先に決め、確かめる役も測る 1 ⾃分の採点は⽢い。確かめる役を分け、変更、要件、決まりだけを渡す 2 レビュー役は観点ごとに作り、採点の基準を両⽅に渡し、決まりは場所に置く 3 ⽌める指摘は 4

    つがそろうものだけ。確かめる役も 4 種の変更で測る 作る順: 1) ⽌める指摘の決まり、2) レビュー役を 1 つ、3) 当たる変更、安全な反例、 関係ない変更、普通のバグで測る、4) 役を増やし、取りまとめ役で並べる © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 25
  21. まとめ 次に読む資料 外れたときの被害を⼩さくするなら 06、PR ごとに流すなら 07、効いたかを測るなら 10 シリーズ 06 シリーズ

    07 シリーズ 10 ⽬指せ Kiro マスター 08 できることを囲う CI に載せる ハーネスが効いた Skill とカスタム 被害を⼩さくする PR ごとに流す かを測る エージェント 課題を作って採点 役の作り⽅ © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 26
  22. 付録 A1 予約アプリのレビュー役の設定と決まり .kiro/agents/design-reviewer.md (頭、要点) tools: ["read", "shell"] permissions: rules:

    - capability: shell match: ["git diff *", "git log *", "git show *"] effect: allow - capability: shell match: ["rm *", "git commit *", ...] effect: deny resources: (下の注) .kiro/review/blocking-rules.md (要点) ## 1 回で全部出す - 出す前にもう 1 度読み直す ## ⽌める指摘と助⾔ - 4 つがそろうものだけ⽌める: 場所、根拠、起きる条件、結果 - どれかが⾔えなければ助⾔ - 設計の懸念は戻せない選択だけ ## 直し⽅の⼤きさ - PR の⽬的に要る⼀番⼩さい直し - ⼤きい直しは issue に回す - 落ち⽅、⽳、データの消失は、 直しが⼤きくてもこの PR で直す resources は blocking-rules.md と README.md。ほかの 2 つの役は観点だけが違う © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 27
  23. 付録 A2 予約アプリの取りまとめ役と、レビュー役の本⽂ .kiro/agents/review-lead.md (頭、要点) tools: ["read", "subagent"] permissions: rules:

    - capability: subagent match: ["design-reviewer", "first-principles-reviewer", "ux-reviewer"] effect: allow - capability: shell match: ["git diff *", "git log *", "git show *", ...] effect: allow 本⽂ (要点) 取りまとめ役: 3 つの役に同時に頼む - 答えがそろったら 1 つの表に - ⽌める指摘を先に、役の名前つきで - 同じ指摘は 1 つにまとめる - 4 つがそろわない⽌める指摘は 助⾔に下げ、理由を書く - ⾃分では指摘を⾜さない design-reviewer の本⽂: 1. 今の作りに合っているか 2. ずっと簡単な作り⽅はないか 原因と使い勝⼿はほかの役が⾒る resources は blocking-rules.md。tools の subagent はどの役も起こせる (subagent/名前 で絞れる) © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 28
  24. 付録 A3 決まりを当てるレビュー役と、採点の基準 .kiro/agents/rules-reviewer.md (頭、要点) tools: ["read", "shell"] permissions: rules:

    - capability: shell match: ["git diff *", ...] effect: allow - capability: fs_read match: ["**"] effect: allow - capability: fs_read match: ["notes/**"] effect: deny 本⽂と api-rules.md (要点) - 変わったファイルに効く決まりを当て、 指摘に決まりの名前を書く - 決まりに無いバグも出す - 作った⼈の説明は読まない - ⾏の頭は [⽌める] か [助⾔] inclusion: fileMatch fileMatchPattern: "src/server/**" ## API-1 ⼀覧の返事の形を保つ - 項⽬の名前を変えない - 安全な道: 古い名前を残して⾜す resources は criteria.md (always の Steering。13 枚⽬の 4 つの基準と答え⽅) © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 29
  25. 付録 A4 ⽤語 ⽤語 確かめる役 取りまとめ役 意味 作ったものを採点する 役 (記事では評価役)

    レビュー役に頼み、答えを まとめる ⽤語 レビュー役 サブエージェント 意味 変更を⾒る、Kiro の カスタムエージェント ⾃分の⽂脈で動き、答えを 親に返す 何度も出る指摘を短く 採点の基準 原則と好みを書いた物差し 決まり ⽌める指摘 その PR で直す指摘 助⾔ 扱いを PR を書いた⼈が決める 安全な反例 決まりの安全な道に沿う変更 当てすぎ 要らない所で⽌めること fileMatch 合うファイルのときだけ読む resources 役が起動で読むファイル permissions 道具ごとに許す、聞く、拒む headless 画⾯を開かずに頼む使い⽅ © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 書いたもの 30
  26. 付録 A5 出典と参考 Kiro、2026-10、ブログ「Keeping a software factory stable at 1,000

    PRs a week」 https://kiro.dev/blog/software-factory-stability/ martinfowler.com (Thoughtworks の Birgitta Böckeler)、2026-04、coding agent を使う⼈のハーネス https://martinfowler.com/articles/harness-engineering.html Anthropic、2026-03、⻑い仕事のハーネスの設計 (計画役、⽣成役、評価役) https://www.anthropic.com/engineering/harness-design-long-running-apps Anthropic、2026-01、エージェントの評価の作り⽅ https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents Anthropic、2026-03、許可の判定をモデルの分類器に任せる記事 (URL に製品の名前が⼊るので載せない) Anthropic、2026-10、エージェントで増えた変更と版の管理の作り直し https://www.anthropic.com/engineering/redesigning-source-control © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 31
  27. 付録 A6 出典と参考 OpenAI、2026-07、レビューの決まりを指⽰のファイルに書いて AI のレビューに使わせる記事 (URL に他社の AI 開発ツールの名前が⼊るので載せない)

    OpenAI、2026-01、Skill を評価で確かめながら直す https://developers.openai.com/blog/eval-skills OpenAI、エージェントの SDK の⽂書 Guardrails and human review (⽇付なし、2026-11-09 に読んだ版) https://developers.openai.com/api/docs/guides/agents/guardrails-approvals Chroma、2025-07、⼊⼒が⻑いと性能が落ちる (Context Rot) https://research.trychroma.com/context-rot Kiro、2026-11-10 に読んだ版、ドキュメント (Steering、Custom agents ほか) と Kiro CLI の変更履歴 https://kiro.dev/docs/ https://kiro.dev/changelog/cli/ 記事は 2026-11-09 に本⽂を読み、2026-11-10 に読み直した。数はどれも、記事を出した所が⾃分で測った値 予約アプリは⽬指せ Kiro マスターで使ったものの写しで、公開していない。指摘の数は、その 1 回のもの © 2026, Amazon Web Services, Inc. or its affiliates. All rights reserved. 32