世界を動かす技術を、日本語で。

クラウドコードの使い方:計画と実行の分離

概要

  • Claude Codeを使った独自の開発ワークフローの全体像
  • 計画と実装の完全な分離による品質向上
  • research.md・plan.mdなどマークダウンファイルを活用した共同作業
  • アノテーションサイクルによる反復的な計画修正
  • 実装・フィードバック・進捗管理までの具体的な運用例

Claude Codeを最大活用するためのワークフロー

  • Claude Code を9ヶ月間メイン開発ツールとして利用した独自ワークフロー
  • 一般的なAIコーディングツールの利用法(プロンプト投入→修正→繰り返し)とは一線を画す運用
  • コア原則は「 計画の承認が終わるまでClaudeにコードを書かせない」という徹底した分業
  • 計画(Plan)と実装(Implement)の分離により、無駄な作業の削減・設計のコントロール・トークン消費の最適化を実現

ワークフローフロー図

  • Research → Plan → Annotate(1~6回反復)→ Todo List → Implement → Feedback & Iterate

Phase 1: Research(リサーチ)

  • すべてのタスクは「 深読み指示」から開始
  • Claudeに対象コードベースを徹底的に理解させ、 research.md に詳細な調査結果を書かせる
    • 例:「このフォルダを徹底的に読解し、仕組み・機能・特徴を深く理解した上で、research.mdに学びと発見を詳細に記述」
    • 例:「通知システムの複雑さを深掘りし、notificationの仕組みを全てまとめたresearch.mdを作成」
    • 例:「タスクスケジューリングのバグを全て特定し、詳細な調査レポートを書く」
  • deeply, in great details, intricacies」などの強調ワードを必ず含めることで表面的な読解を防止
  • research.mdは単なる宿題ではなく、「 レビューのための成果物
    • Claudeの理解度を確認・修正し、誤解があれば計画段階の前に修正
    • 誤った調査→誤った計画→誤った実装の連鎖(Garbage in, garbage out)を防止
    • システム全体への影響も考慮した設計ミスの予防

Phase 2: Planning(計画)

  • 調査内容を確認後、 plan.md に詳細な実装計画を書かせる
    • 例:「新機能<概要>を追加したい。plan.mdに詳細な実装計画を書いて」
    • 例:「リストエンドポイントをカーソルベースページネーションに変更したい。plan.mdに具体的な手順を書いて」
    • 例:「必ず現状のコードを読んだ上で計画を立てること」
  • plan.mdには下記を必ず含める
    • アプローチの詳細説明
    • 変更点のコードスニペット
    • 変更対象ファイルパス
    • 注意点・トレードオフ
  • built-in plan modeは使わず、独自のplan.mdを活用
    • エディタで自由に編集・注釈追加可能、永続的な成果物として管理
  • 参考実装がある場合は、関連コードを貼り付け「この実装を参考にplan.mdを書いて」と指示
    • 具体例がある方がClaudeの精度が大幅に向上
  • 計画自体よりも「 その後のアノテーションサイクル」が本質

アノテーションサイクル(Annotation Cycle)

  • Claudeがplan.mdを作成→エディタでインラインノートを追加→Claudeに修正依頼→plan.md更新→満足するまで繰り返し
  • ノート例
    • 「migrationsはdrizzle:generateを使うこと、raw SQLは不可」— Claudeが知らないドメイン知識
    • 「これはPATCH、PUTではない」— 誤った仮定の修正
    • 「このセクションは不要、キャッシュは不要」— 提案の却下
    • 「キューのリトライは既存で対応済み、重複処理は不要」— 理由付きの修正指示
    • 「visibilityフィールドはリスト単位、アイテム単位ではない。スキーマを修正」— 設計全体の方向修正
  • 修正指示には「 まだ実装しないこと」を明記し、計画が完成するまで実装を阻止
  • この反復により、汎用的な計画をプロジェクトに最適化
  • plan.mdはClaudeと自分の「共有・可変な状態」 として機能
    • チャットでの曖昧な指示ではなく、計画書の該当箇所へ直接注釈
    • 全体像を俯瞰しやすく、意思決定の履歴も明確

