top of page

AIにAPI結果を全部渡さない|58,828トークン警告から学んだ「必要な情報だけ返す」設計

9月25日
読了時間: 4分

更新日:1 日前

大量のAPIレスポンスを漏斗で絞り、AIへ必要な情報だけ渡す様子を表したブログ画像。58,828 tokensの警告を題材にした情報設計

これは、ChatGPTなどのAIにAPIの結果を渡すとき、「取れるデータを全部渡したほうが賢く判断できるのか?」という話です。


僕はWixの商品データやCMSを調べる作業で、APIの返り値をそのまま扱おうとして、逆に作業しにくくなった経験があります。


そのとき画面に出たのが、

Response was ~58,828 tokens (limit: 6,000). Refine your code to return less data.

という警告でした。


ここで大事なのは、この58,828をAPI課金のトークン数やモデル利用料金として解釈していないことです。これは、その作業環境で返そうとしたレスポンス量が表示上限を大きく超えた記録として扱っています。



全部取れることと、全部必要なことは違う


大量の商品データを取ると、長い説明文、価格、在庫、画像、関連情報など、目的に関係のない項目まで一緒に返ってきます。


でも次の作業が「どの商品画像を使うか」だけなら、必要なのは商品名、商品ID、URL、画像情報程度かもしれません。


重要なのは、APIが返せる最大量ではなく、次の判断に何が必要かです。



先に「次に何を判断するか」を決める


データを減らす基準は、単純に少なければよい、ではありません。必要な情報まで削ったら意味がありません。


画像を選ぶなら画像IDが必要です。価格改定なら価格やSKUが必要です。同じAPIでも、次工程によって残すフィールドは変わります。


だから僕は、APIを呼ぶ前に「この結果を見て次に何を決めるのか」を先に決めるようにしています。



対象件数と、1件あたりの情報量は別に絞る


レスポンスを小さくするときは、少なくとも2方向があります。


filterやpagingで対象や件数を絞ること。そしてfieldsやfieldsetsなどで、1件あたりに返す項目を絞ることです。


10件だけ取得しても、1件ごとに巨大な説明文や多数の関連データを返せば、全体はまだ大きいままです。



API側で絞れないなら、AIへ渡す前に整形する


すべてのAPIが都合よく必要項目だけ返せるとは限りません。その場合は、取得後のコードで商品名・ID・URL・画像情報だけに整形してからAIへ渡します。


元データを捨てる必要はありません。監査やEvidence用の生データは別に残し、今の判断に使う情報だけを作業画面へ出す、という分け方ができます。



58,828という数字から学んだこと


この事例で確認できたのは、大きなレスポンスが表示上限にかかったことと、その後は対象候補の商品名・ID・URL・画像情報など、次の判断に使いやすい形へ整理されたことです。


処理時間が何%短くなった、費用が何%下がった、精度が何%上がった、という測定はしていません。


なので僕がここから得たのは性能改善の数字ではなく、「AIへ渡す情報も設計対象にする」という実務ルールです。



まとめ


AIにたくさん情報を渡せば、必ず判断が良くなるわけではありません。


次の判断に必要な情報が最後まで見えること。対象を間違えないこと。必要なら元データへ戻れること。


API連携では、「全部渡す」より「必要十分な形へ変換して渡す」ことのほうが大切な場面があります。








コメント


bottom of page