Files
hakorune/docs/private/research/paper-09-ai-collaboration-pitfall/incident-analysis.md

79 lines
2.4 KiB
Markdown
Raw Normal View 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 実装の肥大化
```rust
// もし実装していたら...
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」という原則を守ることで、より美しく保守性の高い設計が維持された。