Todo List(タスクリスト)

  • 実装前に「 詳細なTodoリスト」をplan.mdに追加させる
    • 全フェーズ・全タスクを細分化して列挙
    • 「まだ実装しないこと」を必ず指示
  • このチェックリストが進捗管理の基準
    • Claudeが進捗に応じてタスクを完了マーク
    • 長時間セッションでも進捗が一目瞭然

Phase 3: Implementation(実装)

  • 実装開始時の標準プロンプト例
    • 「implement it all. when you’re done with a task or phase, mark it as completed in the plan document. do not stop until all tasks and phases are completed. do not add unnecessary comments or jsdocs, do not use any or unknown types. continuously run typecheck to make sure you’re not introducing new issues.」
  • ポイント
    • 計画通りに全て実装、一部だけ・途中確認は不要
    • 完了ごとにplan.mdにチェック、進捗はplan.mdが唯一の真実
    • 余計なコメントやany/unknown型禁止、型チェックは常時実行
  • 計画段階で全ての意思決定が済んでいるため、実装は「機械的・退屈」な作業に
    • 創造的判断はAnnotation Cycleで済ませる
    • 計画なしで始めると、誤った仮定に基づく修正地獄に陥りやすい

フィードバックと実装中の修正

  • Claudeが実装中は、ユーザーは「 設計者から監督者」へ役割シフト
  • フィードバックは短く簡潔に
    • 例:「deduplicateByTitle関数が未実装」「settingsページはadmin appで作るべき、main appではない」
  • Claudeはplan.mdとセッション全体の文脈を保持しているため、短い修正指示で十分
  • フロントエンドは特に反復が多い
    • ブラウザで確認→「wider」「まだ切れてる」「2px隙間」など即時修正指示
    • スクリーンショット添付で視覚的な問題を迅速に伝達
    • 既存コードを参照して「usersテーブルと同じ見た目に」など、既存パターンの再利用を指示
  • 大きく方向性がずれた場合は「 gitで巻き戻し・スコープ再設定」が最善
    • 例:「全てリバート。今回はlist viewをよりミニマルにするだけで良い」
  • 修正地獄に陥るより、スコープを狭めてやり直す方が効果的

主導権を握り続ける

  • Claudeに実装を委任しても、「 何を作るかの最終決定権は自分
  • ほとんどの調整・判断はplan.mdで行い、Claudeの自動判断に任せきりにしない
  • Claudeが提案する解決策は「技術的には正しいが、プロジェクトに合わない」場合がある
    • 例:過剰設計、既存APIの互換性崩壊、シンプルな選択肢を無視
  • システム全体の文脈、プロダクトの方向性、エンジニアリング文化など、Claudeにはない背景知識を活かし続けることが重要

Hackerたちの意見

コードが書けない人にはこれで十分に見えるけど、開発者としてちょっと経験がある人には、計画やチェック、プロンプト、オーケストレーションなんて、コードを書くよりもずっと手間がかかるよね。「生産性の結果に関係なく、書いたコードが最も少ない」という勝者は、たぶんAnthropicの銀行口座だけだろうね。

これらのAIコーディング記事は、ほとんどがグリーンフィールド開発についてのように見えるね。でも、プロのソフトウェアを作っている真剣なチームにいるなら、小さなタスクでない限り、AIにまず計画を立てさせることにはまだたくさんの価値があるよ。この投稿はそれをさらに進めて、形式化している。Cursorは計画モードを使って、出力をマークダウンで見直してからビルドする方が、ずっと信頼性が高いと思う。そんなに大きな負担ではないけど、確かに時間がかかるから、文脈の切り替えが多くなることがある。

