Realtime: with async_tool_calls=True, an interruption mid-tool is answered with no pending marker for the call, and the model claims the action already happened
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 44/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- ai, backend-api-design
Línea de trabajo
Start by reading the RealtimeSession async tool call and interruption handling paths; the issue names no source files or tests. Reproduce with the linked stopbench realtime_run.py command using --async-tools true and inspect how an in-flight call is represented in conversation context. Done means the model can identify a still-running call without claiming its result, with tests covering interruption during execution.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Versions
- openai-agents 0.24.0,
RealtimeSession - gpt-realtime-2.1, text output
Summary
When the user interrupts while a function tool is running, the stop is answered before the tool has a result, and the model has nothing in its conversation saying the call is still pending. It then guesses, and its guess can be wrong.
Setup: a refund tool with a 400 ms backend commit. The stop is session.interrupt() then session.send_message("Wait, stop. Don't do the refund."). A local ledger records whether the refund committed.
interrupt()cancelled nothing in this text session. Every response in all 40 runs endedcompleted, and the tool always ran to completion.- With
async_tool_calls=True(the default), the stop gets its own response right away while the call has no output yet. In 15 of 15 stop runs the first reply said the refund was "already" in progress, sent or submitted before the model had a result. - When the stop came before the tool's HTTP request was sent, the reply ("I can't stop it at this point because the refund request has already been submitted.") was false when it was said. The ledger received the request 202 to 207 ms later.
- With
async_tool_calls=False, the stop waits for the tool, and the model answers from the real result. But the user hears nothing until the tool returns (6.2 to 6.5 s with a 6 s backend).
Expected
With async_tool_calls=True, a call that's still running should show in the model's context as pending (e.g. a placeholder function output, or a note that a tool call is in progress), so the model can say "it's still processing" and not guess. A way to cancel the running tool task on interrupt() would also help tools that can still be stopped.
Repro
https://github.com/chrislazar25/stopbench
.venv-realtime/bin/python realtime_run.py --async-tools true --runs 5 --moments before_send in_flight --out runs/mine/realtime.jsonl
Data: runs/realtime-gpt-realtime-2.1.jsonl (e.g. refund 5c7a420531e0, before send: "I can't stop it at this point—the refund request has already been sent and is still processing."). README section "Results: OpenAI Agents SDK 0.24.0 realtime".
- Lenguaje dominante
- Python
- Estrellas
- 30.4k
- Forks
- 4.9k
- Merge medio
- 14 h 33 min
- PR fusionados (30 d)
- 142
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de openai/openai-agents-python
-
fix(typing): explicitly specialize ToolContext[Any] in ToolFunctionWithToolContextQuizá libre de nuevo @AbarnaaSree la tomó hace 11 días y no hay ningún pull request abierto. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
openai/openai-agents-python#5387 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
function_tool rejects valid arguments when a parameter uses Pydantic strict mode (Enum, date, UUID)Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
openai/openai-agents-python#5448 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
openai/openai-agents-python#5447 ·
Los mantenedores suelen responder en 1 día
-
function_tool on a callable object uses an inherited or generated class docstring as the tool descriptionPosiblemente ocupada @Narendra02053 la tomó hace 1 día. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
openai/openai-agents-python#5443 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 70/100
openai/openai-agents-python#5441 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de openai/openai-agents-python
Issues similares
-
area/profiles comp/cli P3 type/feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
NousResearch/hermes-agent#146372 ·
Los mantenedores suelen responder en 1 día
-
[BUG] OpenAI-compatible embedding model alias breaks embedder constructionPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
[oblt-aw][autodoc] Document obs-aw-automerge contract and fix automerge doc inconsistenciesPosiblemente ocupada @github-actions la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
GeoSeries scale and skew tests fail with pytest 9.2.0Posiblemente ocupada @jiayuasu la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
admission-deferred priority: medium status: ready work-class: scoped
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
melodic-software/claude-code-plugins#10887 · 4 comentarios ·
Los mantenedores suelen responder en 1 día