【要約】生成AIと20回改修して、Jupyter Notebook上に「3Dバーチャートレース」を作った話 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者がJupyter Notebook上で、直感的な3Dバーチャートレースを実現しようとした際、視認性と操作性の両立という課題に直面した。3D空間特有の制約が、従来の2Dグラフでは発生しなかった新たな問題を引き起こしたためである。
- ・3D空間におけるラベルの重なりや遮蔽。
- ・カメラ操作と棒のタップ選択の衝突。
- ・スマートフォンでの操作性の欠如。
- ・iframeが画面外でも描画を継続する負荷。
- ・データ量増加に伴うアニメーションの遅延。
// Approach
開発者は生成AIを設計のパートナーと定義し、実装前に複数の改修案を検証するプロセスを採用した。コードをいきなり書かせず、設計の妥当性を確認することで、副作用を最小限に抑えるアプローチをとっている。
- ・生成AIによる設計レビュー(実装前に原因調査と案の比較を行う)。
- ・厳格なパッチ適用(完全一致置換による変更範囲の最小化)。
- ・描画負荷の最適化(全データを保持しつつ、計算対象を上位N件に限定)。
- ・IntersectionObserverによるiframeの描画制御。
- ・3Dと2Dのハイブリッド構成(目的別の使い分け)。
// Result
開発者は、単なるグラフ表示を超えた「データ探索のためのUI」を完成させた。3Dのダイナミズムと2Dの正確性を、一つのPython関数から切り替えられる形で提供している。
- ・3Dグリッド、3Dリニア、2Dリニアの3モードを実現。
- ・スマホ対応(横スクロール、タッチ操作)の完遂。
- ・データ量に依存しないスムーズなアニメーション。
- ・Python関数1つで高度なWebアプリを起動可能にした。
Senior Engineer Insight
> AI駆動開発の本質は、コード生成速度ではなく「改善サイクルの回転数」にある。本件で特筆すべきは、AIに設計案を出させ、実装前に副作用を検証させる「設計レビュー」の工程だ。また、パッチ適用時に完全一致置換を用いるなど、AIの不確実性をエンジニアリングの規律で制御する姿勢は、実戦的である。さらに、「データ保持」と「描画計算」を分離する設計は、フロントエンドのパフォーマンス管理において極めて重要な定石である。