Generación de código determinista vs probabilística: Por qué la conversión a Rust con Vibe-Coded de Bun genera señales de alerta

Noah Hall, escribiendo para The Tech Enabler, traza una línea clara entre la generación de código determinista y la probabilística. Utiliza la reciente conversión vibe-coded de Bun de un millón de líneas de Zig a Rust como advertencia. Su argumento central: los sistemas deterministas producen resultados consistentes y revisables; los LLM introducen incertidumbre que imposibilita la revisión de código a escala.
Generación de código determinista
Hall señala herramientas deterministas establecidas: el 2to3 de Python para la migración de Python 2 a 3, y transpiladores para lenguajes como Elm, PureScript y TypeScript que siempre producen el mismo JavaScript. Su propio lenguaje Derw puede generar JavaScript, TypeScript o inglés; Tegan genera JavaScript o Go; Mojie apunta a JavaScript, Python o inglés. Todos se basan en transformaciones AST a AST: con la misma entrada, siempre se obtiene la misma salida. La consistencia importa: "Si un error es consistente, podemos corregirlo. Si es inconsistente, se vuelve exponencialmente más difícil de corregir."
Generación de código probabilística
Los LLM varían la salida en cada ejecución: a veces A, a veces B. Hall creó neuro-lingo hace tres años como parodia: los humanos solo escriben firmas de funciones y comentarios, y los LLM generan la implementación nueva en cada compilación. Un ejemplo:
function add(a: number, b: number): number {
// Suma dos números
}
function main() {
// Imprime "Hello World" en la consola
// Imprime el resultado de add(2, 3)
}"Cada vez que neuro-lingo se compila, el código se genera desde cero por los LLM. Es ligeramente diferente cada vez. A veces introduce errores. A veces es limpio y simple. A veces es caótico." Hall argumenta que los flujos de código completamente impulsados por IA hacen exactamente esto, pero se envían a producción con responsabilidad humana.
La falacia de "hay pruebas"
Las pruebas por sí solas no pueden garantizar la calidad. Hall cita a SQLite como el código base más probado: 155.8 KSLOC de código C frente a 92,053.1 KSLOC de código de prueba (590 veces más). A pesar de una cobertura de ramas del 100%, millones de casos de prueba y extensos harness, SQLite aún depende de la revisión humana. "No es posible que un humano revise 1 millón de líneas de cambios en 9 días. Bun no ha revisado el código que fusionaron en master."
Hall concluye que la generación de código determinista aún necesita validación, y la generación probabilística crea un riesgo que escala con el número de líneas. El artículo fuente profundiza en cada ejemplo.
📖 Lee la fuente completa: HN AI Agents
👀 Ver también

Bench de caché KV de Qwen 3.6-35B-A3B: f16 vs q8_0 vs Turbo3 vs Turbo4 en M5 Max hasta 1M de contexto
Los puntos de referencia del fork TurboQuant Metal de TheTom en M5 Max muestran que f16 y q8_0 se quedan sin memoria (OOM) más allá de 256K, mientras que turbo3 alcanza 1M a 6.5 tok/s de decodificación. La división de prefill y decodificación favorece a turbo3 para prefill y a turbo4 para decodificación en contextos largos.
Mercantilizacion de la Inteligencia: Explicacion de los Acuerdos Circulares de IA
La financiación circular en IA (por ejemplo, OpenAI→servidores de Microsoft, Nvidia→CoreWeave) refleja los mercados de materias primas tradicionales. No es una burbuja, sino un cambio hacia la inteligencia como commodity fungible.

Vista Previa de Investigación de Claude Agrega Control Directo de Computadora para Automatización de Tareas
Anthropic ha lanzado una vista previa de investigación donde Claude puede controlar directamente tu computadora para completar tareas como abrir aplicaciones, navegar en navegadores y llenar hojas de cálculo. Disponible para usuarios Pro y Max en macOS, funciona a través de Claude Cowork y Claude Code con emparejamiento móvil requerido.
Claude Code v2.1.207: Modo Automático GA, Solución al Congelamiento del Terminal y Refuerzo de Seguridad
El modo automático ahora es estable sin necesidad de activación en Bedrock/Vertex/Foundry. Soluciona el congelamiento del terminal en salidas largas, inyección de shell en plugins y más.