
【2026年最新】OpenAI Assistants API廃止の全貌|8月26日終了までの移行完全ガイド
Key Takeaway: OpenAI Assistants APIは2026年8月26日に完全停止する。代替はResponses API + Conversations APIで、単なるエンドポイント差し替えではなく状態管理・ツールループ・コストモデルすべてが変わる。残り4ヶ月、プロトタイプは今月中に作れ。
4月22日時点で、Assistants API廃止まで残り約4ヶ月。筆者のチームも移行真っ最中で、正直「単純な書き換え」で済むと思っていたのは甘かった。Threadの概念が丸ごと消え、Runオブジェクトの非同期ポーリングが同期ストリーミングに変わる。アーキテクチャごと作り直しだ。
しかも、OpenAI公式の移行ガイドは概要しか書いていない。実際にコードを触ると、previous_response_idの扱い、ファイル検索ツールの挙動差、コスト試算のズレなど、ドキュメントに載らない罠が次々出てくる。この記事は、実装で詰まった箇所を全部洗い出して整理したもの。公式ガイドを読み終わった人が次に読むべき内容になっている。
そもそもAssistants API廃止とは何か

Assistants API廃止とは、OpenAIが2024年にベータ提供してきたAssistants APIを2026年8月26日に停止し、Responses API + Conversations APIへ一本化する計画のこと。正式発表は2026年1月で、移行期限は8月末。
廃止対象は/v1/assistants, /v1/threads, /v1/runsなどAssistants配下のエンドポイント群。Chat Completions APIは廃止されず継続する。つまり影響を受けるのは、AssistantオブジェクトやThreadを使ってチャットボット・エージェントを構築していたサービスに限られる。
逆に言えば、chat.completions.createだけで組んでいたシステムは今回の廃止と無関係。ただし将来的にはResponses APIが主流になるため、新規開発はResponses APIで書き始めるのが合理的だ。
廃止タイムラインと現在地

OpenAIが公表している重要日程は以下。今日(2026年4月22日)は、プロトタイプ完成フェーズの終盤にあたる。
| 時期 | マイルストーン | やるべきこと |
|---|---|---|
| 2026年1月 | 廃止の正式アナウンス | 使用箇所の棚卸し |
| 〜2026年2月 | インベントリ期 | 全アシスタント・ツールの一覧化 |
| 2026年3月〜4月 | プロトタイプ期 | Responses APIで主要機能の動作確認 |
| 2026年5月〜6月 | 移行実装期 | 本番コードの書き換え・並行稼働 |
| 2026年7月 | 検証・切替期 | Assistants APIの本番トラフィックを停止 |
| 2026年8月26日 | 完全廃止 | この日以降、API呼び出しはエラー |
要約すると、4月中にプロトタイプが動いていない場合はスケジュールとしてかなり厳しい。5月開始だとテスト期間が1ヶ月しか取れず、大型システムでは間に合わない可能性が高い。
Responses APIとConversations APIの違い

公式の代替は2つのAPIの組み合わせで、役割が明確に分かれている。
Responses APIは単発の応答生成を担当するステートレスなAPI。client.responses.create()で呼び、モデル出力・ツール呼び出し・ストリーミングを一発で返す。従来のChat Completionsに近いが、ツールループが組み込み済みで記述量が激減する。
Conversations APIは会話の状態管理を担当する。Threadsの後継だが、会話履歴を自動保持するシンプルな構造で、previous_response_idを手動で繋げる軽量パターンとの二択になっている。
| 観点 | Assistants API(旧) | Responses + Conversations(新) |
|---|---|---|
| 呼び出し方法 | Assistant + Thread + Run の3段構え | responses.create() 1発 |
| 状態管理 | Thread(自動) | Conversations か previous_response_id |
| ツール実行 | Run内で非同期ポーリング | 同期・ストリーミング |
| プロンプト管理 | コード内にハードコード | ダッシュボードのPrompts |
| ファイル検索 | vector_store_ids | file_search ツール(構造変更あり) |
結論として、新APIはオブジェクトモデルがフラットになり、コード量は減る。ただし、その分「Threadに勝手に溜まっていた履歴」を自前で管理する責務が増える。ここが移行の最大の分岐点になる。
コード書き換えで必ず変わる5つの箇所

