多くのステップが必要になりそうな作業では、目指す成果、制約、完了条件を ChatGPT に明確に伝えます。関連する作業を同じチャットで進めると、ChatGPT は同じコンテキストをもとに次のステップを選び、作業が完了したかどうかを判断できます。
ChatGPT デスクトップアプリで /goal と入力すると、ゴールモードが始まります。ChatGPT が作業している間も、進捗を表示する行からゴールを一時停止、再開、編集、またはクリアできます。
Web 版 ChatGPT のホスト環境で長時間の作業を進めるには、ChatGPT Work を使い、目指す成果、制約、レビュー基準をプロンプトに直接記載します。
コンテキストを追加する場合や、制約を変更する場合、進捗を確認する場合は、同じ Web チャットを続けます。独立したタスクを並行して実行できる場合は、チャットを分けます。同じ接続先に対する書き込み権限を 2 つのタスクに与えるのは避けてください。関連する作業のチャットとソースファイルは、同じプロジェクトにまとめます。
Codex CLI の対話型セッションで /goal と入力すると、ゴールモードが始まります。作業の方向を調整したり、進捗を確認したりするには、同じセッションを続けます。
IDE 拡張機能のチャットで /goal と入力すると、開いているワークスペースでゴールモードが始まります。タスクの実行中に進め方を調整するには、同じチャットを続けます。
ゴールの開始
ChatGPT デスクトップアプリ、Codex CLI、または IDE 拡張機能で /goal と入力します。ゴールとして記述した内容が、タスクの最初のプロンプトになり、完了条件にもなります。
目指す成果がまだ明確でなければ、まず /plan を使います。ChatGPT に質問してもらい、そのやり取りから制約を洗い出し、達成度を測れる基準を含むゴールにまとめてもらいます。そのうえで、具体化したゴールを /goal で開始します。
完了条件の定義
ChatGPT が自分で進捗を確認できるようにゴールを記述します。次の 3 つの要素のうち、該当するものを含めてください。
| ゴールの要素 | 記載する内容 |
|---|---|
| 成果 | ChatGPT に依頼する作業だけでなく、その作業で得たい結果を示します。 |
| 制約 | 必須のツール、作業範囲、互換性の要件、避けるべき手法などを指定します。 |
| 検証 | 作業の完了を確認できるテスト、測定方法、レビュー基準などを示します。 |
たとえば、次のように記述します。
このコードベースを JavaScript から TypeScript に移行してください。既存の動作を維持し、`any` 型を明示的に指定せずに strict モードでコンパイルしてください。
テストスイートのすべてのテストが通るようにしてください。 実行中のゴールの調整
ChatGPT デスクトップアプリでは、コンポーザーの上にゴールの進捗が表示されます。この行から作業を一時停止または再開したり、ゴールを編集またはクリアしたりできます。ゴールの実行中に追加のメッセージを送って、コンテキストを補ったり、制約を調整したりすることもできます。
メインのチャットを中断せずに進捗の要約や説明を求めるには、サイドチャットを使います。接続が切れる見込みがある場合は、事前にゴールを一時停止し、ChatGPT に作業を続けてもらう準備ができたら再開します。
実行中のゴールの調整
コンテキストを追加したり、制約を調整したりするには、同じ対話型セッションで追加のメッセージを送ります。Codex が作業を続ける前に進捗を確認したい場合は、それまでの進捗を要約するよう依頼します。
実行中のゴールの調整
コンテキストの追加、制約の調整、進捗の要約の依頼は、同じ IDE チャットで行います。ゴールの実行中は、ワークスペースを利用できる状態にしておいてください。
ゴールを開始しても、ChatGPT のアクセス権限は広がりません。引き続き同じサンドボックスと承認ポリシーが適用され、判断が必要になると作業を一時停止します。承認リクエストの自動レビューを使用する場合は、権限の範囲を広げることなく、別のレビュアーが対象のリクエストを評価できます。
ゴールの並行実行
コンテキスト、メッセージ、結果、ゴールはチャットごとに保持されます。複数のチャットを並行して実行する場合は、2 つのチャットが同じファイルを変更しないようにしてください。コーディング用のチャットを並行して実行するときは、Worktree を使ってチャットごとに個別のチェックアウトを用意します。
ローカルで作業する場合は、Mac がスリープしないように、設定で実行中のスリープを防止をオンにします。Pet やシステム通知を使うと、チャットへの入力が必要になったときや、レビューの準備が整ったときに確認できます。