なんでこんなコメントがたくさんあるのか、全然理解できない。昨日、Claudeにアプリ内のエンティティに対するすべての変更を追跡する監査ログ機能を書かせたんだ。多くのフレームワークではこれが無料でもらえるけど、うちのカスタムセットアップにはないんだ。いい計画を立てるのに5〜10分くらいかかって、その後Claudeが実装やテストに20〜30分かかった。これなら少なくとも1日、下手したら2日はかかってたと思う。他のタブで4〜5のタスクを進めながら、Claudeが機能を生成するのを20〜30分待ってた。生成後には、手動で動作確認をして、ちゃんと動いたよ。それからPRを出す前にコードを見直す必要があった。結局、小さな機能を追加するのに、実際には30〜45分くらいかかったかな。正直言って…ちゃんと使えてるの?AIツールの使い方を学ぶのに、本当に時間を投資した?

あなたには部分的に同意するけど、コードベースが大きくなると、変更を打ち込むのにも時間がかかるようになるよね。エージェントを使う最良の方法は、変更を書くつもりで考えをまとめて、自分のメモを取りながらエージェントに実行させることだと思う。エージェントは疲れないし、午後4時にミスをすることもないから、品質も落ちない。そして並行処理もできる。これによって、常に高いレベルに留まって「またこの簡単なことをやり直すの?」って悩まされることがなくなる。そうすると、頭の中の文脈が消えて、日中疲れてしまうからね。とはいえ、エージェントが書いたコードは100%見直すべきだよ。自分が「所有」していないコードをコミットすることは許さない。AIを使わせる仕事には絶対に賛成しないし、時には手で全部書きたいと思う。でも、このツールが使えるのは本当に強力だね。

Opus 4.5以降、かなり変わったよね。新しい機能やアイデアについて話すのにLLMがすごく役立つし、Sonnetはコーヒーを飲んでる間に計画を実行するのに最適だよ。

プロジェクトのリサーチや計画をするのは、一般的に役立つことだよね。これ、何年もやってきたけど、いきなりコードを書くよりもずっと良い結果が出てる。これがLLMの利用にもつながるのは当然だよね。

もちろん、アディ・オスマニはコーディングできるよ。彼自身もまず計画を立てることを勧めてるしね。 https://news.ycombinator.com/item?id=46489061

計画を立てたり、確認したり、促したり、調整したりするのは、自分でコードを書くよりもずっと大変だよね。これ!コードベースに慣れたら(すぐに慣れるように努力してるけど)、ほとんどのチケットについては、説明を読んだ時点でだいたいの計画ができてる。実装に関する質問がいくつかあるかもしれないけど、コードベースのどこに情報があるかはわかってるから。あまり具体的なアイデアがない場合は、ホワイトボードを使うかな。こういうメンタルプランのいいところは、ざっくりしたバージョン(スケッチみたいな)から始められること。例えば、新しいUI画面を作るときは、「Hello, world」みたいなプレースホルダーテキストを入れて、ナビゲーションに取り組む。そこが終わったら、データを引っ張ってきて、ビュー・モデルを作るためのマッピング関数を追加していく… 各ステップが確認可能なマイルストーンになるんだ。これを説明するのは、ただコードを書くよりも頭を使う。なぜなら、英語はコンピュータの動作を説明するのに向いてないから(ナビゲーションフローの有限状態機械を自然言語で説明してみて)。僕のメンタルモデルはすでにコードに合わせてあるから、自然言語で解決策を書くのは、わざと曖昧で不明瞭にするようなもんなんだよね。

精神的な負担が少ないからね。テスラのFSDみたいなもんだよ。俺はFSDより運転が上手いけど、ちょっとの間運転を任せるのはいいよね。たとえ最適じゃなくて、10%遅く着くし、後ろの人がちょっとイライラするかもしれないけど。それでも99ドル/月払う価値はあるかな。コードの実装は運転と同じように負担がかかるし、TFAの方法は全体的に開発者にとってストレスが少ないと思う。最終的には手動で修正もできるし、AIコーディングと手動コーディングはどちらか一方じゃないからね。

