はじめに
今回は、私が実際にOpenAI・Claude・GeminiなどのAIモデルを使って、TypeScriptとPythonの大規模コードベースを読み解かせてみた実験結果を共有します。
結論から言うと、大規模プロダクトではTypeScriptの方が圧倒的にAIと相性が良いと感じました。
実験の背景
AIを使ってコードを読むシーンって色々ありますよね。
- 大規模リファクタの影響範囲を洗い出したい
- 既存コードの意図をサマリしてほしい
- バグ調査を手伝わせたい
- 設計変更に伴う修正をAIに丸投げしたい
こういう場面で「どの言語だとAIがよりうまく働いてくれるのか?」を自分なりに試しました。
TypeScriptを試して感じたこと
TypeScriptは型があることが何よりの強みです。
例えば:
- APIやDTOの型定義をAIに読ませると全体像を的確に把握してくれる
- 一括リファクタしても、型エラーが“壊れた場所リスト”として浮き上がる
- AIがちょっと外したコードを生成しても、ビルドエラーですぐ修正点が見える
Discriminated Unionやnever
チェックも試しましたが、漏れを強制的に洗い出してくれる仕組みはAIにとってもわかりやすいみたいです。
Pythonを試して感じたこと
Pythonはやっぱりシンプルで読みやすいので、AIが関数単位の要約やアルゴリズム説明をするのはめちゃくちゃ速いです。
ただし大規模になると一気に難しくなる印象がありました。
- 動的型なので、AIが推測に頼る場面が増える
- メタプログラミングや動的インポートが多いと、全体の流れをつかむのが苦手
- 破壊的変更の漏れを実行するまで気づけないケースがある
Pydanticやmypyを導入して型を“後付け”したらだいぶ改善しました。でも正直、最初から型で縛っておけるTypeScriptの方がAIを安心して任せやすいなというのが本音です。
体感での比較まとめ
実際にやってみての肌感をざっくり言うとこんな感じです。
- TypeScript → 大規模リファクタや設計変更でAIをガンガン使いたいならこっち!
- Python → 小規模なコードの解説やアルゴリズム理解なら速くて楽
特に「怖くない自動化」を目指すなら、TypeScriptは型のおかげでAIと人間の二重チェックができるので安心感があります。
まとめ
今回いろんなモデル(OpenAI/Claude/Gemini)で試しましたが、「大規模コードをAIに読ませて本番活用する」ならTypeScriptが現実解というのが私の結論です。
型と境界を整えておけば、AIは迷わず安全にコードを扱ってくれます。
ぜひ皆さんもAIコーディングを試すときは、「AIが読みやすい土台」をどう作るかを意識してみてください!