近年、多くの開発者がChatGPTを活用してコードレビューや学習効率の向上を図っています。しかし、コードの行数が多い場合や特定の長さを超えた場合に、ChatGPTから返ってくる出力が一部省略されてしまう問題に悩まされることがあります。
本記事では、ChatGPTのカスタム指示機能と、比較的トークン上限が大きいとされるChatGPT o3-mini-highを利用しながら、「コードを省略せずにレビューしてもらう」ためのプロンプト例やポイントを解説します。
1. カスタム指示(Custom Instructions)とは?
ChatGPTの「カスタム指示」機能を活用すると、あなたが望む書式や回答スタイルをチャット全体の前提条件として設定できます。具体的には、以下のように「いつでもコードを省略せず表示してほしい」「回答に対してはなるべく日本語で述べてほしい」などの指示を、チャットをはじめる前に仕込むことができます。
カスタム指示の設定例
- カスタム指示の項目
「どのようなスタイルで回答してほしいか?」といった設定欄に、たとえば次のように書きます。 -
いつでもコードは省略せずにすべて表示して回答してください。 行番号やブロックを分割する場合は、分割したすべてを連続して提示してください。 もし文字数制限を超えそうな場合は、複数の応答に分割してでも全文を示してください。
- 理由や背景の簡単な説明(任意)
ChatGPTに指示する意図や背景情報を簡潔に書いておくと、より正確な文脈理解を得られます。
カスタム指示をうまく設定することで、毎回手動で「省略しないで」とお願いしなくても、ChatGPTが(可能な限り)コード全文の表示を優先して応答してくれるようになります。
2. ChatGPT o3-mini-highモデルの特性
「ChatGPT o3-mini-high」は、比較的大きめのコンテキスト(トークン数)を扱えるとされるモデルです。コードレビューなど、長いテキストを一度にやり取りしたいときに便利ですが、それでもトークン上限は存在します。
そのため、コードが非常に長い場合は以下のように対応してください。
- コードを分割して送信する
一度のメッセージ内にすべてのコードを貼るのではなく、複数メッセージに分けることで、トークン制限で途中省略されるリスクを低減できます。 - ChatGPTが途中で省略したら追加のメッセージで再送する
もし出力が途切れていたり「…」で省略されたりしたら、「前のコードが省略されました。続きからすべて表示してください」と指示し、続きを表示してもらいます。 - カスタム指示を再確認する
カスタム指示設定が正しく入っているかをチェックし、必要に応じて修正・再保存することも有効です。
3. コードレビュー依頼時のプロンプト例
(A) カスタム指示に依存しない、単発プロンプトのサンプル
下記のようにユーザーメッセージ(systemではなく、通常の入力)として、最初のやり取りで明確に「省略しないで」と指示する方法です。
あなたは優秀なコードレビュアーとして振る舞ってください。
これから提示するコードをレビューしてください。
【重要事項】
1. コードは一切省略せず、全文をそのまま表示してください。
2. もし一度の応答で全文を表示できない場合、複数回の応答に分割してかまいません。
その際は、一切省略せずに連続してコードを全て表示してください。
3. コードに対して、行番号ごとに問題点や改善点があれば具体的に指摘し、
詳細な解説を含めてください。
4. 私からの追加の質問に対しても、同様にコードを省略せずに取り扱ってください。
以下に対象のコードを示します。
--- コードここから ---
[ここにレビューを依頼したいコード全文を貼り付ける]
--- コードここまで ---
まずはコードを省略せずに全文を出力してから、レビュー結果を詳しく説明してください。
ポイント
- 「コードは一切省略せず」「全文をそのまま」など、強い言い回しで指示する
- 複数回の応答に分割を許可することで、トークン上限に引っかかった場合のリカバリを可能にする
- 最初に「全文を出力→レビュー」を段階的に指示する
(B) カスタム指示を利用したサンプル
ChatGPTのカスタム指示が有効な場合、設定画面から以下のような内容を入れておきます。
【カスタム指示の例】
(どういったスタイルで回答してほしいか?)
- いつでも提示されるコードは一切省略せず、全文を出力してください。
- もし一度の返信で全文を出力できない場合は、応答を分けてでも全文を提示してください。
- コードレビューを依頼された際は、行番号やセクションごとに問題点や改善点を解説してください。
このカスタム指示を保存した上で、通常のプロンプトから「レビューしてください」と投げるだけで、先ほどの(A)のような指示文を毎回書かなくても同様の効果が期待できます。
4. それでも省略されてしまう場合の対処法
- コードを小分けにする
あまりに長大なコードの場合は10行〜数十行ごとに区切って送信し、ChatGPTの返信でも同じく小分けにしてもらうと、全体的にやり取りがスムーズになります。 - 「途中までのコードを再掲して」という指示を避ける
もし途中出力が切れた場合に再掲をお願いすると、ChatGPTが“まとめ”や“要約”を挟むことがあります。必ず「すべてを省略せずに貼り直してください」と明確に促してください。 - 特定のエラーやトークン制限により応答できない場合
ChatGPTがどうしても「長すぎるため完了できません」とエラーを返した場合は、コードをさらに細かく分割して送ってレビューを続けるしかありません。
5. まとめ
- カスタム指示とChatGPT o3-mini-highを組み合わせると、より多くのトークンを扱いながら「コードの省略を抑えた」レビューを実現しやすい。
- とはいえ、依然としてトークン上限は存在するため、コードが非常に膨大な場合は複数メッセージへの分割やカスタム指示の再設定などが必要。
- 初回プロンプトで明確に「コード省略禁止」を強調しておけば、ChatGPTが途中で「…」などを挟むことを避けられるケースが多い。
コメント