💻

Claude Codeでいろいろ遊んでみた

に公開

Claude Codeとは

Claude Codeは、AnthropicのClaudeをCLIから利用できる公式ツールです。コードの生成、リファクタリング、デバッグなど、開発作業全般をAIがサポートしてくれます。

試してみたこと

利用状況

言語はGolangとTypeScript
Golangのほうがメインで利用して、使い勝手を踏まえてTypeScriptでも試している感じです。

1. バグ修正

"〇〇の機能でエラーが出ているので修正して"

Claude Codeが自動的にエラーを特定し、修正案を提示・実装してくれます。
他にも、実際でたエラーメッセージを入力しても修正を検討してくれますので、
Debugログをある程度出すようにしていると指示がしやすいかもしれません。

2. コードリファクタリング

"この関数をもっと読みやすくリファクタリングして"

コードの可読性向上や性能改善を自動的に行います。
また、Linterの指摘事項をそのまま入れても修正を検討してくれます。

3. 新機能の実装

"ユーザー認証機能を追加して"

既存のコードベースを理解した上で、適切な実装を提案・実行します。
ただ、この点に関してはこのメッセージだけでは意図しない実装がされるのである程度の指示は必要だと感じています。

便利な機能

Git連携

コミット作成、プルリクエスト作成なども自動化可能です。
PRのレビューをできるのですが、私は未だに設定がうまくいっていないです。

Web検索・情報収集

最新の技術情報やドキュメントも検索して活用できます。
この機能はClaude CodeというよりClaudeに近くなりますが、思いのほか使い勝手が良かったです。
情報収集という点においては、人がもつバイアス的な目線がなく参考になりました。精度という観点では、イマイチなことがあったりしますが、これはインターネットでの検索結果を踏まえたものなので仕方がない部分だと思います。

まとめ

Claude Codeに限った話ではありませんが、AIによるサポートをうまく活用することで効率がかなり上昇する時代になったと感じています。
以前は精度が悪かったり、かなり細かい指示をしないと違ったものができてしまうといった印象でしたが、活用しやすくなったと思います。
Claude Codeは元々社内で導入検討の話があったので個人的に使ってみました。
私はJetBrainのツールを使っているのでそちらのAIアシスタントはとてもよく使っていましたが、両方をうまく活用することで効率が上がっています。
個人的な感想ですが、テストコードを1から作ることに関してはClaude Codeのほうがテストケースが細かくてよかったです。(ただし、多すぎて困るケースがある)
JetBrainのほうは、細かいところの修正などには向いている印象でした。Claude Codeも悪くはないが、細かすぎると謎のループに陥るといったことが稀にありました。

私個人の考えですが、今のAIの位置づけは指示待ちしている若いエンジニアがそばに控えているといった感覚です。ある程度の指示も必要だし、結果の精査もまだまだ必要です。大丈夫そうに見えても非推奨メソッドを使っていたり、Linterに猛烈に警告されるといったことはデフォルトです。
ですが、効率という面においては動くコードは書いてくれます。
また、最近は今あるコードを参考に書こうとしています。
これは、大きな進歩だと思います。実験的に1から書かせてみたこともあるのですが、悪くはないと思いました。もう少し気にかけたいところはあるけど、そこは再度指示を出して修正していくと次第に対応してくれたりもしました。
ネットにある書き方をうまく模倣するといった印象が強かったですが、今の書き方も参考にしている点はコードが荒れにくくなるので個人的にポジティブでした。
一方で、常にリファクタリングしてほしいという意見もあると思っています。
この部分は、ケースバイケースなんだと思っています。実際に稼働するサービスにおいては、一部だけきれいにリファクタリングされていると意外と可読性が悪くなる可能性があるので、リファクタリングするならある程度の単位でやっていく必要がある場合もあるでしょう。一方で、個人的に書いているコードなら新しいことを取り入れていきたいので都度都度よいコードを書いたほうがいいと考えもあると思います。
そういった意味でそばに控えているエンジニアがいるという認識は間違っていないと思っています。

おまけ

うまく複数のAIを使うことで同時に3つくらいまでプログラムを捌きやすくなりました。
言語もC#, Golang, Typescriptとバラバラでもスイッチングコストが下がった印象です。やりかたはいろいろありますが、効率が2倍近くは上がったと思います。現に会社でもいつの間にそこまで作った?みたいなことを言われるケースが増えました。
BEエンジニアが私一人だから助けてくれるAIが進化すればその分効率があがるというわかりやすい構図なんだと思いますが・・・・

GitHubで編集を提案

Discussion