Files
hakorune/docs/research/paper-09-ai-collaboration-pitfall/incident-analysis.md
Moe Charm 7a0f9bd432 🚨 AI協調開発の危機回避事例を論文化(paper-09)
「ん?大丈夫?」の一言がPython特化ハードコーディングを防いだ事例を記録。
Everything is Box哲学 vs 技術的正しさの綱渡りからの生還を分析。

- docs/research/paper-09-ai-collaboration-pitfall/ を新規作成
  - incident-analysis.md: Lowerer特殊化危機の詳細分析
  - ai-collaboration-lessons.md: AI協調開発の教訓
  - intuition-in-engineering.md: エンジニアの直感の価値
  - summary.md: 綱渡りからの生還まとめ
- 研究論文の1論文1フォルダ原則に従い整理
- Python統合関連の実装修正とビルド成功確認

🛡️ Generated with Claude Code
2025-08-30 08:54:15 +09:00

2.4 KiB
Raw Blame History

事件分析Python統合における型システム特殊化の危機

1. 背景

  • 開発開始から1ヶ月でインタープリター→VM→JIT→AOT/ネイティブまで到達
  • 最終段階でPython統合PyRuntimeBoxを実装中
  • eval方式では完全にAOT対応unsupported=0達成
  • import/getattr/callの実装で問題発生

2. ChatGPT5の提案技術的には正しい

Lowerer強化Step 2: 
PyRuntimeBox.import/getattr → PyObjectBox
PyObjectBox.call を emit_plugin_invoke で実装

提案の内容

  • Lowererで型推論を実装
  • py.import("math") → PyObjectBox型として記録
  • math.getattr("sqrt") → 型情報を伝搬
  • sqrt.call(16) → 適切なplugin_invokeを生成

3. 潜在的な危険性

3.1 設計哲学の崩壊

Nyash: Everything is Box
 ↓
Python専用の型システム導入
 ↓
Everything is... Special Case???

3.2 実装の肥大化

// もし実装していたら...
match (receiver_type, method) {
    ("PyRuntimeBox", "import") => "PyObjectBox",
    ("FileBox", "open") => "FileHandle",
    ("DBBox", "query") => "ResultSet",
    ("GameBox", "spawn") => "GameObject",
    // 無限に増える特殊ケース
}

3.3 保守性の悪夢

  • 新しいプラグインごとにコンパイラ改修
  • JIT/Lowererが特定プラグインに依存
  • 汎用性の完全な喪失

4. 危機回避の瞬間

開発者の直感的疑問

「ん大丈夫JITのpython用のハードコーディングにならない汎用的につかえるやつ

この一言が引き金となり:

  1. 設計の本質的な問題に気づく
  2. ChatGPT5も即座に方向転換
  3. Handle-First の汎用設計へ

5. 根本原因の分析

5.1 爆速開発の心理

  • 「あと少しで完成」の興奮
  • 批判的思考の低下
  • 目の前の問題解決に集中しすぎ

5.2 パターン認識の罠

  • 他言語の常識Module型、Function型を持ち込む
  • Nyashの独自性を忘れる

5.3 AI協調の盲点

  • 技術的解決に集中
  • 「そもそも論」を問わない
  • お互いの提案を無批判に受け入れる傾向

6. 結論

技術的に正しい解決策が、必ずしも設計哲学的に正しいとは限らない。「Everything is Box」という原則を守ることで、より美しく保守性の高い設計が維持された。