16
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

かつて少人数でアドベントカレンダーを乗り切った日々を懐かしく思い出すくらい記事を書こうとしております。w
さて、今回のテーマは、X(旧Twitter)でよく見かける「Claude Code」についてです。一般的な入門記事ではなく、「こんな用途にも便利に使えました!」という、一歩踏み込んだ活用事例をご紹介します。

Claude Codeは、その登場が大きな話題となりましたよね。
特にMaxプランが従量課金ではなく月額制になり、しかもその価格の安さに驚いた方も多いのではないでしょうか。今回は、このMaxプランを最大限に活用し、ESLintの--fixコマンドでは修正できないような問題をClaude Codeに任せてみた経験をまとめます。

実施した手順

  1. Claude Code Maxプランへの加入:
    まずは公式ページからMaxプランに加入しました
  2. Claude Codeのインストール:
    次に、ドキュメントを参考にClaude Codeを環境に導入します
  3. ESLintルール選定と適用:
    ESLintのルールの中から、--fixでは自動修正されないものを特定し、プロジェクトに適用しました。ここが最も時間を要するステップです

ESLintのルール選定

今回選んだのは、@typescript-eslint/explicit-function-return-typeです。

TypeScriptにおいては、関数の返り値を明示することでパフォーマンス向上に繋がるため、開発チームではこのルールを推奨し、コードレビューでも厳しくチェックしていました。しかし、それでもレビュー漏れが発生したり、既存のコードベースに一斉適用しようとすると数百ものファイルを一度に修正する必要があるといった課題がありました。

そこで、「これはClaude Codeに任せるのが最適では?」という発想に至ったわけです。

ESLintのルール設定

ESLintのルール設定は非常に重要です。
ここを適切に行わないと、Claude Codeに修正を依頼しても期待通りの結果が得られず、やり直しになる可能性が高まります。公式ドキュメントをしっかりと確認し、どのようなルールを適用するのかを慎重に設定しましょう。

Claude Codeの実行

結果には本当に驚かされました。
Claude Codeは、信じられないほどのスピードでコードを修正してくれたのです。もちろん高速であることは理解していましたが、実際に目の当たりにするとそのすごさを改めて実感しました。

今回の修正対象となったファイルはなんと513ファイル。これをたった数時間で完了させてくれたのですから、その効率性には目を見張るものがあります。

実際に使用したプロンプトは以下の通りです。

`yarn lint` で出力されるエラーをすべて修正してください。
修正方針としては、`typescript-eslint/explicit-function-return-type` のエラーであれば、返り値の型を実際のロジックから深く考えて修正をお願いします。
型は any ではなく、できる限り具体的な型を推測して指定してください。
また、git add や commit はしないようにしてください。

Claude Codeに修正を依頼する際の注意点

今回、AIに全面的に修正を任せましたが、もちろん完璧な修正ばかりではありませんでした。
中には手作業での微調整が必要な箇所も散見されました。また、ESLintのエラー修正後に型エラーが発生するケースもありました(これも最終的にはClaude Codeに再修正を依頼しました)。

大量の修正をAIに依頼する場合、「ある程度の割り切りが必要」だと感じました。
例えば、今回の返り値に関するエラー修正においては、以下のような点を許容しました。

  • 多少の型指定ミスは許容する
  • anyが指定されてしまうことがあっても、一旦は許容する
    • これは、アプリケーションのソースコードだけでは型を正確に推測できないケースがあるためです
  • 目的を見失わない
    • 今回の目的は「ESLintにおける返り値のルールを追加する」ことであり、既存のソースコードに完璧にルールを適用することに固執しすぎないという判断をしました

AIも万能ではありません。だからこそ、「どのようにAIを使いこなすか」が非常に重要になります。

まとめ

今回の記事では、ESLintの--fixでは対応できない修正をClaude Codeに依頼した事例を紹介しましたが、一番伝えたいのは、「Claude Codeの使い方は、アプリケーションの作成や修正にとどまらない」ということです。MCP(大規模なコード変更プロジェクト)などを駆使すれば、パフォーマンスチューニングなど、AIに任せられる範囲は非常に広いです。

もう一つ強調したいのは、「AIが生成したコードをそのまま鵜呑みにしない」ということです。依頼した内容とAIが修正した内容が必ずしも一致するとは限りません。そのため、AIがどのようなコードを生成したのかは、必ず自分の目で確認する習慣をつけるべきです。

AIは単なるツールではありません。どのように活用し、提示された成果物が正しいかを自身で見極めることが求められます。今後もAIの進化は加速するでしょう。AIと上手に付き合いながら開発を進めていければと思います。

最後までお読みいただき、ありがとうございました!

16
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?