LLMを用いた大規模テスト移行の高速化
Airbnbは、LLMドライブンアプローチを使用して、EnzymeからReact Testing Library(RTL)への約3,500のReactコンポーネントテストファイルの移行を達成した。このタスクは、当初1.5年の労力が必要と推定されていたが、わずか6週間で完了した。移行には、オリジナルのテストの意図とコードカバレッジを保持したままテストファイルのリファクタリングが含まれていた。自動化されたパイプラインを構築し、バリデーション、リファクタステップ、およびリトライループを実装した。LLMには、コンポーネントコードや関連するテストなど、より多くのコンテキストを提供し、成功率を向上させた。「サンプル、チューン、スイープ」アプローチを使用して、プロンプトやスクリプトを改善し、完了率を75%から97%に向上させた。自動化は、移行の大部分を効率的に処理し、わずかな割合を手動での修正に残した。このプロジェクトは、テストの意図とコードカバレッジを維持し、手動での移行よりもはるかに速くてコスト効果的であった。この経験は、大規模なコード変換に対するLLMの力を示している。Airbnbは、開発者の生産性向上のためにLLMの使用を拡大する計画を持っており、複雑な問題を大規模に解くことを愛するエンジニアを募集している。