.clinerules で「設計書」を常に更新し続けることでバイブコーディングが捗る話

この記事の内容

  • AIと一緒にコーディングする際に全体像が把握しにくくなる問題について解説します
  • docs/design.md のような設計書ドキュメントを常に最新に保つ運用方法を紹介します
  • .clinerules を活用してAIに設計書を必ず参照させる仕組みの作り方を説明します
  • 設計書を人間とAIの「合意書」として機能させる考え方を紹介します
  • コンテキスト長を考慮したモデル選定の考え方にも触れます

バイブコーディングで起きがちな問題

最近、AIに任せてどんどんコードを書いてもらう「バイブコーディング」を実践している方が増えています。AIは人間では書けないスピードでコードをバンバン書いてくれますが、その分「全体的にどこに何があってどうなっているのか」がわからなくなってくるという問題が発生しやすくなります。

全体像が見えなくなると、何か問題が起きたときにAIに全部お任せするしかなくなります。最初はうまくいっても、だんだんおかしくなってきて、「Gitで保存しているからごめん、戻ってもう1回やってみて」を繰り返すような状況に陥りがちです。

AIはとても賢い一方で、一度うまくいかないパターンにはまってしまうといつまでも抜け出せないことがあります。そのようなときに人間が部分的に対応しようとしても、コードの全体像を把握していないと難しいという課題があります。


解決策:設計書(design.md)を常に最新に保つ

この問題への対処として有効なのが、コードに対応するドキュメントを必ず作成・更新し続けるという運用です。

具体的には、プロジェクト内の docs/design.md のような設計書ファイルを用意します。このファイルには、プロジェクトの全体像・クラス構成・インターフェースの設計・各コンポーネントの役割などを記載しておきます。

docs/design.md

人間はコードの細部を全部把握しなくてよい代わりに、この設計書の内容はきちんと理解するという役割分担にします。クラスやモジュールの粒度、インターフェースの設計、各クラスの役割など、設計レベルの話は人間が把握・管理するわけです。


.clinerules でAIに設計書を必ず読ませる

この運用を自動化するために、.clinerules(ClineなどのAIコーディングツールが参照するルールファイル)に以下のような指示を書いておきます。

## 開発ルール

- 作業を開始する前に必ず `docs/design.md` を読み、全体像を把握してから着手すること
- コードを変更する際は、先に `docs/design.md` の設計を更新してから実装を行うこと
- コードを変更した後は、`docs/design.md` に記載されている内容と実装に矛盾がないことを再確認すること
- 矛盾があった場合は `docs/design.md` を優先し、実装を変更すること

.clinerules はCline専用ですが、他のAIコーディングツールでも「AIが必ず参照する場所」に同様の指示を書いておけば同じ効果が得られます。


設計書を「人間とAIの合意書」として機能させる

このワークフローの本質は、設計書を人間とAIの合意書として機能させることにあります。

  1. 実装前: AIに docs/design.md を読ませ、全体像を把握させてから作業を開始する
  2. 変更時: 設計書を先に変更し、その設計に従ってAIにコードを書いてもらう
  3. 実装後: 設計書と実装に矛盾がないことをAIに確認させる

このサイクルを守ることで、コードの実装は完全にAIに任せても、設計書を見れば人間がプロジェクトの全体像を常に把握できる状態を維持できます。

人間がやることは「設計レベルの意思決定」と「設計書の管理・修正」であり、コードの細部はAIに委ねるという明確な役割分担が実現します。


コンテキスト長とモデル選定

この運用では設計書を常に読み込ませるため、コンテキスト長の大きなモデルを選ぶことが重要です。コンテキストが足りなくなると、設計書を読み込みながらコーディングするという運用自体が成り立たなくなってしまいます。

現状の使い方としては、GPT-4.1をメインモデルとして利用するのが一つの選択肢です。速度とある程度大きなコンテキストウィンドウのバランスが取れています。行き詰まった部分や難しいケースではO3に切り替えて対処するという使い分けも有効です。


まとめ

バイブコーディングで全体像を見失わないためのポイントは次の通りです。

  • docs/design.md のような設計書を用意し、常に最新の状態に保つ
  • .clinerules やAIツールのルール設定に「作業前に設計書を読む」「設計書を先に更新する」「矛盾があれば設計書を優先する」を明記する
  • 人間は設計レベルの把握と管理に集中し、コードの実装はAIに任せる
  • コンテキスト長の大きいモデルを選択し、設計書を常時読み込める環境を整える

コードは一切見なくても設計書を見れば全体像がわかる、という状態を作れることがこのアプローチの最大のメリットです。まだ試したことがない方は、ぜひ一度試してみてください。あなたとAIの組み合わせに合った形に調整していけると思います。