AIエージェントにコードを書かせた際、期待と異なる成果物が出て時間を消費するケースがある。生産性を6倍に引き上げる鍵はAIのコーディング能力ではなく、人間側の監督プロセスにある。
多くの開発者が陥る「丸投げ」の罠を回避し、AIを専属シニアエンジニアとして活用するには指示の出し方にルールが必要だ。何を実装するかだけでなく、文脈、制約、完了条件を定義する。
この記事では、Claude Codeを活用する僕が実践している完了条件(Done when)の定義術と、AIを監督する手法を解説する。コードを書く作業はAIに任せ、人間は出力の品質を担保する設計と判断に注力する。
SNS運用を自動化しませんか?
ThreadPostなら、投稿作成・画像生成・スケジュール管理までAIがサポート。
AIエージェント活用がもたらす開発現場の構造変化
コード生成AIの導入による生産性向上が報告されている。旅行系テクノロジー企業Holiday Extrasの大規模アプリ再構築プロジェクトでは、従来6ヶ月を要した開発工数が2週間で完了した。
このプロジェクトでは、予約転換率が32.5%向上し、エラー率は19%から9%へ半減した。AIを単なるコード生成ツールではなく、設計方針と開発プロセスに統合する手法が成功の要因だ。
開発現場では、AIに渡すべき情報が整理され、人間がタスク完了の定義を明確にする動きが標準化されている。AIエージェントの自律性を引き出すにはコンテキスト管理が不可欠だ。
プロジェクト全体で守るべきルールや設計方針を記述したドキュメントを配置する。個別のタスクごとに参照すべき文脈と守るべき制約を明示すると、AIは自走する。
しんたろー:
6ヶ月の作業が2週間で終わるという数字には驚く。AIが書いたコードを誰がどうチェックし、どこまで任せるかの境界線が気になる。
AIエージェントは環境構築からDLL依存問題の解決、リリース用のパッケージングまで対応する。事例に共通するのは指示の具体性だ。
曖昧な指示はAIの推測を招き、手戻りを引き起こす。具体的な完了条件を定義すると、AIは停止すべきタイミングと出力すべき内容を把握する。
開発者はコーディングよりも、AIを監督し介入する管理職的なスキルを磨くフェーズに移行している。AIは無茶ぶりには強いが、曖昧な指示には弱い。この特性を理解し、プロジェクトの作法として落とし込む。
AIエージェントを「ただのコーダー」と勘違いしてはいけない理由
AIを単なるコード生成ツールとして見ているうちは、本当の生産性は手に入らない。多くの開発者はAIに機能を丸投げし、出てきたコードの成否だけで判断する。
現場で成果を出している事例には、監督者としての人間とAIエージェントという役割分担が存在する。AIはゴールの達成には強いが、制約の判断においては人間に依存する。
僕がClaude CodeでThreadPostを開発する際、最も時間を割くのはコードを書く時間ではなく、AIが暴走せずに最小単位で実装を終えるための設計だ。
ここで重要になるのが、開発現場で「Done when」と呼ぶ完了条件の言語化だ。「機能を作って」という指示は、AIにとって終わりの見えない迷宮となる。
「テストが通ること」「既存のAPI仕様を壊さないこと」「実装はせず、判断記録だけを出力すること」と定義すると、AIは正確に動く。
しんたろー:
Claude Codeに「いい感じに」と投げると、余計なファイルを触る。実装はせず判断記録だけをくれと制約を課すと、優秀なコンサルタントに化ける。AIを飼い慣らす感覚が重要だ。
開発者視点では、AIの活用はコーディングスキルからメタ認知スキルへの移行を意味する。AIが生成するコードが意図通りかを確認する読解力が必要だ。
プロジェクト内にAGENTS.mdのような形式でルールを明文化しておく。ルールの外注化に成功したチームや個人は、開発速度を6倍から10倍に引き上げている。
AIは何度でもリトライさせ、納得いくまでコードを最適化させることができる。心理的摩擦ゼロの試行錯誤は、情報量の少ない技術領域において強みになる。
ただし「Accept all」の誘惑には注意が必要だ。AIが提案する修正案を精査せずに承認し続けるのは危険だ。不可逆な操作や環境を破壊しかねないコマンドをAIが実行しようとする際、人間による監督が不可欠だ。
AIは疲れを知らないパートナーだが、文脈を共有しなければ暴走する部下でもある。AIに思考のプロセスを言語化させ、その出力を人間がレビューする人間+AIのループを構築する。
ここまで読んだあなたに
今なら無料で全機能をお試しいただけます。設定後はAIが投稿案を毎日生成。確認して選ぶだけ。
開発現場に持ち込むべき「監督者」としての作法
明日からの実務で、AIとのタスク定義に完了条件を明文化して組み込む。AIに「機能を作って」と投げるのは、部下に丸投げするのと同じだ。
プロンプトの末尾に、タスクの完了条件を箇条書きで添える。テストがパスすること、既存のAPI定義を壊さないこと、修正案を提示して停止すること、といった制約がAIの暴走を減らす。
次に「低介入ハーネス」という考え方を導入する。これはAIにコードを直接触らせるのではなく、まずは判断記録や修正案を出力させる運用だ。
重要なアーキテクチャの変更や不可逆な操作は、人間によるレビューのフィルターを通す。ThreadPostの改修で重要なロジックをいじる際は、AIに実装案を3パターン出させる。
しんたろー:
AIの出力コードをそのままコピペして動くか祈る時間は無駄だ。レビュー前提でAIに設計書を書かせ、コードは最後に生成させる方が結果的にバグが少なくて速い。
プロジェクトごとにAGENTS.mdのような行動原則を定義する。設計方針、禁止事項、命名規則、安全要件をテキストファイル1枚にまとめ、AIに常に参照させる。
AIが裏で何を考えているのか、なぜそのコードを書いたのかを放置しない。怪しい動きを感じたら、どのファイルを参照して何を理由にその実装を選んだのかを問い詰める。
僕ら開発者の仕事は、コードを書くことからAIのコンテキストを管理し、出力を監督することへシフトした。今日書くタスクのプロンプトに完了条件を一行書き加えることから始める。
よくある質問
Q1: AIにコードを書かせると意図しない実装やバグが混入するのが不安です。どう対策すべきですか?
AIの出力を鵜呑みにせず、人間によるレビューをプロセスに組み込む。AIに書かせたコードを別のスレッドや別のAIモデルに渡し、客観的な視点でコードレビューを依頼する。重要なロジック変更や不可逆な操作については、実装はせず判断記録と修正案のみを出力するよう指示する。人間が内容を承認してから実行する低介入ハーネスを構築する。
Q2: AIに指示を出しても、期待通りのコードが出てきません。何が足りないのでしょうか?
指示が曖昧な可能性がある。AIが迷わないためには、Context(関連するドキュメントやファイル)、Constraints(守るべき設計方針や禁止事項)、Done when(具体的な完了条件)の3要素を明示する。特にDone whenを定義すると、AIは停止すべきタイミングと出力すべき内容を正確に理解する。曖昧な指示はAIの推測を招き、意図しないコード生成の原因となる。
Q3: 開発中にAIが頻繁に許可を求めてきますが、全部「Accept」しても大丈夫ですか?
安易なAccept allは避ける。AIは文脈を理解していても、ファイルシステムへの書き込みや外部コマンドの実行といった不可逆な操作については、人間が中身を精査する。特にスクリプトの実行やライブラリのインストール指示が含まれる場合は、何が変更されるのかを確認する。AIを信頼しつつも、最終的な実行権限は人間が握り続ける監督者の姿勢が、開発効率と安全性を両立させる。
まとめ
AIをコード生成機として使うのは、フェラーリで近所のコンビニへ買い物に行くようなものだ。真の価値は、AIを専属のシニアエンジニアとして迎え入れ、人間が監督者としてコンテキストと完了条件を定義するプロセスにある。
開発速度を左右するのはAIの性能よりも、人間がいかに何を、どこまで、どうやってをクリアに言語化できるかというメタ認知能力だ。AIとの対話を通じてプロジェクト全体を整理し直す体験は、一人でコードを叩くより刺激的で効率的だ。
ThreadPostの開発でAIをパートナーとして扱うようになってから、コードを書く時間よりもプロダクトの設計に費やす時間が増えた。この感覚は一度味わうと戻れない。

この記事が参考になったら、ThreadPostを試してみませんか?
投稿作成・画像生成・スケジュール管理まで、AIがサポートします。
ThreadPostをもっと知る