VS CodeとPyCharmの比較では、以前から同じような結論が語られてきた。
- 軽さや拡張性ならVS Code
- Pythonの統合環境ならPyCharm
- 無料で柔軟に組みたいならVS Code
- 最初から一通り揃っていてほしいならPyCharm
正直、ここまでなら今さら記事にするほどでもない。
しかし、GitHub Copilotやコーディングエージェントが複数ファイルを変更し、テストまで実行するようになってから、IDEを選ぶ基準は少し変わった。
自分も最初は、
どちらのほうがAIを賢く使えるのか
を比べようとしていた。
だが、PythonのOSSやWebサービスで両方を使ううちに、もっと重要な違いに気づいた。
AI時代のIDE選びで見るべきなのは、どちらが速くコードを生成するかではない。
AIが間違えたとき、どちらなら早く止められるかだ。
同じAIを使えば、IDEの差はなくなると思っていた
同じGitHub Copilotを入れ、同じモデルを選び、同じリポジトリを開く。
そうすれば、VS CodeでもPyCharmでも、得られる結果はほとんど同じになる。
以前はそう考えていた。
実際、短い関数を生成したり、エラーの原因を聞いたりするだけなら、大きな差を感じないこともある。
from collections.abc import Sequence
from typing import TypeVar
T = TypeVar("T")
def chunked(items: Sequence[T], size: int) -> list[list[T]]:
"""要素を指定したサイズごとに分割する。"""
if size <= 0:
raise ValueError("size must be greater than 0")
return [list(items[index:index + size]) for index in range(0, len(items), size)]
この程度の処理なら、重要なのはAIモデルの性能であり、IDEの違いは小さい。
ところが、依頼が次のようになると事情が変わる。
公開クラスの名前を変更してください。
条件:
- 既存利用者との互換性を維持する
- テストとドキュメントも更新する
- 無関係なリファクタリングは行わない
AIが扱う範囲は、一つの関数からプロジェクト全体へ広がる。
- クラス本体
- import
-
__init__.pyの公開定義 - 型ヒント
- テスト
- サンプルコード
- ドキュメント
- 後方互換用のエイリアス
ここから先は、AIがコードを書けるかどうかだけでは決まらない。
どのファイルを変更したのか、何を見落としたのか、人間がどのように確かめられるのかが重要になる。
AI時代に増えたのは、コードではなく「判断待ち」
AIを導入すると、コードが表示されるまでの時間は短くなる。
しかし、生成された変更をそのまま採用できるとは限らない。
AIが主に高速化するのは、前半の調査と変更だ。
一方、人間には後半が残る。
- この変更は要件に合っているか
- 公開APIを壊していないか
- 変更されなかったファイルに問題はないか
- テストが通っただけで安全と判断してよいか
- AIが勝手に前提を補っていないか
AIが書く量が増えるほど、人間の前には「判断待ち」のコードが積み上がる。
ここで、VS CodeとPyCharmの性格の違いが出てくる。
VS Codeは、AIに仕事を進めさせるのがうまい
現在のVS Codeは、単なる軽量エディタではない。
エージェントへ自然言語で依頼し、計画、複数ファイルの編集、コマンド実行、失敗後の再修正まで進めさせられる。
複数のエージェント作業を管理する方向にも進化している。
たとえば、
APIのレスポンス型を整理し、
関連するフロントエンドの型定義とテストも更新してください。
というように、Python、TypeScript、設定ファイル、テストをまたぐ作業をまとめて任せたい場合、VS Codeは自然に扱いやすい。
自分も、Node.js、Vite、TypeScriptを中心に触る場合や、Markdown、YAML、JSONを素早く編集する場合はVS Codeを選びやすい。
VS Codeの強みは、単に起動が軽いことではない。
作業を細かく操作するより、目的を渡して前へ進めさせることに向いている。
プロトタイプや、失敗してもすぐ作り直せる機能では、この速さがそのまま価値になる。
PyCharmは、AIの変更を止めるのがうまい
PyCharmにもAI Assistantやコーディングエージェントがあり、AIへ変更を依頼できる。
それでも、自分がPythonの中心部分を触るときにPyCharmを使う理由は、AIの生成性能だけではない。
PyCharmでは、コードインスペクションがプロジェクト内の問題を検出する。
- 未使用コード
- 解決できない参照
- 起こり得る不具合
- 型や呼び出しの不整合
- コード構造上の問題
さらに、一部のリファクタリングでは適用前に変更対象を一覧化し、不要な箇所を除外したり、競合箇所を確認したりできる。
これは地味に見える。
しかしAIが大量の変更を出すようになると、この地味な機能の価値が上がる。
AIが、
関連箇所をすべて変更しました
と言ったとしても、それを信用する必要はない。
IDE側で参照箇所を調べ、変更対象を確認し、未解決の参照や警告を見る。
つまりPyCharmでは、次の複数の層で判断できる。
AIの回答
+
IDEによる別系統の解析
+
人間による差分確認
PyCharmを使えば、AIの変更が自動的に安全になるわけではない。
インスペクションで検出できない仕様違反、並行処理の問題、性能低下、後方互換性の破壊もある。最終的なテストと判断は必要になる。
PyCharmの強みは、AIが間違えなくなることではない。
AIの説明とは別の根拠で、間違いを疑えること
だと思っている。
「作る速度」と「止める速度」は別の性能だった
ここで、自分の中ではIDEの見方が変わった。
以前は、IDEの性能を次のように考えていた。
補完の速さ
+ 検索の速さ
+ コード生成の速さ
= 開発の速さ
しかしAIを使う現在は、次の要素も必要になる。
開発の速さ
= 作る速度
+ 間違いを見つける速度
+ 安全に捨てる速度
AIが速くコードを作っても、間違いを見つけるまでに時間がかかれば、全体は速くならない。
逆に、生成速度が少し遅くても、不要な変更をすぐ捨てられるなら、結果的に早く終わる場合がある。
この「止める速度」は、AI以前には今ほど目立たなかった。
人間が自分で書いたコードなら、少なくとも書いた理由は本人が覚えている。
しかしAIが作ったコードでは、まず「なぜこうしたのか」を読み解くところから始まる。
選ぶ基準は、AIが失敗したときの損失
結局、VS CodeとPyCharmのどちらを選ぶべきか。
自分は、機能数ではなく間違った変更を採用した場合の損失で考えるようになった。
| 作業 | 自分なら選ぶ | 理由 |
|---|---|---|
| 新しいUIの試作 | VS Code | 捨てて作り直しやすい |
| TypeScript・Vite中心の開発 | VS Code | 複数技術を横断しやすい |
| AIへ複数タスクを任せる | VS Code | エージェント中心で進めやすい |
| Markdownや設定ファイルの修正 | VS Code | 起動と編集が軽い |
| Pythonライブラリの公開API変更 | PyCharm | 参照と影響範囲を確認したい |
| 長期間保守するPythonバックエンド | PyCharm | 警告や型、構造を追いやすい |
| データ保存処理の変更 | PyCharm | 間違った変更の損失が大きい |
| 大規模なPythonリファクタリング | PyCharm | 適用前に変更箇所を確認したい |
失敗してもすぐ作り直せる仕事ではVS Code。
間違ったまま残ると困るPythonコードではPyCharm。
これはVS Codeの解析が弱いという意味ではない。
また、PyCharmでエージェントを使えないという意味でもない。
両方とも高機能になったからこそ、比較軸を「できる・できない」から「どちらの失敗へ強いか」に移す必要がある。
自分が一つに統一しない理由
現在、自分はすべての開発を一つのIDEへ統一していない。
- Pythonライブラリやバックエンドの中心部分:PyCharm
- TypeScript、Vite、Node.js:VS Code
- Markdown、YAML、軽微な修正:VS Code
- Pythonの型、参照、リファクタリング確認:PyCharm
- AIへ広い範囲を調査・変更させる作業:VS Code
- AIが作った変更を自分で追う作業:PyCharm
以前は、開発環境を一つに統一したほうが効率的だと思っていた。
しかしAIが作業を引き受ける範囲が増えるほど、IDEに求める役割も分かれてきた。
VS Codeは、仕事を渡して進める場所。
PyCharmは、Pythonコードに自分が責任を持つ場所。
自分の中では、その分け方が一番しっくりくる。
まとめ
VS CodeとPyCharmの比較を、軽さや機能数だけで終わらせる時代ではなくなった。
- VS CodeはAIへ広い作業を委任しやすい
- PyCharmはPythonの変更を人間が検証しやすい
- AIが作る速度と、間違いを止める速度は別物
- 失敗しても作り直せる作業ならVS Codeが強い
- 間違った変更の損失が大きいPython開発ならPyCharmが強い
- 一つへ統一せず、責任の持ち方で使い分けてもよい
「AIが強いIDEはどちらか」と聞かれたら、以前の自分なら機能を並べて比較していた。
今なら、先にこう聞く。
そのAIが間違えたとき、あなたはどこで気づきたいですか。
AI時代のIDE選びは、コードを書かせる道具を選ぶことではない。
AIの間違いに、どのように責任を持つかを選ぶことなのだと思う。