AIが機能を47分で構築しました。数年前なら8時間かかっていた作業です。しかし、誰も教えてくれないことがあります。適切な戦略がなければ、同じAIは間違ったものを構築するのに3時間を無駄にします。
こんにちは、私はChuckです。30年間コードを書いてきました。2023年、AIを受け入れるか、新しいキャリアを探すかのどちらかが必要だと気づきました。私はAIを受け入れることにしました。それ以来、コーディングエージェントを使用して12のアプリケーションを構築してきました。今日は、学んだすべての戦略をあなたと共有しています。
AIはすべてを変えます。特に、すべてを高速化します。1日かかっていたことが1時間で完了します。

このスピードはいくつかのことを意味します。
まず、フィードバックサイクルが非常に高速になります。エラーと間違った方向がより早く表面化し、成功に到達することもより早く表面化します。
次に、多くのコードは今や使い捨てです。書いて破棄する方が、書いてリファクタリングするよりも費用対効果が高いです。
3番目に、ソフトウェア開発の落とし穴は、数年かかって遭遇していたものが、数週間または数ヶ月で表面化するようになります。
4番目に、ガイダンスなしでは、AIはすぐに脱線し、崖から落ちます。
CursorなどのコーディングエージェントでAIを使用している間に、AIが崖から落ちるのを防けるようにする12の戦略を発見しました。これらは試行錯誤を通じて、難しい方法で学んだものです。
1. Agent.mdを使用する
LLMについて気づいたことの1つは、それらすべてが「フォールバック」を追加したいということです。
フォールバックは、最初の条件が失敗したときに実行される条件付きコードです。これはコードが火星に行く場合には素晴らしいですが、ほとんどのコードは火星に行きません。確かに私のコードは行きません。さらに悪いことに、フォールバックは本質的にバグがあり、ほとんどの場合は必要ありません。
ここでAgent.mdファイルが登場します。LLMにフォールバックを使用しないよう指示できます。実際、何でも指示できます。プロンプトに追加するものはすべてAgent.mdに追加できます。ファイルは自動的に各新しいコンテキストに追加されます。
現在、各コーディングエージェントは独自のagent.mdファイルを持っています。Cursorはそれを.cursorrules、Claude Codeはそれをclaude.mdと呼んでいます。近い将来、コーディングエージェントは共通の名前で標準化されると予想しています。
私のAgent.mdでは、ソフトウェアパターン、テスト戦略、使用したいアーキテクチャを定義しています。エージェントがコンテキストまたは方向の欠如のために繰り返し行っていることを見つけたら、ファイルに追加します。
ここにエージェントルールのリポジトリへのリンクがあります。
Agent.mdファイルをセットアップしたら、AIを妨げられずに使用したいでしょう。
2. 全力で進む
Claude CodeとCursor AIはどちらもボックスから「セーフモード」で起動します。セーフモードでは、各ツール呼び出しに対して許可が必要です。数分間、すべてのツール呼び出しを承認した後、セーフモードは終わりました。
幸いなことに、各コーディングエージェントでは「セーフモード」をオプトアウトできます。リスクはAIが望ましくないことを行う可能性があることですが、コーディングエージェントを使用している間、取り返しのつかないことをしたことはありません。
LLMが何をしているかは注視していますが、コーディングエージェントから離れることはまだ快適ではありません。
正直なところ、LLMにライブ本番コードで作業するよう求めていない限り、セーフモードが必要な理由がわかりません。
コーディングエージェントを解放したので、問題を定義する必要があります。
3. 問題を定義する
AIは文字通りです。求めたものを得ます。つまり、曖昧なプロンプトは曖昧な結果を生成します。
AIに詳細な要件を提供し、「評価」を求めるのが最良の結果を得ることがわかりました。これにより、AIは設計のギャップを探し、フォローアップの質問で応答できます。数回のやり取りの後、堅実な計画ができます。
最近のリリースでは、CursorとClaude Codeの両方が「Plan Mode」を追加しました。これは上記のプロセスを形式化します。
さらに一歩進めて、別のLLMに計画をレビューしてもらいます。たとえば、最初のAI評価にChatGPTを使用します。すべての要件を含むマークダウンドキュメントを生成します。その後、そのドキュメントをClaudeにフィードバック用に提供し、Claudeの2番目のレビューは常に見落とされたギャップを見つけます。
これは好みの問題ですが、AIは私にとって過度に設計する傾向があります。繰り返しになりますが、AIはコードが火星に向かっていると思っているようです。
計画に落ち着いたら、AIにそれをプロジェクト内のドキュメントに保存するよう求めます。
これは次のポイントにつながります。
4. フェーズ計画を作成する
大きな機能を管理可能なフェーズとタスクに分割
計画を作成した後、AIに作業をフェーズに分割するよう求めます。小さな作業単位が必要です。単位が小さいほど、成功の可能性が高くなります。
一部のコーディングエージェントはこれをボックスから実行しますが、そうでない場合は求めてください。
最良の計画でも、進捗を追跡できなければ失敗します。ここでチェックリストが登場します。
5. チェックリストを求める
AIにチェックリストを求め、進捗を追跡するために必要であることを伝えます。多くのコーディングエージェントはチェックリストをエージェントプロンプトとUIに追加していますが、時々進捗を追跡したり、長時間実行される作業を追跡したりするためにチェックリストが必要です。
チェックリストはAIが自分自身を測定するものを与えるので、完了したことを知っています。
チェックリストは素晴らしいですが、チェックリストでコンテキストをどのようにまたぐのでしょうか?ここで私たちのハンドオフドキュメントが登場します。
6. ハンドオフドキュメントを作成する
ハンドオフドキュメントとは何ですか?
ハンドオフドキュメントは、アプリケーションの高レベルの説明です。その目的は、空のコンテキストをアプリケーションのドメイン、コード、アーキテクチャについて最新の状態にすることです。
理想的には、エージェントは前のコンテキストが終わったところから歩調を合わせて拾い上げます。
私のAgents.MDでは、エージェントに高レベルの変更でハンドオフドキュメントを更新するよう指示しています。ドキュメントにすべての詳細が必要なわけではありません。高レベルの概要が必要で、AIが何であるかを判断させます。

