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

AI を思い通りに制御するための3層のハーネス

AI を思い通りに制御するための3層のハーネス

Avatar for わたり

わたり

July 23, 2026

More Decks by わたり

Other Decks in Programming

Transcript

  1. わたり @rapicro • 株式会社スマレジ ◦ • • 開発本部プロダクト推進チーム ◦ 現在はPOSシステム開発中心

    活動 ◦ PHPカンファレンス関西コアスタッフ他 趣味 ◦ ゲーム全般 ◦ 甘い物 ◦ カメラ ◦ ガチャガチャ
  2. 目次 01 解決したい課題と基本方針 02 3 層のハーネスの全体像 03 物理層:コードそのもの 04 運用層:AI

    エージェント 05 ガバナンス層:人による評価と改善 06 現場導入へのステップ
  3. 結論 ループを支えるのは、 3 層の「ハーネス」 物理層 × 運用層 × ガバナンス層 ループが大きく回るほど、AI

    の迷いも増幅される。 鍵は指示の量ではなく、コード・AI・人の 3 層への情報配置。
  4. 3層のハーネスで制御する AI の制御は指示や設定だけではなく、レイヤーごとに責務を分ける。 1 2 3 物理層 運用層 ガバナンス層 コードそのもの

    ドメインモデル クラス構造 コメント → AI エージェント AGENTS.md Skills ループ → 人による評価 /調整 レビュー 他の層の改善
  5. 物理層 物理層で目指す状態 Project as Code: コードを「仕様」に近づける ドメインモデルの強化 AIが関連ファイルを探索しなくても、コード構造や周辺コメントから仕様が自明な状態を作る 判断の理由となる 1次情報を記載する

    コメントで外部API仕様書へのリンクを記載するなど、設計の「なぜ」を記載し逸脱を防ぐ 仕様が先にあり、それをコードに反映する ※「今動いているものを仕様とみなす」のではない
  6. 運用層 AI エージェント制御 コードだけで表現しづらいものを扱うレイヤー。 ただし、コンテキストを汚染しないように適切な場所へ隔離する。 ※下記名称は Codex / Claude Code

    の例だが、多くのエージェントに相当機能がある。 AGENTS.md: ディレクトリごとの役割 オーケストレーション : 役割毎の分担処理 Skills: 構造を超えた指示 hooks: 実行前後のガードレール
  7. 運用層 Skills AGENTS.md だけでは扱いにくい、動的な判断やまとまった手順を切り出す。 明示的に呼び出すスキル 暗黙的に呼び出すスキル まとまった作業手順として使う タスク内容から必要性を判断する 例:レビュースキル ・ブランチ名から

    Issue を取得する ・仕様と実装が合っているか確認する ・レビュー観点に沿って指摘を出す 用途 ・AGENTS.md では粒度が合わないもの ・特定の作業種別でだけ効かせたいもの ・共通化したいが常時適用したくないもの 例: DDDで同様の構成が並列で存在する場合に有用 暗黙呼び出しを切ることで、呼び出し時以外はコンテキス トに関与しない 段階的開示とはいえ、 関係ない作業でも常にコンテキス トを食う ので用途を絞る
  8. 運用層 hooks AI に「守ってほしい」と頼むのではなく、実行前後に決定的な処理を差し込む仕組み。 実行前 PreToolUse 例: 危険なコマンドを検査する 実行後 PostToolUse

    例: 変更後のファイルチェックを走らせる 完了前 Stop 例: 応答完了時に全体にカスタムバリデーションを実行する
  9. 実際にあった失敗例 あるメンバーが内容的には xxx/service を修正してほしい状況で、 AI が xxx/templates を変更してその場しのぎの対応をした。 ▼ 修正し、対策として「再発防止して」とAIに指示。

    AIがホームディレクトリのスキルに「xxx/service を優先的に変更する」と書いた。 ▼ 次のタスクでは、要件は満たすもののコード配置がおかしい変更が発生。 レビューにより「AIの指示がおかしいのでは?」とホームディレクトリのスキルが発覚。
  10. 実例 この失敗に、 3層でどう対処したか 発見はレビューから。対処を適切な層へ配置した。 1 ガバナンス層(人): レビューで「コードの配置がおかしい」と気づき、原因がホーム ディレクトリの指示だと特定した ↓ 2

    運用層(AI エージェント): ディレクトリの AGENTS.md に責務を記載し、個人環境で はなくリポジトリ内で共有する形にした ↓ 3 物理層(コード): その場しのぎの変更を、ドメインモデルを意識した形のコードへ修 正(この層の対処は最小限で済んだ)
  11. まとめ: 3 層の使い分け レイヤー 役割 例 物理層(コード) 仕様をコードに埋め込む ドメインモデル、責務分離、 Deprecated

    運用層 (AIエージェント) AI へ作業ルールを渡す AGENTS.md、Skills、 hooks、オーケストレーション ガバナンス層(人) 出力を評価し調整する レビュー、評価ループ AI制御とは、指示を増やすことではなく、情報を適切な層へ配置すること
  12. 【非公式】 AI DevEx Conference 2026 スマレジセッション 深掘り会 We are Hiring!

    メンバー募集中! カジュアル面談も大歓迎 詳細はQRコードから! 2026年8月26日(水) 19:00~ ※オンライン ご清聴ありがとうございました Thank you for your attention