その指示、前のモデルのために書いていないか?
「毎回この資料を読むこと」「必ずテストすること」「作業前に確認すること」。Codexの失敗を防ごうとして、こうした指示を足してきた人はいるはずです。
資料を読まずに直したから、先に読むように書く。勝手に進めたから、確認してから動くように書く。
そのときは理由があった一文も、使うモデルが変われば、同じように役立つとは限りません。
以前のモデルを補助するために決めた手順が、GPT-6 Astraには細かすぎる場合があります。逆に、進めてほしい範囲を伝えていないために、途中で確認を求める場合もある。
そこで見直すのは、指示の量だけではありません。毎回やらせることを減らし、必要な場面と、終わりの条件をはっきりさせることです。
OpenAIでCodexの開発者体験を担当するEric Provencher氏は、この問題を「Rethinking skills and prompts for GPT-6 Astra」という記事で取り上げています。
日本語にすると、「GPT-6 Astraに向けて、Skillsと依頼文を考え直す」という内容です。
対象は、普段チャットに書く依頼だけではありません。リポジトリ、つまりプロジェクトのファイル群での作業ルールを伝える「AGENTS.md」も含まれます。
「Skills」は、特定の作業で使う手順や知識をまとめたものです。こちらに保存した指示も、Codexの進め方を左右します。
この記事ではEric氏の説明と参考画像をもとに、何を減らし、何を残し、どう書き換えるかを見ていきます。読者向けに作った例には、原文の例と区別できるよう「応用例」と記しました。
Astraが期待どおりに動かない原因を、すべて古い指示のせいにする話ではありません。手元に積み上がったルールのうち、今の仕事に合っていないものを点検するための記事です。
① Astraでは、なぜ指示の見直しが必要なのか
Eric氏が出発点に置いているのは、モデルに付き添うための指示が、以前ほど必要ではなくなっているという変化です。
以前は、一つずつ順番を指定しなければ進まなかった作業もあった。曖昧な部分を補うため、詳しい手順や注意書きを積み上げてきた。
しかし、原文では、モデルは細かな意味の違いや曖昧さを扱うのが上手になっていると述べられています。かつて役立った細かい指定が、今は結果を妨げる場合があるという指摘です。
ここで読み違えたくないのが、「モデルが賢くなったのだから、説明をやめよう」という話ではないことです。
Eric氏は、必要な資料への案内を残すことも勧めています。安全に進められる範囲や、完成までに必要な作業は、原文でも説明を求めている部分です。
同じ指示でも、何を伝えるための一文なのかで、見直し方が変わります。
たとえば、プロジェクト固有の事情を伝える説明と、以前のモデルに手順を守らせるための説明は、分けて読む必要があります。
「この資料に設計上の制約が書いてある」は、資料を探す手掛かりです。一方、「どんな編集でも、毎回この資料を最初から全部読む」は、読むタイミングまで一律に固定しています。
資料の存在を知らせることと、毎回すべてを読ませることは、同じではありません。
また、「本番へのアクセスは禁止」と「ローカルでテストを実行する前にも確認する」では、止めている行動が違います。
前者を守りたいからといって、後者まで必要になるとは限らない。ただし、本当にローカルで完結するか分からないなら、その確認を飛ばしてよいわけでもありません。
原文に出てくるSkills、AGENTS.md、普段の依頼文は、どれもこうした判断に関わります。チャットの一文だけ直しても、別の場所に同じ制限が残っていれば、点検はそこで終わりません。
たとえば、依頼文では「動くところまで仕上げて」と書きながら、適用される手順に「初回実装で必ず止まり、レビューを求める」と残していたらどうでしょう。
これは指示の食い違いを説明するための例です。少なくとも、使う側がどちらを望んでいるかを整理しないままでは、依頼の終点が揃っていません。
見直すときは、「長いから削る」では判断しません。その一文が、必要な知識を伝えているのか、作業の範囲を決めているのか、単に以前の手順を繰り返させているのかを見ます。
文字数が短くても、「必ず全部確認する」の対象が曖昧なら、良い指示とは言い切れません。少し長くなっても、読む条件や止まる場所が分かる方が、意図を伝えられる場合があります。
② 減らす指示:毎回の読み込み・細かすぎる手順
最初に点検したいのは、仕事の内容に関係なく発動する読み込みルールです。
Eric氏は、誤字を直すだけの作業にまで、大量の資料やリポジトリ全体の案内を読ませるのは過剰だと説明しています。
資料を読むと、その内容がモデルの作業中の情報に入ります。原文が指摘しているのは、関係のない説明まで読み込むことで、使える文脈を消費し、作業を遅くする問題です。
ここでいう文脈とは、モデルがその作業で参照している情報のまとまりです。増え続ければ、会話や作業履歴を圧縮する処理にも近づきます。
そのため、参照先の数だけを減らすより、今の依頼で何を読む必要があるかを区別します。
例A:参考画像の日本語訳
修正前
編集前に必ず architecture.md、database.md、deployment.md をすべて読むこと。
修正後
サービス間の境界を扱う際は architecture.md、DBの構造を変更するときは database.md、デプロイを準備するときは deployment.md を参照すること。
残したのは、3つの資料への案内です。変えたのは、資料を開く条件です。
この例では、architecture.mdは、複数のサービスの役割やつながりを扱う資料。database.mdは、DB、つまりデータベースの構造を扱う資料です。
この例では、deployment.mdは、作ったものを実行環境へ反映する「デプロイ」の準備で参照します。修正後に加わったのは、この資料と作業の対応関係です。
修正前では、画面の誤字を一つ直す依頼にも「すべて読む」が適用されます。修正後では、たとえばDBの構造を変える作業なら、対応するdatabase.mdへ進めます。
だからといって、ほかの資料を読むことを禁止しているわけではありません。作業が複数の領域にまたがれば、必要な資料も一つとは限らない。
この例から「資料を一つだけ選べばよい」という別の一律ルールを作ると、元の意図から離れます。
読むべき資料を削除したり、内容を薄めたりしたわけでもありません。小さな変更にも全資料の確認を求める条件を、作業内容に合わせて書き直しています。
また、Eric氏は資料を最新に保つことにも触れています。参照条件を整えても、案内先に古い説明が残っていないかという確認は別に必要です。
例B:原文をもとにした応用例
次は、記事・動画・SNS投稿をCodexに任せる場面へ置き換えた例です。Eric氏本人が掲載した制作手順ではありません。
修正前
コンテンツ制作では、記事・動画・SNS投稿の全手順を読むこと。
修正後
記事執筆では writing.md、動画制作では video.md、SNS投稿文の作成では social.md を参照する。複数形式の依頼では該当する手順を参照する。
ここでも、記事・動画・SNS投稿それぞれの手順は残しています。変更したのは、「コンテンツ制作」という広い括りで、全手順を読ませていた部分です。
記事一本の執筆を頼んだなら、記事用の説明へ進む。記事と、その告知投稿を一緒に頼んだなら、記事とSNSの両方の手順へ進む。
動画の依頼がないのに、動画制作の全工程まで読み込むことを、共通の入口では求めなくなります。
原文では、必要な説明を段階的に渡す考え方を「progressive disclosure」と呼んでいます。入口には行き先を判断するための説明を置き、詳しい知識や手順は、その先の資料へ分ける方法です。
たとえば、入口に記事の全手順、動画の全手順、SNSの全手順を並べると、どの依頼でも大きな説明を読む形になります。
そこで入口を、「記事ならこの資料、動画ならこの資料」と案内する役割に絞る。詳しい説明を捨てずに、必要になったところで読めるようにします。
Eric氏は、複数の作業手順を持つSkillでは、最初の文書を最小限の案内役にするよう説明しています。関連する文書や、作業を実行するスクリプトへ進める程度の情報を置くということです。
入口だけを見て、どの資料へ進めばよいかが分かる状態を作ります。長い説明を短く要約するだけでは、この参照先の整理は済みません。
必要な注意事項まで要約で落としてしまえば、別の問題になります。上の応用例で残しているのも、各形式に固有の手順そのものです。
テストも「何度でも必ず」になっていないか
原文では、以前のモデルには、テストや作業確認を促す必要があったと述べられています。一方、Astraは自ら行うため、同じ指示が不要なテストにつながる場合があると指摘しています。
ここを「Astraならテスト不要」と読み替えてはいけません。話題になっているのは、確認をやめることではなく、指示によって余計な確認を重ねていないかという問題です。
自分の設定へ当てはめるなら、どの変更に対して、どの確認を求めているかを見ます。必要な検査の内容と、何かするたびに一律で繰り返す条件は、分けて点検できます。
この記事ではテスト回数や処理時間を比較していないため、書き換えれば何分短くなる、という効果は示していません。点検する対象は、必要な検査と、余分な繰り返しを区別できているかです。
③ 絞る指示:そのSkillは、いつ使うのか
Skillは、たくさん入れるほど選びやすくなるわけではありません。Eric氏は、大量のSkillをダウンロードして追加する使い方に注意を向けています。
原文によると、各Skillの名前と説明は、モデルが使いどころを判断するために文脈へ読み込まれます。
ここで、名前・説明の読み込みと、Skill本文の読み込みを分けて考えてください。最初からすべてのSkill本文を読む、という説明ではありません。
モデルはまず、名前と説明を手掛かりに、今回どれを使うかを判断します。その説明が長すぎたり、Skillが多すぎたりすると、Codexが収まるように説明を短縮すると原文は述べています。
結果として、モデルには各Skillの説明が一部しか見えず、選びにくくなる場合がある。必要な手順が保存されていても、入口の説明が十分に伝わっていない可能性があるという話です。
さらにEric氏は、説明同士の矛盾や、何にでも自分を使わせようとする説明にも触れています。作業に役立たない指示を読み込む原因になり得るためです。
だから、説明に専門用語を詰め込んで、守備範囲を広く見せればよいわけではありません。今回の仕事で呼び出すべきかどうかが分かる説明にします。
参考画像の日本語訳
修正前
PostgreSQLのスキーマ移行を作成・検証する。データベース、クエリ、モデル、永続化に関わる作業で使用する。
修正後
PostgreSQLのスキーマ移行を作成・検証する。移行の追加・変更、または適用手順のレビューで使用する。
PostgreSQLはデータベースの一種です。「スキーマ移行」は、データの入れ物となる表や項目などの構造を変更し、その変更を適用するための作業を指します。
たとえば、保存する項目を増やすために、データベースの構造を変える場面です。ここでは用語の意味を説明する例として挙げています。
一方、修正前の説明にあるクエリは、データを取得・操作するための問い合わせです。永続化は、データを後から使えるように保存することを指します。
これらはDBに関わる言葉ですが、DBを扱う仕事のすべてが、構造を変える移行作業になるわけではありません。
修正前の一文目は「移行を作成・検証する」と、専門の仕事を示しています。ところが二文目では、データベースに関係する広い作業まで、使用条件に含めています。
この範囲のずれが、参考画像で直している箇所です。Skillの得意分野と、呼び出す条件が揃っていません。
修正後も、「PostgreSQLのスキーマ移行を作成・検証する」という役割は残っています。そのうえで、移行を追加する、移行を変更する、適用手順をレビューする場合に絞っています。
たとえば、既存データを取り出す問い合わせを確認したいだけなら、「データベースに関係する」という理由だけで、この移行用Skillを呼ぶ必要があるとは限りません。
反対に、構造変更をどう適用するかのレビューなら、修正後の説明でも対象です。狭くしたことで専門作業まで失ったわけではありません。
説明を直すときの確認点は、「このSkillが何に詳しいか」だけではありません。「どの依頼なら使い、どの依頼まで広げないか」が読めるかを見ます。
短くするために「DB用Skill」とだけ書けば、呼び出す条件が消えてしまいます。原文が求めているのは、使う場面が明確である範囲で、説明をできるだけ短くすることです。
名前の強さや説明の長さより、頼まれた仕事と適用条件が一致しているか。その確認に、上の修正前後を使えます。
④ 明確にする指示:どこまで進めて、何をもって完成か
ここからは、必要な説明を足す側の話です。読み込みや手順を減らすだけでは、途中で止まる問題まで扱えません。
Eric氏は、Astraは丁寧に取り組む一方、どこまで進めるかについて慎重になる場合があると述べています。続けてほしい範囲の伝え方も、原文が扱う見直しの対象です。
特に、以前のモデルが許可なく動いた経験から「必ず先に確認する」と強く書いてきた場合は、その境界を点検します。
原文が指摘しているのは、境界を真面目に守るために、本当は続けてよかった場所で止まる可能性です。確認の指示を無視させるのではなく、何を許可していたのかを書き直す話です。
A:承認範囲を明確にする
原文には、使い捨てのテストデータを使い、本番へアクセスしないローカルテストの例があります。自分の作業環境内で行う、その特定の作業を許可する例です。
次の修正前は、対比のために作った応用例です。修正後には、原文にあるローカルテストの指示を日本語訳して載せています。
修正前:対比のための応用例
テストを実行する前と、失敗を修正する前には、その都度、承認を求めること。
修正後:原文の例の日本語訳
ローカルテストは使い捨てのテストデータを使い、本番へはアクセスしません。テストを実行し、依頼された変更による失敗を修正し、影響するテストを再実行するところまで、各段階で承認を求めずに進めてください。
残しているのは、対象となる環境と作業の範囲です。変えたのは、その範囲の中でも毎回承認を求める条件です。
「使い捨てのテストデータ」「本番へアクセスしない」は、飾りの前置きではありません。この指示を使ってよいかを判断する前提です。
実際には本番へ接続するテストなのに、文章だけ「本番へはアクセスしません」と書いても、環境が変わるわけではありません。
ローカルと呼ばれているだけで、その条件を満たすか分からない場合もあります。確認できない条件は、確認できないまま残します。
また、許可されている修正は「依頼された変更による失敗」です。テストで見つかった問題をすべて修正してよい、と範囲を広げた指示ではありません。
再実行の対象も「影響するテスト」と書かれています。何度でも全テストを繰り返す、という一律の指定とは違います。
この一文は、進めてよい行動を具体化していますが、ほかの作業への承認までなくしていません。安全だと確認できた作業のまとまりを、どこまで任せるか示しています。
「毎回止まるのが面倒だから、全部許可する」へ進む必要はありません。止まってほしくない作業と、引き続き判断を戻してほしい作業を分ければ、依頼の意味が変わります。
B:完了条件を明確にする
Eric氏は、長く作業を続けるGPT-5.6 Solに慣れていると、Astraの止まり方を慎重に感じる場合があると説明しています。
初回の実装ができた段階で、まだ作業が残っていても、レビューを求めて戻ってくることがある。そのため、開始前に完成の条件を決めることを勧めています。
必要なのが、実装するところまでなのか、動かして確認するところまでなのか。さらに、確認で見つかった不具合を直すところまでなのか。
その違いを、依頼を出す側が先に整理します。「完成させて」の一言だけでは伝わりにくい終点を、作業として書きます。
以下は、原文の説明を問い合わせフォームの制作へ置き換えた応用例です。Eric氏本人の依頼文でも、実際に動作を検証した結果でもありません。
修正前
問い合わせフォームを作って。実装できたら確認させて。
修正後
問い合わせフォームを作って。今回はローカルで、必須項目の未入力と不正なメールアドレスを検知でき、テスト送信後に完了画面が表示されるところまで確認する。今回の変更による不具合は修正し、確認結果とともに報告して。本番への公開と実際のメール送信は行わない。
残しているのは、問い合わせフォームを作る目的と、人間へ結果を報告することです。変えたのは、報告の前にどこまで確かめるかです。
修正前は、「実装できたら確認させて」と頼んでいます。初回実装の時点で止まっても、指示から外れたとは言えません。
途中の設計を見たいなら、その止まり方には意味があります。まだ決めていない部分を確認するための停止なら、残す理由がある指示です。
一方、今回欲しいのが動作確認まで済んだフォームなら、その確認を依頼に含めます。例では、未入力、不正なメールアドレス、テスト送信後の表示を挙げています。
「ちゃんと動くか確認して」だけの場合に比べ、試す状態が具体的です。確認で今回の変更による不具合が分かれば、修正してから報告するところまでを対象にしました。
同時に、本番公開と実際のメール送信は対象から外しています。画面のテスト送信を確かめることと、本物の宛先へメールを届けることを混同しないためです。
この依頼は、実際のメール送信機能まで検証できたと扱うものではありません。ローカルでどこまで確認したかを、結果として報告してもらいます。
原文に沿って言えば、最初の実装より先へ進めたいなら、何を調べ、どこで止まるかを伝えます。
「途中で止まらないで」とだけ強めるより、必要な確認と、進めない操作を併記する。これなら、人間に戻す場所まで含めて見直せます。
⑤ 自分の設定を監査する
Eric氏は原文の最後に、この記事をもとにAstraへ監査を頼むことを提案しています。監査とは、今ある指示を読み、重複や食い違い、見直せる箇所を点検することです。
自分のAGENTS.mdやSkillsを開いて、気になる一文から見る方法もあります。ただ、どこにどんな指示を書いたかを一度整理したいなら、変更前の監査として任せられます。
まずファイルを変更せず、監査だけ行う進め方は、本記事の提案です。Eric氏が必須手順として指定したものではありません。
その際、最初から「不要な指示を全部消して」とは頼みません。先に欲しいのは、元の指示と、どこをどう変える案なのかを比較できる材料です。
もう一つ、原文にある注意点を残しておきます。リポジトリに置いたSkillsや指示は、自分以外の作業者のAIにも使われる可能性があります。
そのAIが、同じAstraを使うとは限りません。Eric氏は、SolやLunaに役立つ説明が、Astraには制約を加えすぎる場合があると指摘しています。
Astraで使う自分には細かく見えても、別モデルにも必要かもしれない。共有ルールを変えるなら、誰がどのモデルで使うのかも判断材料です。
利用状況が不明なら、「Astraしか使わない」と推測して削除しません。分からない点を残したまま、修正候補を確認できれば十分です。
次の監査用プロンプトは、この記事をもとに読者向けに作成したものです。Eric氏が原文に掲載したプロンプトではありません。
対象のプロジェクトで使い、記事本文と、監査したい依頼文を共有してください。読める範囲が限られている場合は、その範囲での点検結果として受け取ります。
共有したEric Provencher氏の記事の解説を基準に、現在の指示を監査してください。今回は監査のみ行い、ファイルの作成・編集・削除、設定変更はしないでください。
対象は、このプロジェクトに適用されるAGENTS.md、利用可能なSkillsの名前・説明と監査に必要な本文、私が共有した普段の依頼文です。読めた対象を一覧にしてください。
次の問題がないか調べてください。
・複数の場所にある重複した指示
・同時に守れない、または終点が食い違う指示
・作業内容に関係なく、毎回の読み込みや確認を求める過剰な一律ルール
・Skillの実際の役割より広すぎる適用条件
・どこまで進めるか、何を確認すれば完成か分からない指示
見つかった箇所は「削除」「短縮」「適用条件の変更」「維持」の候補に分け、理由を示してください。文字数を減らすこと自体を目的にせず、残す必要がある指示も挙げてください。
候補ごとに、以下を対応させて示してください。
- ファイル名・位置、または共有した依頼文の該当箇所
- 現在の指示
- 想定される問題と、その判断根拠
- 修正案。維持する場合はその理由
- 何を残し、何を変えるか
- 変更前に人間が確認すべき条件
プロジェクト固有の制約、専門知識、必要なテスト、必要な承認は一括削除しないでください。ローカルのテストや修正を続けてよいという案は、対象データと本番アクセスの有無など、環境条件を確認できた範囲でのみ提示してください。
SolやLunaなど、別モデルも同じ指示を使用するか確認してください。不明な場合は「不明」と書き、Astra専用のルールだと仮定しないでください。
読めなかったファイル、確認できない環境条件、判断に不足する情報を明記してください。資料内で説明された問題、実際に設定で見つかった問題、未検証の改善候補を区別し、改善効果を実測済みとして書かないでください。
最後に、優先して検討する修正候補を理由付きでまとめてください。変更の実行は、私が対象と内容を確認してから別途依頼します。
この依頼で受け取るのは、修正済みの設定ではなく、現在の指示と修正案が対応した一覧です。「削除候補」と書かれていても、それだけで不要と確定したわけではありません。
候補の分類は、読む条件を変える案まで「削除」にまとめないために設けています。この記事の資料参照の例なら、資料は残るので、中心になるのは適用条件の変更です。
Skillの説明も、専門の役割はそのままで呼び出す範囲を絞っています。この場合、専門知識そのものを消す案が返ってきたら、修正前後で残すものが違っていないかを確かめられます。
「短縮」の候補は、同じ条件と制約を短い文章でも伝えられるかを見るものです。「維持」の候補には、何を守るために必要なのかという理由を求めています。
監査の範囲も結果と一緒に見ます。Skillの名前と説明だけ読めたのか、実際の手順まで読めたのかも、結果を判断する材料です。
説明が広すぎるかは前者でも点検できますが、手順の中に重複があるか、必要な知識まで削っていないかは、本文を読めなければ確認できません。
普段の依頼文を共有していなければ、そこにある停止条件との食い違いも未確認です。設定の一部を読めただけで、作業環境全体の監査が済んだとは扱いません。
見る順番は、元の指示、候補にした理由、残る制約、未確認の条件です。たとえば本番アクセスの有無が不明なら、承認を省く案の前提は揃っていません。
必要な専門知識まで削っていないか、別モデルへの影響を決めつけていないかも確認できます。監査で見つけた疑いと、変更してよいという判断を分けたまま進めます。
足し続けてきた指示を、今の仕事に合わせて読み直す。最初の一手は、設定の一括削除ではなく、この変更しない監査からです。