言葉に注目してみて。「深く」、「詳細に」、「複雑さ」、「すべてを通じて」。これは単なる飾りじゃないよ。これらの言葉がなければ、Claudeはざっと流し読みするだけ。ファイルを読み込んで、関数が何をしているかをサインレベルで見て、次に進むだけ。表面的な読み方は許されないって信号を送る必要があるんだ。これがLLMの動作に関する私の直感には合わない。これが効果的だとは信じているけど、モデルに「もっと深く」読ませることが、LLMが生成する出力にどんな影響を与えるのか、私のメンタルモデルには理解できない。

ソフトウェア開発の今はすごく混沌としてるね。誰も(1)LLMが特定のことをする原因を本当に理解してないし、ただプロンプトが確率を正しい方向に動かしてくれることを祈るしかない。以前は、決定論的な振る舞いや再現性を誇っていた分野だったのに。今は?親が子供に話しかけるようなAGENTS.mdファイルがあって、すべてが太字の大文字で強調されていて、ただそれが十分であることを祈っている(1 大手モデル会社のコアML開発者を除いて)。

乖離があるかもしれないのは、「ユーザーのために最終的な答えを生成すること」と「その答えに必要な情報を調べたり考えたりすること」の間に分離があるからかも。 「深く」と言うことで、ファイルのもっと多くの部分を読むように促している(つまり、実際にreadツールを使ってファイルのより多くの部分を文脈に取り込む)、そして「考える」トークンを生成する(つまり、ユーザーには表示されないが、モデルが自分の考えを洗練させ、答えの質を向上させるために書くトークン)。

こういうちょっとした嘘が役立つかもね。モデルの中の潜在空間を地形図みたいに考えて、プロンプトを与えると、地面の上のあるポイントにボールを落とす感じで、重力がその表面に沿って引っ張っていくんだ。だけど注意してほしいのは、これはトークンごとにいいけど、分布からトークンを選ぶことで信号が乱れちゃうから、再生成するたびに信号が歪むんだよね。ボールを深い地域に置くような言語を使うと、その歪みが望んでいる谷や盆地からボールを弾き出す可能性が低くなるんだ。もし得られるレスポンスが1000トークン長いなら、そこにたどり着くために1000の確率フィルターを生き残るための初期の軌道が必要なんだ。まあ、もしかしたら全部間違ってるかもだけど、そう考えることでうまくいってるから、十分だと思ってるよ。

実はこれ、すごく一般的なんだよね。Anthropicが書いたClaude Codeのシステムプロンプトを見てみると、「CRITICAL (RULE 0):」みたいな文がたくさん散らばってるし、他にも似たようなプロンプティングスタイルがあるよ。

コード生成をするときは、すごく論理的で明らかだよね。同じモデルに次のようにコードを生成するように頼むと、- あなたはPython開発者です...とか、- あなたはプロのPython開発者です...とか、- あなたは世界で最も著名なPythonの専門家の一人で、関連する本をいくつか書いていて、15年の経験がある、信頼性の高い生産品質のコードを作成しています...みたいに。生成された成果物の質が明らかに向上するのがわかるよ。

注意メカニズムが働いてるし、ネット上の優越感もあるよね。LLMはインターネット上のテキストやGithubのコードリポジトリ、プルリクエスト、StackOverflowの投稿、コードレビュー、メーリングリストなどを全部取り込んでる。そういうコンテンツの中には、「実は、詳細を見てみると…」とか「問題の複雑さを考えると…」とか「問題を深く理解していれば…」って言って、何をどう変えればよかったのかを専門的に詳しく説明してる人がいる。モデルには修正に使うコードを使わせたいんだよね、元のStackOverflowの質問のコードじゃなくて。だから「MITの教授になりきって」や「君はトップのPythonエキスパートだ」みたいなプロンプトが効果的なんだ。モデルにその用語が含まれてる部分に注意を向けさせて、他のプログラミングサンプルよりも重視させるんだ。

