Saltar al contenido principal

Plantillas escritas por IA · runtime determinista

El runtime determinista para informes de Excel generados por IA.

Un LLM (Claude, GPT, Gemini, Cursor, Codex, …) escribe template.xlsx una sola vez; xl3 convierte (template.xlsx + raw.xlsx) en result.xlsx como una función pura: con las mismas entradas, los mismos bytes, siempre.

Modelo de flujo de trabajo

Mantén el motor en el código y el flujo de trabajo en el libro de Excel.

Los desarrolladores construyen el conversor una sola vez. Las reglas de negocio recurrentes, la asignación de la tabla origen, el diseño y la forma de la salida permanecen dentro de la plantilla del libro, que los equipos pueden archivar y traspasar.

01

Define el contrato en Excel

Usa __config__, source_table y expresiones XTL para describir cómo los libros en bruto se convierten en informes.

02

Expón un flujo de carga sencillo

Quienes no programan eligen un archivo de Excel en bruto y la plantilla aprobada, y luego ejecutan el conversor.

03

Genera libros terminados

La salida conserva la estructura de hojas, los formatos de número, los estilos y las celdas combinadas, mientras que los valores se renderizan a partir de los datos.

04

Archiva las reglas operativas

La plantilla se convierte en el artefacto de traspaso: un archivo portátil que captura cómo funciona el trabajo recurrente de Excel.

__config__The template declares the source shape.
template.xlsxworkbook with transformation rules
B2fxB2 source_table = 1
ABC
1keyvaluenotes
2source_sheetRawworksheet to read
3source_table1column names and data rows
__config__

source_table tells the engine where the raw table starts and which columns belong to it.

Por qué lo usan los desarrolladores

Saca la lógica de informes recurrentes de los scripts puntuales.

Los scripts de Python, las macros de VBA y los flujos específicos de cada servicio pueden automatizar Excel, pero las reglas de negocio acaban dispersas entre el código, las cuentas y el conocimiento tácito.

xl3 separa el motor reutilizable del contrato específico de cada libro. Los desarrolladores mantienen la integración en TypeScript, mientras que cada trabajo recurrente de Excel viaja como una plantilla de libro.

Encaje operativo

Diseñado para el traspaso, no solo para la automatización.

Las personas que ejecutan el flujo de trabajo no deberían tener que leer código. Necesitan un conversor estable, una plantilla aprobada y un libro de resultado predecible.

La plantilla como traspaso

Las reglas del informe viven en un archivo de libro que se puede revisar, versionar, archivar y entregar al siguiente operador.

template.xlsx

Ejecución pensada para operadores

El runtime se puede exponer como una página de navegador: sube los datos en bruto, selecciona la plantilla y descarga el libro.

raw.xlsx → result.xlsx

Motor en manos de los desarrolladores

Mantén el despliegue, la validación y la integración en código, mientras las reglas de flujo específicas de cada plantilla permanecen en Excel.

convert(template, raw)

XTL 0.1 se publica con 70 ADRs y 154 conformance fixtures, todos en verde en la Etapa 2. La implementación de referencia en TypeScript está publicada en @jinyoung4478/xl3; la Guía del portador documenta el contrato para que un port a un segundo lenguaje pueda igualarlo.

Cómo se compara

El mismo problema, distintas formas.

EnfoqueMejor paraContrapartida
xl3La mitad de ejecución de un pipeline de Excel escrito por un LLM. El modelo escribe la plantilla una sola vez; xl3 la renderiza de forma determinista en cada ejecución.Alfa; un único mantenedor; la superficie de XTL es deliberadamente pequeña y seguirá evolucionando hasta la 1.0.
Direct LLM → xlsx (spreadsheet SDK function call)Borradores exploratorios rápidos y gráficos puntuales.Cada render es no determinista; los estilos, los formatos de número y los totales se desplazan entre ejecuciones, incluso con temperature 0.
Spreadsheet SDKs (SheetJS, ExcelJS, openpyxl)Generación de libros a bajo nivel.El modelo tiene que aprender toda la superficie del SDK y volver a emitirla en cada render; la "plantilla" es código de aplicación, no un archivo portátil.
Power Query / Office ScriptsFlujos de trabajo en Microsoft 365 y modelado de datos dentro del ecosistema Excel.Atados a un tenant; las reglas del flujo no viajan con el libro.
Template engines (JXLS, xltpl, jsreport xlsx)Generación de informes en servidor a partir de plantillas tipo hoja de cálculo.Son anteriores al modelo de LLM-como-autor; sus DSL de plantilla son más amplias y no están pensadas para que las emita un modelo.
Doc-gen SaaS (Plumsail, Conga, Formstack)Flujos de documentos gestionados, integraciones, aprobaciones y entrega.Las reglas viven en un servicio del proveedor, no en un libro portátil que puedas darle a un LLM para que lo edite.
Python / VBA scriptsAutomatización puntual y rápida, cercana a las hojas de cálculo existentes.Las reglas viven en el código o en la memoria de quien lo mantiene; no son un artefacto que un modelo pueda emitir.

API para desarrolladores

Conecta el mismo flujo de trabajo en tu producto.

Usa el paquete cuando el flujo de demostración deba convertirse en un portal interno, una CLI o un endpoint de servicio. La experiencia del operador puede seguir siendo basada en archivos, mientras tu app se encarga del despliegue y la validación.

terminal
$npm install @jinyoung4478/xl3
example.ts
import { convert } from '@jinyoung4478/xl3';

const outputs = await convert(templateBuffer, dataBuffer);
// OutputFile[] → formatted .xlsx workbook(s)

Cookbook 01 — Empieza en 5 minutos · Leer la especificación · Guía del portador