Claude Codeでバイブコーディングをやってみた感想 – その威力と課題

  • URLをコピーしました!
Claude Codeでバイブコーディングを実際に体験してみた。その感想を率直に語りたい。
目次

バイブコーディングの驚異的な威力

バイブコーディングは本当にすごい。コーディング知識がなくても基本的にアプリは作れると言っても過言ではない。エラーが出たらエラーログを貼れば良いだけだ。 従来のプログラミングでは、文法やフレームワークの知識が必要だった。しかし、バイブコーディングでは自然言語で指示を出すだけで、AIが適切なコードを生成してくれる。 「ユーザー登録機能を作って」「データベースに保存して」「ログイン機能も追加して」といった指示だけで、実際に動作するシステムが完成する。ミドルウェアのインストールや設定も全自動で行ってくれる。これは革命的な変化だ。

しかし、いくつかの課題も感じた

明確に指示をしておかないと、ハードコーディングをしまくる

バイブコーディングの課題は、ハードコーディングが多発することだ。AIは指示された機能を実装するが、設定値やAPIキーなどを直接コードに埋め込んでしまう。 本来は環境変数や設定ファイルで管理すべき値が、コードに直接書かれてしまう。これはセキュリティ上の問題を引き起こす可能性がある。

部品を共通化しない

もう一つの課題は、共通化ができていないことだ。同じような処理が複数の場所に重複して書かれることが多い。 人間のプログラマーなら共通関数を作るが、AIは文脈ごとに個別にコードを生成するため、このような重複が発生しやすい。

指示していない部分まで勝手に修正

最も困るのは、指示していない部分まで勝手に修正してしまうことだ。これにより、デグレードや予期しない機能が追加されることがある。 「この関数のバグを修正して」と指示したら、関係ない部分まで変更されて、他の機能が動かなくなった経験がある。AIは文脈を理解して「改善」しようとするが、時として過度な修正を行ってしまう。

確認したいだけなのに実装してしまう

「現在〇〇の処理ってどうなってる?」のような確認したい意図の指示を出した時に、AIが勝手に「〇〇はこのような処理です。この処理は××が良くないですね。修正します。」と勝手に修正をしてしまうことがよくある。 なので、確認したいだけの場合は、明示的に「現在〇〇の処理ってどうなってる?(ただの確認)」「現在〇〇の処理ってどうなってる?(確認したいだけ、実装はしないで)」等で対処する。

Claude Codeの設定とAIの特性

設定の重要性

Claude Codeはclaude.mdにルールを記載するが、アプリ開発を行う前に、ガチガチに設定を固めた方が良い。なんとなくで作ると面倒な手戻りが多発する。 以下のような設定を事前に決めておくことが重要だ:
  • コーディング規約(命名規則、ファイル構造など)
  • 使用するライブラリやフレームワーク
  • セキュリティ要件(環境変数の使用など)
  • テスト方針
  • エラーハンドリングの方針

AIのトークン制限について

実は、claude.mdの作成もAIに任せれば良い。最初はわからないかもしれないが、指示して、アプリを作成するうちにどういうルールを書いておいた方が良いかなどはだんだんわかってくるだろう。 AIはトークン数というものがあり、一度に保持しておける文章量が決まっている。同じチャット内でずっと指示を繰り返していると、最初の方に指示した内容を忘れてしまう。 また、ルールも長すぎるとその分トークンを食うので、簡潔で的確なルールや指示が必要だ。これは使っていくうちに慣れるのが良い。

効果的なバイブコーディングのコツ

1. ルールを固める

まず、プロジェクトのルールを固める。コーディング規約、使用する技術スタック、セキュリティ要件などを明確にする。 具体的には以下のような制約を設ける:
  • 環境変数は必ず.envファイルで管理
  • 関数は必ず共通化して重複を避ける
  • 指示された部分のみ修正し、他の部分は変更しない
  • エラーハンドリングは必ず実装する
  • コメントは日本語で記述する
注意点として、ルールを記載しているからと言って絶対に守ってくれるわけではない。先にも書いたように、トークン数の問題だったり、ルール自体に矛盾が発生したりすると、AIはルールを無視することがある。

2. 設計書を固める

次に、アプリケーションの設計書を固める。機能要件、データベース設計、API設計などを事前に決めておく。

3. 設計に沿って実装を進めていく

最後に、設計書に沿って段階的に実装を進めていく。一度に大きな機能を作ろうとせず、小さな機能から順番に実装する。

4. Gitでのソース管理は必須

Gitでのソース管理は必須だ。AIが変なコードを書いたとしても一瞬で戻すことができる。各機能の実装が完了したら必ずコミットし、問題が発生した場合は即座にロールバックできるようにしておく。

5. 段階的な指示

一度に大きな機能を要求するのではなく、小さな機能から段階的に指示する。 「SNSアプリを作って」ではなく、「ユーザー登録機能を作って」→「ログイン機能を追加して」→「投稿機能を実装して」という順序で指示する。

6. エラーは即座に修正

エラーが出たら即座に修正指示を出す。エラーが蓄積すると、AIの理解が混乱する。

まとめ

バイブコーディングは確かに革命的な技術だ。しかし、適切な設定と指示がなければ、品質の低いコードが生成される可能性がある。 重要なのは、事前の設定をしっかりと行い、段階的で具体的な指示を出すことだ。AIは強力なツールだが、使い方を間違えると逆に効率が悪くなる。 バイブコーディングを成功させるには、AIの特性を理解し、適切な制約を設けることが不可欠だ。そうすれば、本当に効率的な開発が可能になる。
バイブコーディングは新しい開発手法として注目を集めているが、適切な使い方を理解することが重要だ。AIの力を最大限に活用するためには、人間側の準備と理解が不可欠だ。

この記事が気に入ったら

  • URLをコピーしました!
  • URLをコピーしました!
目次