「スキム」みたいな言葉を含むトレーニングデータは、「詳細に」という言葉に近いトレーニングよりも浅い分析を提供してるかもしれないから、LLMはそれぞれの指示に応じてその言葉の分布を再生してるだけかもしれないね。

こんなことを読んで、なおかつ真剣に受け止める人がいるなんて信じられない。これはエンジニアリングの占星術に近づいてるよ。

LLMは、あなたが求めることをやってくれるけど、細かいニュアンスがないとダメだよ。自分も他の人も気づいてるけど、LLMはコードベースに大量のゴッドクラスファイルみたいなコードの匂いがないときの方がうまく動く。コードベースが明確で、頭に入るように分かれていれば、モデルの頭にもフィットするんだ。

どうやらLLMの質は感情的な刺激に敏感らしい?「大規模言語モデルは感情的な刺激を理解し、強化できる」: https://arxiv.org/abs/2307.11760

これをもう少し進めて、3つのドキュメントタイプと2つのスキルで大成功を収めているよ。- スペック:これは一般的に静的だけど、プロジェクトが進化するにつれて更新可能。プロジェクトの概要を示すインデックスファイル、高レベルのアーキテクチャファイル、すべての主要モジュールのファイルに分かれている。おおよそ1万行のコードに対して約1千行のスペックで、特定のスペックファイルは300行に制限するようにしている。これらのすべての行に非常に詳しい。- プラン:これはLLMとの計画セッションの出力で、関連するスペックを指し示している。これらは100〜300行で、3〜5フェーズに分かれている。- ワーキングメモリファイル:私はstatus.md(各フェーズに3〜5項目、全体で約30行)を使っていて、最新のプランを指し示し、project_status(100〜200行)ではプロジェクトの現在の状態を追跡し、過去の努力を圧縮してスリムに保つよう指示している。- Gemini Proで新しいプランを生成するために使うプランナーのスキル。これはスペック/プランの二項対立、ステータスファイルの役割を説明し、関連するコードの領域を見直して、スペックの不足やproject_statusファイルに記載されたことに基づいて、次に取り組むべき高レベルの機能をいくつか提案してくれる。提示された内容に基づいて、機能や改善点を選んで生成する。その後、プランを生成し、プランを指し示すクリーンなstatus.mdを更新し、以前の完了したプランの状態に基づいてproject_statusを調整する。- プランファイルに取り組むCodexの実装者スキル。これはかなりシンプルで、status.mdを見てプランを指し示し、もちろんプランは関連するスペックを指し示すから、文脈を効率的に読み込む。2つの主要なスペック生成ライブラリを試したけど、どちらも過剰だったし、その後スーパーパワーも試したけど、まあまあだったけどやっぱり多すぎた。上記はすべて自作で、文脈をスリムで集中させているから、ずっと成功している。Codex/Geminiの$20プランだけで、以前の半年間$100/月を使っていたCCよりも早く動けて、トークン消費によるストールもなくなった。CCでは5日目にはよく起こっていたから。Codexは実行後にPRを出すとき、利用可能な文脈が70%を下回ることはほとんどない。約4/5のPRは問題なく、これはCCを使っていたときの経験とは逆だし、計画モードだけを使っていたときのこととは全然違う。

いい感じだね。質問なんだけど、この新しいAIの世界では、常にモノレポを使う方がいいのかな?それともアプリを別々のリポジトリに分ける方がいいのかな?うちの会社では、同じユーザーベースのために6つの別々のNext.jsアプリのリポジトリがあるんだ。全体的に楽になるはずだから、一つに統合しようとしてるんだ。

