無人実行 は何をしますか?
これは「計画はこれ、実行して」のモードです。キーボードの前に誰もいない状態でエンドツーエンドに実装し、人間が戻ってきたときにレビュー可能であることを目指します。特定の時間帯に限定されません。質問に答えるために誰も見ていない任意の時間帯に適用されます。
承認された計画を前提とする
このモードは、「提案してから構築する」(coding-processを参照)を放棄するものではありません。これは承認後に何が起こるかを定義します。承認された計画内では、可逆的な実装の詳細を自分で決定し、各前提を書き留めてください。文書化された前提は、一晩中待機状態になったセッションよりも優れています。これが権限放棄のすべてです。
絶対に単独で越えてはいけない4つのチェックポイント
ステップが可逆的であっても、これらはチェックポイントのままです。いずれも判断に委ねられるものではありません。
- スコープ。 承認された計画でカバーされていないものすべて:新しい機能、誰も依頼していないリファクタリング、または難航したためにステップを削除すること。不足しているテストハーネスのセットアップはスコープに含まれます。
- マシンの外部に出るものすべて: 外部メッセージ、公開、サードパーティサービスへの呼び出し。リポジトリ内の作業(ブランチ、コミット、プッシュ、PR)は計画の内側です。外部とのやり取りは外側です。
- 費用が発生するものすべて: 有料API、プロビジョニングされたインフラストラクチャ、従量制のものすべて。
- 破壊的または不可逆的なものすべて: データ損失、共有ブランチへの強制プッシュ、本番環境。
作業を永続的に保つ
- まず分離する。 ハーネスがすでに提供していない限り、ワークツリーを使用してください。無人実行は、まさに他の誰かがメインチェックアウトに触れる可能性があるときです。
- 論理ユニットごとにコミットしてプッシュする。 最後だけでなく、各論理ユニットの後にコミットしてプッシュしてください。プッシュされていない作業は、セッションが突然終了すると失われます。このモードでは、これは通常の「コミット前の確認」をオーバーライドします。
- 未コミットの作業を残して一時停止にしないでください。 エージェントが使用制限を公開している場合は、制限付近で一時停止し、リセットを待ってから再開してください。
- チェックポイントでは完全なゲートを実行し、編集のたびには実行しないでください。 編集中は、変更した内容をキャッチできる最も狭いチェック(1つのパッケージの型チェック、または1つのテストファイル)を実行してください。ビルド、リンター、完全なテストスイート、およびCI相当のゲートは、作業単位が完了し、レビューのためにプッシュされる前に実行してください。10分前にパスしたスイートを、触っていないコードに対して再実行すると、学習なしに計算リソースを消費します。
委任(エージェントがサブエージェントを生成できる場合)
- 機械的な作業はより安価なモデルに委任する: 既存構造のクローン、ボイラープレート、ドキュメントの同期、反復的な編集。プライマリモデルは、正確性が重要なロジック(スキーマ、セキュリティ境界、コアサービス)と判断を要するタスクに使用してください。
- 同時実行は5程度に制限する。 それを超えると監査が現実的でなくなり、並列エージェントが同じファイルで競合します。
- 委任したものはすべて監査する。 サブエージェントの出力を読まずに統合しないでください。内容が理にかなっているか、規則に従っているか、ビルドとテストがグリーンかを確認してください。間違っている場合は、ギャップを判断してください。小さなものは自分で修正し、大きなものは訂正を添えて差し戻してください。
ブロッカー
- 表面化させる。推測しない。 計画ステップに明示的なチェックポイントがある場合、または真のブロッカー(インフラストラクチャの欠如、前提の失敗)に遭遇した場合は、設計を変更する回避策を考案するのではなく、明確にフラグを立ててください。
- 回答に依存しないことはすべて先に実行する。 そうすることで、人間は質問だけでなく、完了した作業とともに戻ってくることができます。
- 停滞したPRレビューもブロッカーです。 フラグを立て、回答に依存しない上流のステージをローカルで構築し続けてください。
誰も見ていない場合、UI検証は省略できない
ブラウザでUIを操作することは、誰も見ていないときに最も省略されやすいステップであり、その欠如はレビュアーが差分で確認できません。verify-uiに従ってください。環境が本当に機能を実行できない場合(資格情報の欠如、所有していないインフラストラクチャ)、PRの「テスト」セクションでその旨を明記し、何が妨げになったか、代わりに何を検証したかを名前を挙げて説明してください。沈黙は「検証済み」と解釈されます。
終了時
作業の状態を報告してください:何が出荷されたか(PRとブランチ)、何がレビュー待ちか、すべての前提、およびフラグが立てられたすべてのブロッカー。セッションが終了する場合は、docs/plans/にハンドオフを書き込んでください。