🛡️
#22 エージェントの視点がぶつからないための設計
#22 エージェントの視点がぶつからないための設計
― “衝突を防ぐ構造” をどう作るか ―
前回は、役割が増えすぎたときに
視点を整理し、統合する方法を扱った。
しかし、整理したとしても、
視点同士がぶつかる可能性は常に残る。
そこで今回は、
そもそも視点がぶつからないように設計する方法 を扱う。
🎯 衝突を防ぐために必要なこと
視点の衝突は、次のようなときに起きる。
- 判断軸が曖昧
- 視点の境界が重なっている
- Blue(生成)が複数の指示を同時に満たせない
- 調停(Mediator)が判断に迷う
つまり、
視点の境界線が曖昧だと衝突が起きる。
🧩 衝突を防ぐ3つの設計原則
視点がぶつからないためには、
次の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