You:
Webブラウザー版の ChatGPT で生成できるコードの行数は1000行ぐらいでしたっけ?php_cli_server.cの行数は約2900行なので、AI が扱えるコンテキストを超える可能性があるので、今までコードをちびちび投稿してきました。この分量になると改善に関する明確な指示がないとAIが回答しづらいと思います。
ChatGPT:
はい、その通りです。Webブラウザー版ChatGPTの1回の出力(コードブロック)の上限は1000行弱(約4000トークン前後)ですし、「一度に全コードを把握して全体設計まで踏み込む」のはコンテキスト制限の壁があります。
-
コードを500~1000行ずつチャンク化して投稿
→ 各チャンクごとに「何がしたいか」「どの観点で見てほしいか」を具体的に指示 -
例:
「この500行の中で、イベントループ関連の関数名と呼び出し関係だけリストアップして」
「ここからここまでがHTTPレスポンス組み立て部分。可読性や分割の観点でアドバイスが欲しい」
-
「全体最適」より「局所最適」を反復するのが現実的
-
たとえば:
-
「do_cli_server()と関連ハンドラーだけ抜き出したので、これを上から順に並べ直して」
-
「この範囲を1ファイルに切り出す場合、前方宣言とincludeの依存をどう整理したらいいか」
-
「ここのstatic関数群を役割ごとにブロック分けするコメント案を生成して」
-
-
「サマリー・関数一覧・構造体一覧だけAIに作ってもらう」
-
「一部のみコード全文を貼り、全体像は構造や役割だけで指示」(「do_cli_server.c」「httpserver.h」など今までの使い方は理想的)
-
どうしても「全体設計レビュー」が必要な場合は**「関数一覧+コメント」だけAIに貼ってもらい、人間側で「ここを深掘りして」とやり取りを進める**
-
全体整理→AIに関数名と役割コメントだけ並べてもらう
-
人間が主要な修正点・狙いをピックアップ→AIに局所リファクタや設計案生成を依頼
-
進化系エージェント(例:MCPやAutoGen)は部分的な自動レビュー・再設計も得意
→「この部分の抽象化案だけ考えて」「テスト容易性の観点だけでリストアップ」など粒度指定が有効
-
細かくコードを分割して投稿し、「ここをこうしたい!」という意図をしっかり伝える
-
「コード分量多すぎるからAIは難しい」と思ったら「関数一覧+目的」だけ先に出す
-
「何を優先的に変えたいか」「どこが自分で悩んでいるか」だけ具体的にAIに投げる
→ 回答精度と満足度が大きく上がる
もし「分割して投稿したいがどの粒度で進めるとよいか」「AIに何を最初に依頼したらよいか」悩んだ場合も、
ケースごとに相談OKです!このまま今の調子で進めて大丈夫です。