これがほぼ僕のアプローチだよ。今取り組んでるプロジェクトのために、いくつかの仕様書から始めたんだ。自分が書いた学術論文に基づいてね。Claudeと行ったり来たりしながら計画を立てて、情報を仕様書に戻して、広げていったら、複数の仕様書やアーキテクチャ、モジュール文書ができた。最終的には、自分のシステムを構築することになった(Claudeを使って)アーティファクトをキャッチして生成するために、もっとシステムエンジニアリングスタイルで(例えば、IEEEのコンセプト文書、要件文書、ソフトウェア定義、テスト計画に従って…)。セッションレベルの計画には使ってないけど、Claudeのツールはそれには問題なく機能してる。(スーパーパワーが好きだから、今のところは満足してる)コンテキストとガードレールを与えることで、Claudeとうまくやってる。基本的には「ガイダンスドキュメントに従って」って言うだけで、ちゃんとやってくれる。強力なテストと自己フィードバックのメカニズムを組み合わせれば、Claudeを簡単に軌道に乗せられるよ。トークンの使い方については、君と同じ経験をしてるけど、Codexの使い方には満足してない。Claudeは自分が求めてることを、求めてる方法でやってくれてる感じがするんだ。

講義の準備にClaude Codeを使ってるよ。Quartoファイルに詳細で順序立てた講義ノートを作って、それを自分の好きなスタイルでSlidevスライドに翻訳するための専用のClaude Codeスキルを使ってるんだ。それが終わったら、著者と同じようにスライドを見直して、「これを2つのスライドに分けるべき」とか、「これを並べて表示すべき」とか、「ここにこの箇条書きの横に画像を入れるためにクリップアートスキルを使って」とか、「../examples/fooからコード例を引っ張って」とか、コメントを付けていくんだ。これがすごくうまくいくよ。そして、それが終わったら最後の調整をするんだ。でも、注釈は本当に強力だよね。コンテキスト内のトークン距離とか、そういうの。

あなたのスキルはオープンソースなの?

フィードバックをどうやって注釈付けしてるのか聞いてもいい?インラインコメントみたいに「# これをXに変えるべき」って感じで?著者は注釈について言及してるけど、Claudeにどうやって注釈を渡すかの詳細には触れてないんだよね。

著者はかなり進んでるけど、コードベースの不変条件を強制するためにシンプルなスクリプトを書くともっと良くなると思う。不変条件が壊れたら?スクリプトが非ゼロの終了コードと問題の対処方法を教える出力を出して終了する。スクリプトは決定論的で、ミリ秒で実行され、トークンも使わない。ハスキーやプリコミットに入れて、gitフックをインストールすれば、すべてのスクリプトが成功しない限りエージェントはコミットできない。あと、「この関数のシグネチャを変更しないで」っていうのは、エージェントが「この関数のシグネチャを変更するかもしれないから警告しとこう」って予測するんじゃなくて、シグネチャが変更されたら失敗するエンドツーエンドのテストで強制すればいい。そうすれば著者はその変更を監視する必要がなくなって、コーヒーを飲みながらエージェントがテスト失敗を引き起こして修正するのを見守るだけで済む。多分、関数のシグネチャの変更を元に戻して、他の何かを変更することで解決するんじゃないかな。

