For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navigation principale

Démarrage rapide de l’API Agents

Créez un agent qui écrit et exécute un script dans un bac à sable hébergé par OpenAI.

Créez un assistant de programmation qui écrit tree.py, l’exécute et affiche une arborescence de répertoires. OpenAI gère l’agent, sa conversation et le bac à sable dans lequel il travaille.

Prérequis

Créez une clé API d’application dans votre projet sur la plateforme OpenAI. Accordez les autorisations api.agents.read et api.agents.write pour les opérations sur les sessions, ainsi que api.responses.write pour l’inférence du modèle, puis exportez la clé :

export OPENAI_API_KEY="your-api-key"

Conservez cette clé en dehors du bac à sable de l’agent. Consultez la page Bacs à sable hébergés par OpenAI pour connaître les options de configuration et les limites des bacs à sable.

Les requêtes nécessitent l’en-tête OpenAI-Beta: agents=v1. Les SDK OpenAI l’ajoutent automatiquement ; incluez-le explicitement lorsque vous utilisez cURL.

1. Exécutez une tâche

Choisissez un langage, installez le SDK OpenAI et exécutez l’exemple. Les exemples utilisant les SDK emploient l’espace de noms beta.agents. La requête crée une session, soumet une tâche et transmet sa progression en continu.

Installez ou mettez à jour le SDK Python :

pip install --upgrade openai

Enregistrez l’exemple dans le fichier quickstart.py :

Créez et exécutez tree.py
from openai import OpenAI

with OpenAI() as client:
    with client.beta.agents.sessions.create(
        agent={
            "model": "gpt-6-astra",
            "instructions": "Write clean code, run it, and report the actual output.",
        },
        environment={"type": "openai_hosted"},
        input="Create tree.py, a Python script that prints a readable tree of the files in the current directory. Run it and show me the output.",
        stream=True,
    ) as events:
        for event in events:
            print(event.to_json(indent=None), flush=True)

Exécutez-le depuis votre terminal :

python quickstart.py

Pas besoin de bac à sable ? Définissez environment.type sur none pour les agents qui répondent à des questions ou appellent des outils externes sans exécuter de commandes ni manipuler de fichiers locaux. En savoir plus.

2. Suivez la progression

Le terminal affiche les événements transmis en continu. Les exemples utilisant les SDK affichent du JSON ; cURL affiche le flux d’événements brut. Si l’exécution réussit, l’agent crée tree.py, l’exécute et présente une arborescence de répertoires contenant ce fichier. Les autres fichiers et les sorties dépendent du bac à sable.

Repérez agent.session.turn.completed, puis vérifiez le résultat d’exécution rapporté par l’agent. Un tour terminé ne garantit pas que tous les outils ont réussi. Les événements dont le nom se termine par turn.failed, turn.cancelled ou session.failed indiquent un échec ou une annulation ; agent.session.idle seul ne signifie pas que l’exécution a réussi. Si le flux est interrompu prématurément, récupérez la session et ses éléments enregistrés avant de réessayer.

3. Poursuivez la session

Enregistrez le session_id présent dans les événements. Utilisez-le pour envoyer un message de suivi, par exemple : “Add a maximum-depth option to tree.py, run it, and show me the output.” Ouvrez le flux d’événements avant d’envoyer ce nouveau message pour ne pas manquer les premiers événements.

4. Nettoyez les ressources

Conservez la session pour d’autres tâches, ou supprimez-la lorsque vous avez terminé. Enregistrez d’abord les fichiers dont vous avez besoin.

Remplacez la valeur sess_123 utilisée à titre d’exemple par l’identifiant de session que vous avez enregistré.

Supprimez la session
# Replace the illustrative IDs and URLs below with your own resource values.

from openai import OpenAI


def delete_session(client: OpenAI, session_id: str):
    return client.beta.agents.sessions.delete(session_id)


if __name__ == "__main__":
    result = delete_session(OpenAI(), "sess_123")
    print(result.to_json())

Étapes suivantes