私のワークフローはこのようなものです。
新しいコンテキストを開始するたびに、ハンドオフドキュメントを含め、AIに新しい機能について指示しました。AIはタスクを拾い上げ、6ヶ月間プロジェクトに携わっているかのように作業を開始します。
ハンドオフドキュメントは小規模なアプリケーションに適していますが、大規模なアプリケーションではトークンを消費しすぎて実用的ではありません。ベクトルデータベースやグラフデータベースなどの他のオプションを検討しています。
しかし、私はまだ実験中です。
このような問題にどのようにアプローチしているかをお聞きしたいです。下にコメントを残してください。
チェックリストとハンドオフドキュメントがあっても、AIは間違いを犯します。ここでコミットが登場します。
7. 頻繁にチェックインする
小さなコミットを行います。小さなコミットにより、既知の良い状態に戻すことができます。AIが時々ウサギの穴に下り、回復の余地がないことがあります。
リセットするだけです。
8. コンテキストをリセットする
コンテキストをリセットすることに容赦がありません。
時々AIは間違った道を進むか、間違いを犯します。排出して最初からやり直します。すべてのドキュメントが整理されていれば、新しいコンテキストを開始するのは簡単です。これはハンドオフドキュメントの素晴らしさです。
しかし、正直に言うと、AIで作業するとき、AIを人間化します。別の人間と一緒に作業しているような感じがするからです。そのリセットボタンを押すことは時々私の人間らしさに引っ張られます。
ウサギの穴を制限する1つの方法はテストを通じてです。
9. テスト
ソフトウェアエンジニアだった時代、テストは最悪でした。テストコードを書くことは、ソフトウェアエンジニアにとって最も退屈な作業の1つです。
AIを使えば、コードをテストしない理由はありません。AIはすべてのテストを書いてくれます。実際、agent.mdで80%のテストカバレッジを指定でき、コーディングエージェントは魔法のようにテストを追加します。
テストは有益であることがわかりました。品質コンポーネント以上に、AIが自分の仕事を検証するための構造を与えます。これにより、より高品質なコードとAIのより良い使用につながります。
注意として、AIにテストを更新せずにコード変更を行わせることがよくあります。コードが機能した後、AIにテストを更新するよう求めます。時々AIはテストを真剣に受け止めすぎて、本番コードを変更してテストに一致させ、たった今行ったすべての変更を元に戻します。
品質を向上させるために見つけた別の方法は自動化を通じてです。
10. 自動化、自動化、自動化
物事をできるだけ簡単にしてください。
AI以前は、「ワンタッチデプロイメント、それは素晴らしいでしょう。しかし、時間がありません」とよく聞きました。今は言い訳がありません。AIはすべてを自動化してくれます。
私の目標は、すべてのアクションを単一のコマンドにすることです。例えば:
- アプリケーションを開始したい場合?./start.sh。
- テストを実行したい。./test.sh。
- アプリケーションをデプロイしますか?ご想像の通り./deploy.sh
自動化は2つの目的を果たします。
- まず、時間を節約します。
- 次に、プロセスから人的エラーを削除します。
摩擦と複数のステップがある場所はどこでも、自動化したいです。しかし、より複雑な問題を解決するために、時々より有能なLLMが必要です。
11. 最高のLLMを使用する
モデルのパフォーマンスをけちらないでください。最新のモデルは高価ですが、お金を節約するために、結局より多くの費用がかかる可能性があります。
時々、Cursorはトークンを節約するためにオートモードを使用することを推奨しています。わかりました。それは良さそうに聞こえます。何が悪くなる可能性がありますか?私はいつもお金を節約することに開かれています。だから私はそれをオンにして機能を実装しました。それは災害に変わりました。次の3時間は最新のモデルを使用して混乱を解くのに費やし、オートモードを使用しなかった場合に支払ったであろう2倍の費用がかかりました。私のポイントはオートモードが悪いということではありません。複雑な問題に取り組むには最高のモデルが必要だということです。
しかし、時々、最高のモデルでも十分ではありません。正しいツールが必要です。
12. ツール
AIを脳と考えてください。それは考えますが、何もできません。これはツールの力です。AIに行動する能力を与えます。
コーディングエージェントツールを2つのクラスに分類します。
AIコーディングエージェントを強化する2つのクラスのツール
最初は、ソフトウェア開発を強化するために設計されたツールです。GitHubのMCPやAnthropicのSequential Thinking MCPを考えてください。これらのツールは一般的にコーディングエージェントをより有能にします。
次は、プロジェクトと相互作用するツールです。たとえば、データベースMCPまたはコマンドラインツール。これらのツールは、コーディングエージェントにコードを書き、実行し、結果をテストし、完全なフィードバックサイクルを完了する能力を与えます。
AIの素晴らしいことは、ツールが必要で、そのようなツールがない場合、AIがあなたのためにそれを作成できるということです。
Cursorで使用するツールは次のとおりです。
最初のツールはSerenaと呼ばれています。Serenaは、ファイルの読み取りやデータのメモリへの保存などのタスクをオフロードしようとします。これは通常、AIが操作を実行するコマンドを生成する必要があります。このプロジェクトの目標は、使用されるトークンの数を減らし、一般的な操作をローカルに保つことです。
次に使用するツールは、AnthropicのSequential Thinkingと呼ばれています。Anthropicからのものであれば、それはほぼ確実に良いです。このツールが行うことは、複雑な問題を管理可能なステップに分割することです。構造化された思考プロセスを通じて、動的で反省的な問題解決を追加します。
試してみてください。リンクを説明に入れました。
最後に使用するツールはプロジェクト固有です。Neo4j MCPと呼ばれ、AIが作成しました。Neo4jで作業するのに非常に貴重です。以前は、AIは私にクエリを実行してから結果をチャットに貼り付けるよう求めていました。これは非常に迅速に面倒になりました。ツールを使用すると、AIは独自のクエリを実行し、人間の介入は必要ありません。
それは美しく、より速いです。開発プロセスで摩擦を見つけた場合は、AIに助けを求めてください。何が出てくるかに驚くかもしれません。
結論
正直に言いましょう。コーディングエージェントで作業することは、時々私たちが言ったことすべてを忘れる才能のあるジュニアプログラマーとペアリングしているような感じです。これらの12の戦略は、この関係をどのように管理するかです。そして、彼らはすべての人、またはあなたのために機能しないかもしれません。それは大丈夫です。あなたのために機能するものを見つけてください。だから私の質問はあなたへです。あなたのために何が機能していますか?下にコメントを落として、私に知らせてください。
Author: Chuck Conway is an AI Engineer with nearly 30 years of software engineering experience. He builds practical AI systems—content pipelines, infrastructure agents, and tools that solve real problems—and shares what he’s learning along the way. Connect with him on social media: X (@chuckconway) or visit him on YouTube and on SubStack.
著者: Chuck Conwayは、ソフトウェアエンジニアリングの経験が30年近くあるAIエンジニアです。彼は実用的なAIシステム(コンテンツパイプライン、インフラストラクチャエージェント、実際の問題を解決するツール)を構築し、学んだことを共有しています。ソーシャルメディアで彼とつながってください: X (@chuckconway) または YouTube と SubStack で彼を訪問してください。