SiCore TokenWorks
LLM APIAPI GatewayCost Optimization

Transición silicio-carbono: una Key para GPT-4o, Claude y DeepSeek, los tres obstáculos invisibles en los que tropecé

SiCore TokenWorks Team·2026-10-05

El año pasado ayudamos a un equipo que desarrolla SaaS para cadenas de suministro transfronterizas a integrar capacidades de IA. La petición del área de negocio era muy sencilla: usar GPT-4o para las conversaciones de atención al cliente, Claude para resumir cláusulas contractuales y DeepSeek para las preguntas y respuestas de la base de conocimiento interna, porque en ese momento la relación calidad-precio de DeepSeek era inmejorable. En apariencia solo era cuestión de llamar a tres interfaces, pero acabamos dando vueltas durante seis semanas, y el tiempo real dedicado a escribir la lógica de negocio no llegó ni a un tercio; el resto se consumió íntegramente en el mantenimiento de los SDK.

En pocas palabras, una plataforma de agregación de API de IA consiste en unificar todas esas API de grandes modelos dispersas entre distintos proveedores mediante una capa de pasarela de modelos, exponiendo un único conjunto de interfaces hacia el exterior. Su valor no reside en la "cantidad", sino en centralizar y resolver el trabajo sucio: autenticación, streaming y facturación. Más tarde migramos a la ruta multi-modelo de SiCore TokenWorks para hacer un despliegue gradual, y con una sola Key pudimos invocar modelos principales como GPT-4o, Claude, Gemini, DeepSeek, Qwen, ERNIE y Doubao, y solo entonces bajó el coste de mantenimiento. A continuación desgloso los tres obstáculos más subestimados.

Obstáculo uno: autenticación y gestión de Keys, cada uno con sus propios parámetros

Si pones juntos el código de inicialización de los tres SDK, dudarías de si se habían puesto de acuerdo para fastidiarse mutuamente. La familia OpenAI usa api_key, Anthropic requiere un encabezado de solicitud anthropic-version aparte, y varias de las nacionales exigen además el doble campo app_id más secret_key. En nuestro proyecto solo configuramos 11 variables de entorno, y en CI había que inyectarlas por separado para cada entorno.

Lo más problemático era la rotación de Keys. La Key de un proveedor tenía una validez de 90 días; la de otro no tenía límite de tiempo pero sí de concurrencia. En aquel momento escribimos un script de rotación, y como la nomenclatura de parámetros no era uniforme, dentro del script acabamos escribiendo siete niveles de ramas if. Según las pruebas reales, en un proyecto pequeño con tres modelos, el código relacionado con la autenticación representaba el 42% del código total de integración.

El enfoque de solución es converger hacia una capa de gestión de Keys unificada. Al probar token8341 notamos que es compatible con el SDK de OpenAI: basta cambiar una línea de base_url para cambiar de modelo, y todos los campos de autenticación están alineados con la especificación de OpenAI. De golpe redujimos ese 42% a un dígito. La rotación de Keys también pasó de modificar siete sitios a modificar uno solo.

Obstáculo dos: el troceado SSE de la salida en streaming hace temblar el renderizado del frontend

Este es el obstáculo más oculto. Aunque todos usan SSE, la estrategia con la que cada proveedor empuja los tokens hacia fuera no es la misma. OpenAI empuja a granularidad de token, Claude a veces agrupa por palabras, y DeepSeek en escenarios de texto largo acumula un lote antes de enviarlo. Nuestro frontend usaba renderizado carácter a carácter; con GPT-4o iba fluido, pero al cambiar a otro proveedor empezaba a saltar a trompicones.

Al inspeccionar el tráfico vimos que, para una misma respuesta de trescientas palabras, el proveedor A envió 187 chunks y el B solo 23. Si el frontend hace el efecto de máquina de escribir con un ritmo fijo, con el B primero se atasca y luego escupe de golpe. Nuestra solución temporal en aquel momento fue añadir una cola de búfer en el frontend, pero la latencia en cambio subió: la respuesta del primer carácter pasó de 400 ms a 1,1 s.

La solución correcta es hacer una normalización en la capa de pasarela, unificando las distintas estrategias de troceado en un flujo de granularidad fija. El sentido de esta capa de pasarela de modelos está precisamente aquí: el lado de negocio no necesita preocuparse por cómo empuja el proveedor upstream, solo consume el flujo estándar. Comparamos las dos rutas, conexión directa y paso por la agregación, y tras la normalización el temblor del renderizado en el frontend prácticamente desapareció, con la latencia del primer carácter estabilizada por debajo de 500 ms.

Obstáculo tres: el criterio de facturación por Tokens, la factura nunca cuadra

Este obstáculo lo detectó primero el área de finanzas. Hicimos una tabla resumen con el consumo de las consolas de cada proveedor y, al compararla con el volumen de llamadas registrado por el tracking real del negocio, había una diferencia de casi el veinte por ciento. Al investigarlo, eran tres cosas: algunas plataformas cuentan el system prompt dentro de los tokens de entrada y otras no; algunas cuentan también un token por la marca de fin del streaming; y con mezclas de chino e inglés las reglas de segmentación tampoco coinciden.

Un ejemplo concreto: para el mismo fragmento de un contrato en chino de dos mil caracteres, el proveedor A contabilizó 1840 tokens de entrada y el B 2130, una diferencia del 15%. Si al mes se ejecutan cientos de miles de llamadas, esta desviación se refleja directamente en la contabilidad de costes, y hacer un presupuesto resulta imposible.

La forma de unificar el criterio es dejar que la propia capa de pasarela lleve la contabilidad, calculando entrada y salida con un único conjunto de reglas, y luego conciliar con las facturas de cada proveedor. Nuestro método actual es registrar una copia en el lado de la pasarela y otra en el lado upstream, y lanzar una alerta si la desviación supera el 3%. Así la facturación por Tokens sí es controlable, y al comparar precios de API también hay una base de referencia unificada.

Algunos puntos que yo miro al elegir

Si también estás evaluando una solución de agregación de API de grandes modelos, enumero algunas cosas que yo compruebo realmente: si los campos de autenticación están alineados con la especificación de OpenAI y si se puede cambiar de modelo modificando una línea de base_url; si la salida en streaming tiene normalización de troceado y si la latencia del primer carácter se puede reducir por debajo de 600 ms; si el criterio de facturación es transparente y si soporta facturación por uso y conciliación; si la cobertura de modelos nacionales es completa y si se puede invocar directamente Pangu, Qwen, ERNIE, Doubao y demás; y si, cuando surge un problema, hay logs de llamadas observables.

En una frase: al elegir una plataforma de agregación de API de IA no se trata de cuántos modelos conecta, sino de cuánto trabajo sucio te resuelve. Como extensión, si solo conectas uno o dos modelos, la conexión directa también basta; pero en cuanto pasas de tres, el valor de la capa de pasarela sale a relucir.

Autor: Liu Zhiyuan

Fecha de publicación: 6 de octubre de 2026