Files
hakorune/docs/private/papers/paper-g-ai-assisted-compiler/key-insights.md
Selfhosting Dev d5af6b1d48 docs: Create AI-assisted compiler development paper structure
Added paper-g-ai-assisted-compiler folder documenting:
- Week-long LLVM backend development with AI assistance
- Key insights from PHI/SSA struggles to Resolver API solution
- Development log capturing the chaotic reality
- Abstract in both English and Japanese

Key quote: 'I don't remember anymore' - capturing the authentic
experience of intensive AI-assisted development where the process
itself becomes the research data.

This represents potentially the first fully documented case of
building a compiler backend primarily through AI assistance.
2025-09-12 20:27:32 +09:00

2.1 KiB
Raw Blame History

Key Insights: AI支援コンパイラ開発から得られた知見

🎯 技術的知見

1. 最小化の限界

  • MIR 27→13→14命令への進化
  • 「もうこれ以上簡単にできないにゃー」
  • UnaryOp復活の実用的判断

2. LoopFormの真実

  • 問題の原因ではなく、問題を顕在化させた構造
  • 「すべてをループのスコープにする」シンプルな理念
  • 既存設計の弱点を浮き彫りに

3. 設計のブレと修正

  • 値解決の分散 → Resolver APIで統一
  • 型変換の不統一 → 局所化の徹底
  • PHI配線の曖昧さ → Sealed SSAで解決

🤝 AI×人間の協調

成功パターン

  1. 人間: 設計原則の提示Box理論、LoopForm
  2. AI: 具体的なRustコード実装
  3. 人間: エラー報告と方向修正
  4. AI: 詳細な調査と解決策提案

失敗パターン

  • AIの提案を鵜呑み → 設計の一貫性崩壊
  • 問題の本質を見誤る → 「LoopForm特有」という誤解
  • 最適化の誘惑 → 支配関係違反

💡 方法論的発見

1. 「遅くてOK」の価値

  • 正しさ優先、最適化は後回し
  • 冗長な局所化を許容
  • まず動くものを作る

2. Python移行の合理性

  • 「恥じゃない、実用的な解決策」
  • llvmliteで100行 vs Rust/inkwellで数千行
  • デバッグの容易さ

3. 記録の重要性

  • 「もう覚えてないにゃー」でも大丈夫
  • Gitコミット、CURRENT_TASK.mdが証拠
  • 混沌も含めて研究データ

🚀 将来への示唆

AI支援開発の可能性

  • コンパイラのような複雑なソフトウェアも構築可能
  • ただし、人間の設計判断は不可欠
  • 失敗と修正のサイクルが重要

新しい開発スタイル

  • 対話的開発人間×AI
  • 高速プロトタイピング
  • 言語の壁を越えるPython/Rust混在

教育への影響

  • AIとの協調作業スキルが必須に
  • 設計原則の理解がより重要に
  • 実装詳細よりアーキテクチャ