🛡️

#22 エージェントの視点がぶつからないための設計

に公開

#22 エージェントの視点がぶつからないための設計

― “衝突を防ぐ構造” をどう作るか ―

前回は、役割が増えすぎたときに
視点を整理し、統合する方法を扱った。

しかし、整理したとしても、
視点同士がぶつかる可能性は常に残る。

そこで今回は、
そもそも視点がぶつからないように設計する方法 を扱う。


🎯 衝突を防ぐために必要なこと

視点の衝突は、次のようなときに起きる。

  • 判断軸が曖昧
  • 視点の境界が重なっている
  • Blue(生成)が複数の指示を同時に満たせない
  • 調停(Mediator)が判断に迷う

つまり、
視点の境界線が曖昧だと衝突が起きる。


🧩 衝突を防ぐ3つの設計原則

視点がぶつからないためには、
次の3つの原則が重要になる。

  1. 視点の境界線を明確にする
  2. 判断軸を分離する
  3. Blue が迷わない指示構造にする

1. 視点の境界線を明確にする

まず必要なのは、
視点ごとの“担当範囲”を明確にすること。

▼ 視点の境界線

視点 担当範囲 境界線
Green(仕様) 要件・意図 「正しさ」
Red(品質) 品質基準 「安全性」
Meta(改善) 構造改善 「最適化」
Blue(生成) 実装・生成 「実現」
White(整形) 表現・読みやすさ 「伝わりやすさ」

境界線が明確だと、視点同士が同じ領域を触らなくなる。


2. 判断軸を分離する

次に重要なのは、
視点ごとに“判断軸”を分離すること。

▼ 判断軸の分離

Green:仕様の正しさ
Red:品質の安定性
Meta:改善の方向性
Blue:生成の実現性
White:表現の読みやすさ

判断軸が重なると衝突が起きる。
逆に、判断軸が分離されていれば、
視点は自然と独立して動く。


3. Blue が迷わない指示構造にする

最後に、Blue(生成)が迷わないように指示を整理すること。

▼ Blue が迷わない指示構造

Green → 「何を作るべきか」
Red → 「どの基準を守るべきか」
Meta → 「どう改善すべきか」
White → 「どう表現すべきか」

Blue が受け取る指示が 役割ごとに明確に分かれている ことが重要。


🧪 衝突予防の疑似コード(抽象モデル)

def generate(blue, inputs):
    spec     = inputs["spec"]      # Green
    quality  = inputs["quality"]   # Red
    improve  = inputs["improve"]   # Meta
    format   = inputs["format"]    # White

    # 判断軸を分離して処理
    draft = blue.create(spec)
    checked = apply_quality_rules(draft, quality)
    improved = apply_improvement(checked, improve)
    final = apply_formatting(improved, format)

    return final

判断軸を分離すると、
Blue は迷わずに処理できる。

🧠 衝突予防がもたらした効果

  • 視点同士の干渉が減る
  • Blue の迷いがなくなる
  • 調停の負荷が軽くなる
  • 改善がスムーズに進む
  • 全体の構造が安定する
  • 視点が増えても破綻しない
    特に、
    境界線の明確化 → 判断軸の分離 → 指示構造の整理
    の3段階が非常に効いた。

📚 この時期の学び

  • 衝突は“設計で防げる”
  • 境界線が曖昧だと衝突が起きる
  • 判断軸を分離すると視点が独立する
  • Blue が迷わない構造が最も重要
  • 衝突予防はチームの安定化フェーズ

📝 一般的な技法との対応(今回)

  • Separation of Concerns(関心の分離)
    役割ごとに担当範囲を分ける基本原則。
  • Single Responsibility Principle(単一責任原則)
    視点ごとに“1つの責任”を持たせる考え方。
  • Decision Axis Design(判断軸設計)
    判断基準を分離して衝突を防ぐ技法。
  • Instruction Layering(指示の階層化)
    Blue が迷わないように指示を整理する手法。
  • Conflict Prevention Architecture(衝突予防アーキテクチャ)
    衝突を未然に防ぐ構造設計。
    → 今回の「衝突予防」は、これらの一般的な考え方をエージェント開発に応用したものです。

🚀 次回予告:第23回
“エージェントの視点を ‘階層化’ すると何が起きるか?”

  • 視点のレイヤー化
  • 上位視点と下位視点
  • Blue の負荷軽減
  • 調停の階層化

ここから、エージェント開発は“視点の階層化フェーズ” に進んでいく。

Discussion