?
GuideintermédiaireVérifié le 2025-05

Responses API : le nouveau paradigme agentique

Migrer des Completions aux Responses pour construire des agents plus puissants.

La Responses API d'OpenAI

La Responses API est la nouvelle API d'OpenAI conçue pour les applications agentiques. Elle combine la simplicité de l'API Chat Completions avec les outils intégrés (web search, file search, code interpreter) qui étaient auparavant réservés à l'Assistants API, le tout sans gestion de threads côté serveur.

Différences avec Chat Completions

AspectChat CompletionsResponses API
ÉtatStatelessStateless (mais avec state optionnel)
Outils intégrésNonOui (web search, file search, etc.)
Multi-tourManuelAutomatique via previous_response_id
Structured OutputsVia functionsNatif avec output schema

Utilisation de base

import OpenAI from "openai";

const client = new OpenAI();

const response = await client.responses.create({
  model: "gpt-4o",
  input: "Quelle est la population de Paris en 2024 ?",
  tools: [{ type: "web_search_preview" }]
});

console.log(response.output_text);

Outils intégrés

Web Search Recherche sur le web en temps réel : __CODE_BLOCK_1__

File Search Recherche dans vos documents uploadés : __CODE_BLOCK_2__

Code Interpreter Exécution de code Python pour l'analyse de données : __CODE_BLOCK_3__

Function Calling Appel de vos propres fonctions : __CODE_BLOCK_4__

Conversations multi-tours

La Responses API gère les conversations via previous_response_id :

const first = await client.responses.create({
  model: "gpt-4o",
  input: "Je travaille sur une app Next.js."
});

const second = await client.responses.create({
  model: "gpt-4o",
  input: "Comment ajouter l'authentification ?",
  previous_response_id: first.id
});
// Le contexte de la première réponse est automatiquement inclus

Structured Outputs natifs

const response = await client.responses.create({
  model: "gpt-4o",
  input: "Extrais les informations de ce contact : Jean Dupont, jean@example.com, Acme Corp",
  text: {
    format: {
      type: "json_schema",
      name: "contact",
      schema: {
        type: "object",
        properties: {
          name: { type: "string" },
          email: { type: "string" },
          company: { type: "string" }
        },
        required: ["name", "email", "company"]
      }
    }
  }
});

Migration depuis Chat Completions

La migration est progressive : 1. Remplacez chat.completions.create par responses.create 2. Changez messages par input (string ou tableau) 3. Ajoutez les outils intégrés dont vous avez besoin 4. Utilisez previous_response_id pour les conversations

Bonnes pratiques

  • Commencez simple : Utilisez d'abord un seul outil, puis combinez
  • Streaming : Supporté nativement pour une UX réactive
  • Coût : Les outils intégrés (web search notamment) ajoutent des tokens
  • Monitoring : Utilisez les metadata pour tracer les requêtes en production

Sources

agentsResponses-APImigration