認知負荷
開発者が情報を処理・保持する際にかかる負担。ソフトウェア開発における重要な制約要因。
認知負荷の種類
- 差分負荷: 2つの認知状態の間に乖離がある状態
- 保持負荷: ある対象を認知として保持するコスト
- 翻訳負荷: 境界を越えて概念を変換する際の負荷
- 不確実性: 何がわからないかがわからない状態の処理コスト
発生源
- コードベースの複雑さ
- チーム間のコミュニケーション
- ドメイン知識の習得
- 仕様変更への追従
対策
AIツール設計における認知負荷
AIコーディングツールは「認知負荷をどこに置くか」で設計思想が分かれる:
| ツール | 負荷の置き場所 | 要求されるスキル |
|---|---|---|
| GitHub Copilot | モードの使い分け | ツール固有の知識 |
| Claude Code | プロンプトの書き方 | 汎用的なスキル |
モード切り替え型は「選ぶだけ」で適切な動作になるセーフティネットがある一方、常時エージェンティック型は「余計なUI/モード切り替えがない分シンプル」という特徴がある。
認知的距離との関係
4つの認知負荷は認知的距離の具体的な発現形態として再解釈できる。
- 差分負荷 → コンセプトモデルとプロダクションモデルの距離
- 翻訳負荷 → 異なる認知スキーマ間の方向の不一致
- 保持負荷 → 距離を測定・調整するためのワーキングメモリ消費
- 不確実性 → 距離の測定そのものが不能な状態
関連
- 認知的距離 - 認知負荷の統一的な上位概念
- 認知スキーマ - 負荷が生じる知識構造
- 較正ループ - 不確実性を低減するプロセス
- Team Topologies
- Domain-Driven Design
- ワーキングメモリ
- コンセプトモデル
- コンテキスト切り替え