アノテーションサイクルが俺にとってのキーポイントだね。コードに手を付ける前に計画を生きたドキュメントとして扱うことで、出力の質が大きく変わる。実験的に、チームで同じようなことをmfbt.ai [https://mfbt.ai]を使ってやってる。AIと協力して仕様を固めてから、MCPを通じてコーディングエージェントに渡す感じ。これで「みんなが自分のマシンに少しずつ違うplan.mdを持ってる」問題を回避できる。まだ初期段階だけど、このワークフローにはいいフィット感があるよ。

同意する!だから、計画にはemacsでgptelを使うことが多いんだ。ドキュメントが会話のコンテキストになって、好きなように編集や注釈をつけられるから。

最近Opus 4.6を試してみたけど、めっちゃ良かった。ずっと前にClaudeを捨てて、Grok + Gemini + OpenCodeと中国のモデルに切り替えたんだ。Grok/Geminiは計画とコアファイルに使ってて、OpenCodeはセットアップ、実行、デプロイ、編集に使ってる。でもOpusのおかげでワークフローを見直すことになった。今はこうやってやってる:* PRD(製品要件文書) * main.py + requirements.txt + readme.md(main.pyに合う最小限で機能的なモジュールコードをお願いする) * ステップバイステップの順序を求める * 一度に一つのステップに集中するようにお願いする。すごく強力なのは、アカウントやキーが足りないことでつまずかないこと。すべてが整理されてスムーズに進む。アイデアから動く製品まで素早く進められるし、テスト中に新しい機能が必要だと分かったら簡単に反復できる。GLMもOpenCode経由で使ってるけど、主に「単純な」タスクに使ってる。面白いことに、コード内の標準的な論理に関する推論能力については、Gemini 3 Flashがすごく良くて、比較的安いと感じた。実際のコーディングにはClaude Codeを使わないんだ。チャットを通じてmain.pyに強制することで、スキミングしやすい最小限のコードが促進されるから、機能スペースの明確な表現が得られるんだよね。

Amazon Kiroを使ってるよ。AIはまず要件を書いてくれて、その後デザインを作り、タスクリストを生成する。これでAIが作業するための小さなチャンクを作るのを助けて、一度に一つのタスクに取り組む。これで1時間以上動かせることもある。修正すべきことはたくさんあるけど、大体は正しい。Kiroはステアリングファイルもサポートしてて、これは一般的なデザイン決定のためにAIをロックするファイルなんだ。ただ、これらのファイルでコンテキストが消費されるから、Kiroは常にコンテキストをリセットするために一時停止するんだよね。

面白い!また一からコーディングを学んでる気分だ!Claudeを使い始めて1ヶ月ちょっとだけど、今までずっと自分で試行錯誤してた。自分の方法論をゼロから構築してる。これって俺がやってることよりずっと進んでる。実装に直行してたけど、すごく小さく制限された機能を一つずつやって、実装の詳細(こんなデータ構造、ここでそのAPIを使う、これをインポートするなど)を説明して、手動で確認して、気に入らないところをClaudeに直させてた。ずっと同じ(または非常に似た)間違いを繰り返すのにイライラし始めてたところだったから、これがその問題を解決してくれるみたいで嬉しい!いいね!

実は、このアプローチにはいくつか気に入らない点があるんだ。まず、「ビッグバン」で一気に書くっていうのがね。そうすると、モノリシックに作られた何千行ものコードができちゃう。計画を立てて、ひとつずつ実行できるような技術的なステップにまとめる方がずっといいと思う。そうすれば、順を追って作業できるし。これがあまり「雰囲気」に合わないのは分かるけど、それがポイントなんだよね。AIには、生成されたコードとその理解を持っているのと同じ地点に早く到達させてほしいんだ。誰も理解できない何千行ものコードを生成するだけには興味がない。次に、著者は行動を調整することに言及しているけど、それを長期的なガイダンスに組み込むことはしていない。私にとって、計画プロセスには包括的な知識ベースを構築することが不可欠だと思う。何か問題があると伝えるたびに、なぜそうなったのかを知識ベースに更新するように伝えないと、同じことを繰り返しちゃうからね。最後に、テストについての言及はないの?ただの簡単なチェックだけ?私にとっては、包括的なテストが必要だと思う。著者にとっては言うまでもないことかもしれないけど、これを計画に組み込むのは重要だと思う。特定の段階では、特定のタイプのテストが必要になるし、コードの前に(TDDスタイルで)行うこともあれば、同時にやったり後でやったりすることもある。AIサポートを取り入れたソフトウェア開発手法がどのように進化していくのか、そして最終的にどこに落ち着くのかを見るのは間違いなく面白いね。