Introducción
Beam 1.0, de Reflection, sirve para programación y flujos prolongados con herramientas. Esta API de chat admite texto, ofrece un presupuesto de entrada de 1,048,576 tokens y acepta max_tokens hasta 943,718. Recibe el texto de Beam 1.0 conforme se genera, o usa el resultado de una función como evidencia para el siguiente paso de las sesiones largas de programación con Beam 1.0.
| Campo | Valor |
|---|---|
| Entrada | Texto |
| Salida | Texto |
| Presupuesto de entrada | 1,048,576 tokens |
| Límite de max_tokens | 943,718 |
| Entradas | texto |
Funciones y aspectos destacados
Pesos abiertos, servidos como API
Los pesos de Beam están publicados, así que el modelo que llamas aquí también podrías ejecutarlo o ajustarlo tú mismo si tus necesidades cambian. Reflection AI lo describe como un modelo abierto para uso comercial y de investigación. Este endpoint es la vía rápida: sin GPUs que aprovisionar, facturación por token y la misma solicitud de chat completions que ya escribes.
Pensado para repositorios reales
La ficha del modelo de Reflection AI se centra en resolver incidencias reales de GitHub, en trabajar en línea de comandos y entornos DevOps, y en integrarse con arneses de programación agéntica. Publica una puntuación de 81.6% en SWE-Bench Verified y de 80.1% en Terminal Bench v2.1. Son cifras del propio publicador, en su propia configuración, así que tómalas como un motivo para probarlo en tu repositorio, no como una garantía.
Llamadas a herramientas y tareas de largo recorrido
El modelo devuelve llamadas a funciones que tu aplicación valida y ejecuta, y luego continúa a partir de los mensajes de herramienta que le envías. tool_choice admite aquí una cadena o un objeto, y parallel_tool_calls está activado por defecto. Reflection AI destaca el uso de herramientas al estilo MCP y las tareas de varios pasos, algo que encaja con bucles de agentes que leen archivos, ejecutan pruebas e iteran.
Menos tokens de razonamiento por diseño
Reflection AI afirma que Beam alcanza una calidad de solución comparable con unas tres veces menos tokens de razonamiento que los principales modelos abiertos. Si eso se cumple en tu carga de trabajo, se refleja directamente en un costo de salida menor, porque el razonamiento se factura como salida. Es una afirmación del publicador; mide el recuento de tokens con tus propios prompts en esfuerzo medium y high.
Parámetros de la solicitud
| Parámetro | Obligatorio | Descripción |
|---|---|---|
messages | Sí | Para las sesiones largas de programación con Beam 1.0, envía la conversación y las fuentes como texto en orden, y vincula cada resultado de herramienta a su |
max_tokens | No | Reserva |
reasoning_effort | No | Beam 1.0 ofrece low, medium, high, xhigh, max, con medium por defecto; compara niveles para las sesiones largas de programación con Beam 1.0, ya que razonar más puede aumentar l… |
stop | No | Detén el texto de Beam 1.0 con una secuencia o con cualquiera de hasta cuatro; la secuencia coincidente se omite de la respuesta. mínimo 1 caracteres · mínimo 1 elementos · máximo 4 elementos |
temperature | No | Beam 1.0 acepta temperature de 0 a 2; mantén fijos los demás controles de muestreo al comparar redacciones para las sesiones largas de programación con Beam 1.0. |
top_p | No | Usa |
tools | No | Entrega a Beam 1.0 definiciones de funciones en formato OpenAI para las sesiones largas de programación con Beam 1.0; el modelo propone argumentos y tu aplicación valida y ejecu… máximo 128 elementos |
parallel_tool_calls | No | Permite que Beam 1.0 proponga funciones independientes juntas cuando las sesiones largas de programación con Beam 1.0 requiera varios resultados externos. Valor predeterminado: |
tool_choice | No | Elige auto, none, required o una función concreta para Beam 1.0, y conserva el ID devuelto para continuar las sesiones largas de programación con Beam 1.0. |
response_format | No | Pide texto o JSON estructurado a Beam 1.0 y valida los campos necesarios para las sesiones largas de programación con Beam 1.0 antes de usarlos. |
Precios
Entrada $1 / Salida $3 por 1 millón de tokens
Casos de uso
Resolver una incidencia en todo el repositorio
Dale al modelo el texto de la incidencia, los archivos relevantes y la salida del test que falla, y pide un parche mínimo junto con el comando que demuestra que funciona. La ventana de 1,048,576 tokens permite incluir módulos completos en lugar de fragmentos. Revisa el diff y ejecuta tú mismo las pruebas antes de fusionar.
Bucles de agentes en la terminal
Conecta el modelo a herramientas de shell, archivos y pruebas y deja que itere: inspeccionar, editar, ejecutar, leer la salida. Mantén el historial en la lista de mensajes, limita el número de turnos y registra cada llamada a herramienta para poder reproducir una ejecución cuando algo salga mal.
Trabajo de programación por lotes sensible al costo
Para tareas masivas, como añadir anotaciones de tipos, escribir pruebas para muchos módulos o migrar una API obsoleta, conviene un modelo que gaste menos tokens de razonamiento. Empieza con esfuerzo low o medium, revisa a mano algunos resultados y sube el ajuste solo en los casos que fallen.
Conjuntos de problemas de razonamiento y matemáticas
Reflection AI publica resultados en AIME 2026 y GPQA Diamond, así que es un candidato razonable para tareas de razonamiento estructurado. Pide la respuesta y los pasos clave por separado, y verifica los resultados numéricos con código cuando un error resulte caro.
Guía de prompts y consejos prácticos
Envía una solicitud de chat
Usa el endpoint de chat completions con un nombre de modelo y un array de mensajes en texto plano. Este modelo solo acepta texto, así que convierte antes las imágenes o los documentos a texto. Activa stream con true cuando esperes respuestas largas.
Elige el esfuerzo y un tope de
max_tokensEl esfuerzo por defecto es medium. Sube a high o superior para errores difíciles de varios pasos, y baja a low para ediciones rutinarias. El razonamiento cuenta dentro de
max_tokens, así que deja margen; si no, el tope puede cortar la respuesta antes de la parte visible.Define herramientas y devuelve resultados
Pasa herramientas con JSON Schema, deja que el modelo elija y responde a cada llamada con un mensaje de herramienta que lleve el mismo
tool_call_id. Conservareasoning_contentde los turnos anteriores del asistente en el historial cuando continúes una conversación con herramientas.Compara con tu modelo actual
Ejecuta las mismas diez tareas reales con Beam y con tu modelo actual, y compara la tasa de aciertos, los tokens de salida y la latencia. La estimación de esta página muestra el costo por solicitud, así que puedes calcular la diferencia antes de mover tráfico.
Trabajo de repositorio con Beam
Entrega a Beam 1.0 el problema, los módulos relevantes y la salida del test que falla. Su presupuesto de texto de 1,048,576 tokens permite incluir la implementación alrededor del error en vez de limitarse a una traza.
Continúa la sesión del agente
Empieza con medium. Conserva las llamadas previas, sus valores tool_call_id y reasoning_content en el historial. Tu aplicación ejecuta las operaciones de archivos y los tests, y devuelve su salida real; mencionar un repositorio no permite que Beam lo lea por sí solo.
Revisa el parche completo
Pide el código modificado y un comando de verificación. Incluye el razonamiento en max_tokens, revisa el motivo de finalización y ejecuta los tests antes de integrar. Los benchmarks de Reflection son evaluaciones propias; tu repositorio determina si el parche funciona.
Las decisiones de contenido de Beam 1.0 se aplican a las sesiones largas de programación con Beam 1.0; las respuestas NSFW pueden cambiar según la solicitud o versión, sin promesa de salida sin restricciones.
Inicio rápido de la API
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "reflection/beam-1.0/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
Consulta la referencia de la API para autenticación, el esquema completo, sondeo y gestión de errores.
