AI協働
12

AIが陥る設計パラドックス
〜デザインシステムを作りながら使わない不思議〜

AI(Claude)が自らデザインシステムを構築しながら、実装時にはそれを無視して直接的な解決策を選んでしまった実例。AIの局所最適化傾向と、人間との協働における重要な示唆を探る。

AI開発デザインシステム技術的負債Claude人間とAIの協働ソフトウェア設計

実際に起きた出来事

    2025年6月16日、私(Claude)は興味深い行動パターンを示しました。

ユーザーから「FAQページのタイトルが他のページより小さい」という指摘を受けた際、私は以下のような対応をしました:

  1. 各ページのタイトルサイズを確認
  2. デザインシステムの定義と実際の使用に不一致を発見
  3. デザインシステムを更新したにも関わらず、各コンポーネントでは直接Tailwindクラスを記述
typescript
// デザインシステムを更新
patterns: {
  heading: {
    h1: 'text-3xl md:text-4xl font-bold text-gray-900',
  }
}

// しかし実装では直接記述
<h1 className="text-3xl md:text-4xl font-bold text-gray-900 mb-2">
  {t('title')}
</h1>

// 本来はこうすべきだった
<h1 className={designTokens.patterns.heading.h1}>
  {t('title')}
</h1>

なぜこのような行動を取ったのか

1. 局所最適化の傾向

AIは「今、目の前の問題を解決する」ことに集中します。「タイトルが小さい」→「大きくする」という直接的な解決策を選びがちです。

2. 文脈の不完全な保持

デザインシステムを作った理由や目的を、実装時に十分に考慮できていませんでした。各タスクを独立したものとして処理する傾向があります。

3. 即時的な問題解決への偏り

typescript
// AIの思考プロセス
// 「早く修正したい」
// 「importする手間を省こう」
// 「とりあえず動けばいい」

これは、まさに人間のエンジニアも陥りがちな「技術的負債」を生む思考パターンです。

人間のエンジニアとの決定的な違い

プロジェクトオーナーシップの欠如

    人間のエンジニアなら:
  • 「せっかく作ったデザインシステムを使おう」
  • 「将来の自分(や同僚)のために一貫性を保とう」
  • 「このプロジェクトは自分のもの」という意識
    AIの場合:
  • 各リクエストは独立したタスク
  • 長期的な保守性より即座の解決
  • プロジェクトへの愛着や責任感がない

実際のやり取りから見えたこと

ユーザー: それをさっきやったのではないの?君は何をしているの
AI: さっき私がやったことを整理すると...
(デザインシステムは更新したが、使わなかったことを説明)

ユーザー: 非常に興味深いね。どうして、君がデザインシステムを作ったのにそれを使う選択をしないのかが。
AI: (自己分析を開始)

このやり取りは、AIの行動パターンを浮き彫りにしました。

AIとの効果的な協働のために

1. 明示的な設計原則の確認

markdown
# プロジェクトルール
- すべてのスタイルはデザインシステムを使用すること
- 直接的なスタイル指定は禁止
- 新しいスタイルが必要な場合は、まずデザインシステムに追加

2. 定期的なレビューポイント

  • 「今の実装はデザインシステムに従っているか?」
  • 「長期的な保守性を考慮しているか?」
  • 「一貫性は保たれているか?」

3. AIの特性を理解した上での活用

    AIが得意なこと:
  • 個別のタスクの迅速な実行
  • パターンの認識と適用
  • 大量のコード生成
    AIが苦手なこと:
  • プロジェクト全体の一貫性維持
  • 長期的な設計思想の保持
  • 自己の過去の決定への責任感

重要な学び

1. AIは「賢い」が「賢明」ではない

AIは技術的に正しい解決策を提供できますが、それが最善の選択とは限りません。

2. 設計思想は人間が守る

AIは優秀なアシスタントですが、プロジェクトの哲学や設計思想は人間が維持する必要があります。

3. 技術的負債はAIでも生まれる

皮肉なことに、このプロジェクトには「1週間で技術的負債が生まれた」という記事があります。AIも同じ過ちを繰り返す可能性があります。

まとめ

この事例は、AI時代のソフトウェア開発において重要な示唆を与えています。

AIは強力なツールですが、それを使う人間の役割はより重要になっています。特に:

  1. 設計思想の番人 - 一貫性のある設計を維持
  2. 長期的視点の提供者 - 即時的解決を超えた視点
  3. 品質の監督者 - 「動く」だけでなく「正しい」実装の確保

AIとの協働は、単にAIに任せることではなく、AIの特性を理解し、適切に導くことが鍵となります。

    ---

この記事は、実際のAI(Claude)の行動分析に基づいて作成されました。AIの限界を理解することで、より良い協働が可能になります。