実際に移行作業で手を動かすと、以下の5箇所は必ず書き直しになる。コードの行数で言うと、30〜50%は削減されるが、設計思想が変わるので機械的なsed置換では不可能だ。
1つ目はAPIエンドポイントそのもの。client.beta.assistants.create()やclient.beta.threads.runs.create()は全廃。すべてclient.responses.create()に集約される。
2つ目はプロンプト管理。Assistants APIではinstructionsフィールドにシステムプロンプトを書いていたが、新方式ではOpenAIダッシュボードに「Prompt」として登録し、IDをコードから参照する。これによりプロンプト改善時のデプロイが不要になる反面、Prompt IDをGitで管理する運用ルールが必要。
3つ目はスレッド→会話の置き換え。Conversations APIを使うか、previous_response_idで手動チェーンを組むかの二択。小規模なら後者で十分だが、ユーザーセッションが数万を超えるなら前者推奨。
4つ目はツールループ。旧方式ではRun作成→ステータスポーリング→requires_action時にツール実行→結果をsubmit_tool_outputsで返す、という煩雑なループだった。新方式はResponses APIが内部で勝手にループを回すため、開発者はツールの実装だけ渡せば良い。
5つ目は非同期処理パターン。Assistantsは完全非同期で「数秒〜数分待って結果を取る」設計だったが、Responses APIは同期かストリーミングが基本。UIは「待機画面」から「逐次出力」に変わる。
ファイル検索とベクトルストアはどう変わるか
ベクトルストアはそのまま使えるが、アタッチ方法が変わる。
旧方式ではvector_store_idsをAssistantまたはThreadにアタッチしていたが、新方式ではResponses APIのtools配列内でfile_searchツールとしてvector store IDを渡す。リクエスト単位でストアを切り替えられるため、柔軟性は上がった。
一方で、AssistantsではAssistants APIが自動で最適なチャンクを選んでいたのに対し、Responses APIでは検索結果の後処理(リランキング・コンテキスト挿入)をプロンプト側で意識する必要がある。ここで検索精度が落ちたという報告も出ている。
OCRを絡めた文書検索を運用している場合は、AI OCRツールの完全ガイドを合わせて読むと、前処理でテキスト化しておくべきかの判断材料になる。生PDFをベクトル化すると、新APIではノイズが増えやすい。
コストモデルの変化と請求額への影響
ここは盲点になりがちだが、移行で請求額は上下する。
Assistants APIは「Thread保持コスト」「Run実行コスト」「ベクトルストア保管コスト」が複合的にかかっていた。Responses APIはシンプルにトークン課金+ツール利用料に集約される。つまり、従来Threadに溜め込んでいた長大な履歴が、毎リクエストのトークン消費として顕在化する。
経験則として、履歴を圧縮せずにprevious_response_idで繋ぎ続けると、10ターン目以降は旧Assistants APIより30〜50%高くなるケースがある。対策は以下の2つ。
- 会話要約の定期挿入: 5ターンごとに過去ログを要約で置き換える
- Conversations APIの自動トリミング機能を有効化: 長期会話向けに設計されている
請求モニタリングは必須で、切替後1週間はコストダッシュボードを毎日確認すること。
移行を急ぐべきプロジェクト・様子見で良いプロジェクト
全員が今すぐ動く必要はない。優先順位を整理する。
即着手すべきのは、Assistants APIを本番で使っていて、月額コストが10万円を超えるプロジェクト。規模が大きいほど移行期間が長くなる。加えて、複数のアシスタント・多数のツールを使っているエージェント型サービスも要注意。AutoGPTのような自律エージェント構築事例でも、ツールループの書き換えが最大の工数を占めている。
中優先度は、社内利用のチャットボットや、月間リクエストが数千程度のサービス。5月〜6月着手で間に合う。
様子見で良いのは、Assistants APIのプレイグラウンドで試作しただけで本番化していないもの。そもそも本番化するなら新APIで書き直すべき。
逆に、これから新規開発を始める場合は、Responses API一択。Chat Completions APIも選択肢に残るが、マルチツール・マルチモーダルを扱うなら最初から新APIで書く方が将来楽になる。
他社AIサービスへの乗り換えという選択肢
OpenAI依存を減らす機会でもある。移行工数を払うなら、この機にマルチプロバイダー対応を検討する価値がある。
競合の整理として、Anthropic Claude、Google Gemini、Meta Llamaなどが選択肢。それぞれ強みが違う。Meta AIの使い方・料金ではオープンソース系の動向が、Sora AIの動画生成ではOpenAI以外のマルチモーダル選択肢が整理されている。翻訳用途ならDeepLの最新活用法の方が精度もコストも有利なケースが多い。
とはいえ、ツール連携の豊富さではOpenAIが一歩リード。完全移行ではなく、コア機能はOpenAI、サブ機能は他社というハイブリッド運用が現実解だ。
よくある失敗パターンと回避策
移行プロジェクトで頻発する失敗を3つ。
1つ目は「Threadの暗黙の履歴管理」を忘れること。旧APIではThreadが勝手に会話を覚えてくれていたが、新APIでは自分でprevious_response_idを繋がないと毎回初対面になる。テストでは動いたのに本番で「急に文脈を忘れるボット」が誕生する典型例。
2つ目はツール呼び出しのJSONスキーマ変更に気付かないこと。function_callingの記法が微妙に変わっており、旧コードをそのままコピペすると400エラーになる。スキーマ定義は全部書き直す前提で。
3つ目は既存ユーザーのセッション互換性。旧Thread IDは新Conversations APIと互換性がない。リリース日にユーザーの会話履歴がリセットされる。これを避けるには、移行期間中に両APIを並行稼働させ、新規セッションから新APIに流すダブルライト戦略が必要。
移行プロジェクトの推奨ロードマップ(残り4ヶ月版)
今日が4月22日として、8月26日までの現実的なロードマップ。
4月末まで(残り1週間): 主要機能1つをResponses APIで動かすプロトタイプを完成させる。完動品でなくても、responses.create()が叩けて出力が取れる状態で良い。
5月: ツールループ・ファイル検索・プロンプト管理の本番コードを書く。Prompts機能のダッシュボード運用ルールもこの時期に決める。
6月: 新旧API並行稼働期間。全トラフィックの10〜30%を新APIに流し、エラーレート・レイテンシ・コストを比較。問題があれば即ロールバック。
7月: 新APIの比率を100%に引き上げ。旧Assistants APIへの依存を完全に切る。Vector Storeやファイルのクリーンアップも実施。
8月上旬: 監視強化期間。大きな変更は入れず、廃止前の1週間はフリーズ。
8月26日: Assistants APIが404を返し始める。この時点で旧API呼び出しが1つでも残っていればサービス停止。
編集部の利用レポート
社内向けツール2本の移行を4月頭から着手した。正直、最初の1週間は「エンドポイント変えるだけでしょ」と見積もっていたが、完全に読みが外れた。
一番効いたのはツールループの簡略化で、既存コードのwhile run.status != "completed"ループが丸ごと削除できた。行数で200行、可読性は圧倒的に改善。これは気持ちいい。
一方で会話履歴管理は想定の3倍しんどい。Thread前提で書かれた履歴圧縮ロジック・検索ロジックを全部書き直し中。previous_response_idで繋ぐだけの軽量アプローチだとトークン消費が爆発し、Conversations APIを使うと既存DBスキーマと噛み合わない。ここは妥協点を探している最中。
コストは切替後2週間で、旧比約15%増。会話要約の自動挿入を組み込んで現在10%増まで抑えた。長期的には旧と同等か微減に収まる見込み。
総論として、移行作業は丸ごとリファクタリングの機会と捉えた方がいい。単純置換では破綻するが、設計を見直す前提なら得るものは大きい。残り4ヶ月、まだ間に合う。
よくある質問(FAQ)
Q. Assistants APIは具体的にいつ使えなくなりますか?
2026年8月26日が正式な停止日。それ以降、/v1/assistantsや/v1/threadsなどのエンドポイントはエラーを返すようになる。移行猶予は2026年1月の発表から約8ヶ月。
Q. Chat Completions APIも廃止されますか?
いいえ、Chat Completions APIは廃止されません。継続提供されます。廃止対象はAssistants API(Assistant・Thread・Runオブジェクト)のみで、chat.completions.createだけで構築したシステムは影響を受けません。
Q. 既存のVector Storeは使い続けられますか?
はい、Vector Store自体は継続利用可能です。ただしアタッチ方法が変わり、Responses APIのtools配列内でfile_searchツールとして指定する形になります。データ移行は不要ですが、検索呼び出しコードは書き直しが必要です。
Q. Responses APIとConversations APIはどちらも必須ですか?
Responses APIは必須。Conversations APIは会話履歴を自動管理したい場合のみ使います。小規模ならprevious_response_idを手動で繋ぐ軽量パターンで十分で、セッション数が数万を超える規模ならConversations API推奨です。
Q. 移行しないとどうなりますか?
2026年8月26日以降、API呼び出しはすべてエラーになります。サービスが停止するため、Assistants APIに依存している本番システムは期日前に必ず移行が必要です。期日直前の切替は障害リスクが高いため、7月中の切替完了を推奨します。
