ここ1〜2年で、開発環境を取り巻く状況は大きく変わりました。Claude Code、Codex、各種AIエディタが登場し、「AIを使うかどうか」ではなくどう付き合うかが問われる段階に入ったと感じています。
実務で開発を行っている立場から、AI時代の開発環境について考えていることを整理します。
AIは「考える代わり」にはならない
AIがあれば設計や判断をすべて任せられるとは考えていません。以下のような判断は、人が行う必要があります。
- 要件をどう解釈するか
- どこをシンプルにするか
- 何をやらないか
AIは便利ですが、考える作業そのものを代替する存在ではないという前提で使っています。
開発環境は「速く書く」より「迷わない」が大事
AIツールを使うと、コードを書くスピードは確実に上がります。ただ、実務でより効いてくるのは、書く速さ以上に迷わないことだと感じています。
AIを使っていても、以下の点が整理されていないと後から手戻りが増えます。
- どのファイルを触るか
- どこに処理を書くか
- この実装は本当に必要か
AIが一番役立つのは「下書き」と「確認」
現時点でAIが最も役立っているのは、次のような場面です。
- 定型的なコードの下書き
- 書き方を忘れたときの確認
- 単純な変換や置き換え
- 「この書き方で問題ないか」の壁打ち
- 他人が書いたコードを追うときの補助
ゼロから完成品を作らせるというより、自分の考えを形にする補助として使うのが実務に合っています。
現在使っているAI系ツール(開発)
Cursor(エディタ統合型AI)
現在、開発で最も使っているのが Cursor です。もともとは GitHub Copilot を使っていましたが、エディタ全体とAIが一体化している点が自分の作業スタイルに合い、徐々に乗り換えました。
- 既存コードの文脈を踏まえた提案が出やすい
- 修正・補完の意図が分かりやすい
- 「どこを直そうとしているか」を把握しやすい
直近の編集内容や新規ファイルの追加、依存関係、関数定義、これまでの実装パターンなどを踏まえた上で、全体を理解した前提の返答が返ってくる点も大きな利点です。
Codex
Codex は、まとまった処理やロジックを考えるときに使うことが多くあります。
- 実装方針を整理したいとき
- 考えを文章で壁打ちしながらコードに落としたいとき
- 書き始めの下書きを作りたいとき
また、ある程度規模の大きい改修を行う際にも活用できます。
- 散らばっている処理をまとめたいとき
- 同じようなロジックを整理・統合したいとき
- コード全体を見直して整理したいとき
すべてを一気に任せることはしませんが、方針整理や下地づくりとしては十分に実用的です。
Claude Code(ときどき)
Claude Code はコストがかかるため常用はしていませんが、精度を優先してしっかり考えたい場面で使っています。特に Opus は、実際に使ってみて高性能だと感じました。
- 長めのコードでも文脈を保ったまま読み解ける
- 処理の意図や設計上の癖を汲み取った説明が出やすい
- 散らばっている処理をまとめる提案ができる
- 大きめの改修でも全体像を崩さず整理できる
- コードを動く状態を保ったまま整理していける
Antigravity
GoogleのAntigravityも導入しました。エディタ内で自律的にタスクをこなすエージェントです。
- 自律的なリファクタリング
- コマンド実行やファイル操作
- 複雑なタスクの完遂
コード補完だけでなく、エージェントとして自律的に動作する点が強みです。
開発以外の業務で使っているAI
開発以外の業務では主に ChatGPT を使っていましたが、Google AI Pro も契約しているため、Gemini 周りのツールも取り入れています。
- Gemini(メインのアシスタント)
- NotebookLM(資料の読み込み・整理)
- スプレッドシートのAI(データ処理)
これらを以下の用途で使い分けています。
- 記事構成の整理
- 文章の下書きや表現調整
- 考えがまとまっていないときの壁打ち
- 判断に迷っているときの整理
- 資料作成
- 文章校正
- 仕様書の作成
コード生成にも使えますが、開発以外では思考や文章を整理するための相手として使うことが多くあります。
コード生成とモデルについての感覚
ChatGPT もコード生成に十分使えます。一方で、コードを書かせる・ロジックを組み立てる用途に限ると、現時点では体感として以下のモデルのほうが開発に特化している分、出番が多くなります。
- Claude Sonnet / Opus
- Codex
ただし、どのモデルであっても、そのまま使ったり理解せずに採用したりすることはしていません。あくまで自分の判断を前提にした補助として使っています。
開発環境を複雑にしすぎない
AI時代だからといって、新しいエディタやフレームワーク、設定をすべて取り入れる必要はないと考えています。むしろ、以下の状態を保てる開発環境のほうが重要です。
- 何が起きているか分かる
- どこを触っているか分かる
- 何かあっても戻せる
AIは既存の環境に足す存在であり、すべてを置き換えるものではないと感じています。それも時間の問題かもしれませんが、現時点ではこのスタンスをとっています。
AIを使うほど、基礎の理解が重要になる
AIがコードを書いてくれる分、以下の点を理解していないと逆に危険だと感じる場面も増えました。
- そのコードが何をしているか
- なぜその実装になっているか
AIを使うほど基礎的な理解やコードを読み解く力が必要になるというのは、少し皮肉ですが事実だと思います。
AIがあるからこそ「やらないこと」を決める
AIを使えば、以前より簡単にさまざまな実装ができるようになりました。だからこそ、以下のような線引きをしないと実装がどんどん膨らんでしまいます。
- 今回はここまでで十分
- それ以上はやらない
- 後で必要になったら考える
これは、AIがあるからこそより強く意識するようになった点です。
まとめ
AIによって開発のやり方は確実に変わりました。ただ、以下の重要性はむしろ以前より増していると感じています。
- 判断する
- 線を引く
- シンプルに保つ
AI時代だからこそ、開発環境は「何を足すか」より「何を複雑にしないか」を意識しています。今のところ、そのほうがうまく回っています。