ENECHANGE Developer Blog

ENECHANGE開発者ブログ

Claude Maxは、Rails開発の“気が利きすぎる相棒”だった

こんにちは、ENECHANGEでRailsエンジニアをしている酒井です。

弊社ではAIを使った開発を積極的に推進しており、私が担当するEVアプリプロジェクトではClaude Maxを本格導入しました。

コーディング補助はもちろん、RSpecの生成や仕様書の作成補助までを一貫して担っており、もはや「ちょっと試してみる」段階は完全に超えたと感じています。

生成AIを開発業務に活用する流れは広がりつつありますが、「本当に実務で使えるのか?」という疑問を持つ方も多いと思います。

この記事では、Claude Maxをコーディング支援&仕様書作成ツールとして実際に使ってみた感想を、Railsエンジニア目線で正直にまとめてみました。


Claude Maxを使った目的とユースケース

実際に使ったのは、主に以下のような場面です:

  • モデルやサービスクラスの実装の叩き台を作る
  • コントローラの振る舞いや責務を壁打ちする
  • RSpecのテストコードのベースを生成する
  • 既存コードに合わせたスタイルで書かせる
  • 実装済みの機能から仕様書をMarkdownで生成する ←とても便利

良かった点①:コードの「空気を読む」能力

Claude Maxは、既に存在しているコードベースにある程度沿った実装を提案してくれます

例えば、サービスクラスの名前の付け方やエラーハンドリングの構文、スコープの分け方など、Railsプロジェクト特有の文脈を読み取ってくれる印象がありました。

特に「このプロジェクト、ServiceObjectパターンで書かれてるな」と察した上で、似たような構成を真似してくる点は地味に助かります。


良かった点②:RSpecやSwaggerの更新も“言わずとも”書いてくれる

Claude Maxに「この機能を実装して」と依頼したところ、RSpecのテストコードをこちらが指示しなくても自動で添えてくれたのは驚きでした。構文ミスも少なく、エッジケースの網羅もそこそこ意識されており、初期のたたき台として非常に助かります。

さらに驚いたのが、SwaggerのAPIドキュメント更新まで自動で含めてくれたことです。

これらは「RSpecも書いて」「Swaggerも更新して」といった指示を出していない状態で自然に付いてきたアウトプットでした。

ちなみに、Clineでも同様の用途を試しましたが、テストコードやSwaggerの更新については明示的に指示しないと出力されない印象でした
一方でClaude Maxは、それらをこちらが要求する前に自発的に提案してくれる場面が多く、「次に必要な作業」を先回りしてくれる感覚がありました


注意点①:一発で期待通りにはならない

Claude Maxが出力するコードが、初回から期待どおりにピタッとはまることは少ないです。むしろ、

方向性は悪くないが、コードに過不足があるという印象を受けます。

人間のペアプロ相手と同じように、「ここもう少しこうして」とフィードバックを繰り返すことで精度を高めていく必要があります。


注意点②:文脈に引きずられすぎることがある

Claude Maxは、既存のコードの文脈をよく読み取って提案してくれますが、その文脈を強く意識しすぎるあまり、実装意図を超えて不要な処理を含めてしまうことがあります。

たとえば今回、あるフィルタ機能に「Aという条件だけで絞りたい」というシンプルな要望を出したつもりでしたが、Claude Maxは既存の類似機能で使われていた「Bの条件」まで含めたSQLを提案してきました。

この挙動は、過去の実装パターンに“引きずられた”結果と考えられます。

こちらの指示がやや抽象的だったことも原因で、「文脈をよく読む」という長所が裏目に出た形です。

このようなケースでは、「今回の要件ではAのみでよい。Bは除外してほしい」と明示的に伝えることで、きちんと修正された提案を返してくれました。


コードから仕様書を作ってくれるのが本当に便利だった

今回、Claude Maxの思わぬ強みだったのが「実装済みのコードから仕様書をMarkdownで生成してくれる」機能です。

あるAPIエンドポイントに新しいパラメータを追加する機能を実装した際に、そのコードをもとに仕様書を作成してもらったところ、以下のような構成で社内用としてそのまま使えるレベルの文書が一発で出力されました:

  • APIの目的と仕様
  • パラメータ定義(型、必須/任意、複数指定可など)
  • 値のバリデーションやデータマッピングの条件
  • SQL相当のWHERE句
  • リクエスト例、エラー例、HTTPステータス
  • モデルに追加されたバリデーションとスコープの内容
  • ユースケース、UI実装例
  • テスト方針(RSpecのコード例付き)
  • パフォーマンス考慮点、監視項目
  • Swaggerファイルの更新内容(自動提案)

ドキュメントはネイティブエンジニアとのすり合わせに使うために作成したのですが、その目的においては全く問題のないレベルの品質でした。構成や表現も的確で、補足や修正なしでそのまま共有できたのは非常に助かりました。


Claude Maxは“手のかからない”相棒になる

Claude Maxとのやり取りは、たしかに一発で完結することは少ないです。でも、こちらの修正意図をきちんと読み取って再提案してくれる点や、「次に必要なこと」をこちらが言う前に出してくれる点は、もはや人間以上の部分もあります。

  • Railsの実装文脈に合わせたコード提案
  • RSpecやSwaggerの自動出力
  • コードから構造化された仕様書生成
  • 明示せずとも一連の実務を見越してくれる気配り

ペアプロに近い存在というより、もはや実務の一部を安心して任せられる「気が利く同僚」のような存在です。


おわりに

Claude MaxをRailsの開発現場で実際に使ってみた感想をまとめてみました。

「AIと一緒に開発する」と聞くと、どこか実験的・未来的に思えるかもしれませんが、実際には非常に現実的なツールとして機能しています。

しかもそれは、ただのコード生成ツールではなく、RSpecやSwaggerの更新・仕様書作成にまで踏み込める“全方位型の相棒”でした。

プロジェクトにClaude Maxを導入したい方にとって、少しでも参考になれば幸いです。