Back to flin
flin

Diseño de lenguaje AI-first

Cómo FLIN fue diseñado desde cero para desarrollo asistido por IA -- sintaxis mínima para menos tokens, archivos autocontenidos para contexto completo e integración MCP para herramientas de agentes IA.

Juste Thales Gnimavo & Claude | March 26, 2026 3 min flin
EN/ FR/ ES
flinrust

La mayoría de los lenguajes de programación fueron diseñados para que los humanos escriban y los compiladores lean. FLIN fue diseñado para que tanto humanos COMO agentes de IA escriban, y para que tanto compiladores COMO LLMs lean.

Esta no es una distinción menor. Influyó en cada decisión de sintaxis, cada convención y cada elección arquitectónica. FLIN no es un lenguaje que casualmente funciona bien con asistentes de IA. Es un lenguaje que fue deliberadamente optimizado para un mundo donde agentes de IA generan, modifican y mantienen código junto con desarrolladores humanos.

La tesis central: las mismas propiedades que hacen un lenguaje fácil para que la IA trabaje -- sintaxis mínima, archivos autocontenidos, cero configuración, comportamiento determinista -- también lo hacen más fácil para los humanos. Diseñar para IA no compromete la experiencia humana. La mejora.

Principio 1: Sintaxis mínima, menos tokens

Cada palabra clave, corchete y línea de código repetitivo innecesarios es un token que un LLM debe generar. Más tokens significan más costo, más latencia y más oportunidad de errores.

flin// FLIN: 7 líneas, ~40 tokens
route GET {
    user = User.find(params.id)
    if user == none {
        return error(404, "Not found")
    }
    user
}

La versión FLIN usa aproximadamente 78% menos tokens que Express.js. Para una IA generando 100 endpoints, esta diferencia se traduce en miles de tokens ahorrados.

Principio 2: Sin imports

FLIN no tiene declaraciones de importación. Cada entidad, cada función integrada y cada característica del lenguaje está disponible por nombre sin declarar dependencias. Esto elimina toda una categoría de errores generados por IA: rutas de importación incorrectas, imports faltantes, imports circulares y sintaxis de importación específica de versión.

Principio 3: Archivos autocontenidos

En FLIN, un solo archivo .flin contiene todo lo necesario para entender una ruta: los guards, la validación, la lógica de negocio y la plantilla de vista. Un agente LLM necesita 1 archivo en contexto, no 6.

Principio 4: Comportamiento determinista

El comportamiento de FLIN es determinista: el mismo código siempre produce el mismo resultado. Para agentes de IA, el determinismo significa testabilidad.

AI-first no significa human-last. Cada decisión de diseño que beneficia a los agentes de IA también beneficia a los desarrolladores humanos.


Esta es la Parte 124 de la serie "Cómo construimos FLIN", que documenta cómo un CEO en Abidjan y un CTO de IA diseñaron y construyeron un lenguaje de programación desde cero.

Navegación de la serie: - [123] Búsqueda híbrida de documentos: BM25 + semántica - [124] Diseño de lenguaje AI-first (estás aquí) - [125] Analíticas de búsqueda y caché de resultados

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles

Thales & Claude deblo

El prompt decía que lo anunciara. El modelo no lo hizo. Así que lo hizo el worker: cerrar un silencio de 15 segundos en Déblo Voice

Déblo Voice se quedaba en silencio unos 15 segundos cada vez que una pregunta difícil activaba una búsqueda profunda. El prompt ya exigía un anuncio, pero el modelo de audio nativo emite la llamada a la función como su primer token. Además, el silencio tenía dos partes, la ejecución de la herramienta y la latencia de la respuesta, así que ningún prompt podía cerrarlo. Llevamos la garantía al worker de LiveKit: un anuncio pregrabado con la voz y el idioma de la sesión, y un suave sonido de tecleo mientras el agente piensa. Probado en producción el 16 de octubre de 2026: 14 y 17,5 segundos de silencio del lado del modelo, unos 0,4 segundos percibidos por el usuario.

13 min Oct 16, 2026
deblodeblo-voicevoice-aigemini-live +17
Thales & Claude zerosuite

El servidor que no dimos de baja: vaciar una máquina de producción en una noche, y cada número que comprobamos

Una noche, seis aplicaciones migradas fila por fila, tres copias de seguridad vacías, una sin destino y un servidor cuyo futuro cambió tres veces.

19 min Oct 2, 2026
caspclaude-codeclaude-opus-5.5infrastructure +10
Thales & Claude zerosuite

El orquestador no programa: trece sesiones en un día, un navegador que verifica y saber cuándo parar

Un día, una plataforma privada de un cliente, trece sesiones headless de Claude encadenadas por un orquestador que nunca escribe código. Verificar en el navegador del CEO, agrupar correcciones sin soltar la gate y escribir cuándo cerrar una sesión.

19 min Sep 30, 2026
caspclaude-codeclaude-opus-5.5multi-session +12