Enseñando a un sistema a decir “No sé
Lo más útil que hace mi cerebro de homelab es negarse a responder. Con base o bloqueado: cada afirmación cita el hecho que la originó, o nunca llega a mí.
Un sistema de recuperación que siempre responde es peor que uno que a veces se niega, porque no puedes distinguir entre los dos modos de falla. Una respuesta superficial y una respuesta incorrecta se ven idénticas en el punto de uso.
Así que la regla operativa en la capa de memoria de mi homelab es fundamentado-o-bloqueado: cada conclusión debe citar el hecho, relación o observación específica que la respalda. Una conclusión sin cita no se suaviza con una advertencia. Se descarta y se cuenta.
Dónde aparece la regla
Síntesis multi-hop. La capa de razonamiento encadena registros de decisiones con entidades, relaciones causales y la topología del grafo. Si preguntas qué gobierna una decisión arquitectónica dada, recorre hacia afuera hasta los dependientes y luego reporta cuáles de ese radio de impacto no tienen documentación alguna. Cada salto cita la relación que lo produjo. Una cadena con un solo salto sin cita se bloquea por completo — no se devuelve con una advertencia. Solo una cadena completamente fundamentada puede ser redactada por un modelo de lenguaje, y el trabajo del modelo es estrictamente redactar. Nunca selecciona.
Auto-auditoría. Un pase de decaimiento vuelve a revisar cada decisión documentada y runbook contra el almacén de hechos actual, clasificando cada una como intacta, contradicha, obsoleta o no verificable. Una contradicción debe nombrar el hecho que la provocó. Si el veredicto no puede citar, el veredicto se degrada en vez de mostrarse. Un pase de corrección separado vuelve a derivar el mundo desde fuentes en vivo y revisa cada creencia almacenada, con una línea base comprometida para que una creencia que era verdadera y ahora está contradicha falle una verificación de regresión en CI.
Puntos ciegos. Una diferencia de conjuntos entre los temas que el grafo sabe que existen y los temas que el almacén de hechos realmente cubre, ordenados por lo central que es cada uno. Esta es la parte que permite que el sistema diga "No sé esto" en vez de servir con confianza un contexto superficial. Encontró, entre otras cosas, que mi propio NAS era un punto ciego.
La parte que me sorprendió
Hacer la regla estricta aumentó la confianza que tengo en la salida, obviamente. Lo que no esperaba es que también aumentó la cantidad de salida. Cuando las cadenas bloqueadas se cuentan en vez de descartarse en silencio, el conteo de bloqueos se convierte en una lista de pendientes. "Siete conclusiones bloqueadas por falta de cita" es una mejor señal matutina que siete frases plausibles.
Dónde se permite que el modelo toque algo
De forma limitada y por diseño:
- La selección, el ranking y la clasificación son deterministas. Reproducibles offline, sin modelo en el loop.
- Un modelo puede redactar un resultado ya seleccionado.
- Un modelo nunca puede agregar un elemento, eliminar un elemento o cambiar un veredicto.
Cada capa se degrada al camino determinista cuando el modelo no está disponible. Mi GPU frecuentemente está ocupada generando video, y prefiero un informe pobre en lenguaje natural que ningún informe.
La limitación honesta
Fundamentado-o-bloqueado protege contra la fabricación. No protege contra una afirmación bien citada construida sobre una mala premisa — donde la cita es real pero lo que registra nunca fue una observación de la propiedad que se afirma. Esa falla me tomó cinco falsas alarmas para notar, y es tema para otro post.
Escrito por
Adrian Romo
Ingeniero Backend Senior que diseña APIs escalables en Python, arquitecturas sobre AWS Lambda, sistemas de voz e integraciones empresariales.
Relacionado
Sigue leyendo
Primitivas Ensambladas vs. una Plataforma
Construí un agente de voz usando primitivas en la nube, y funcionó. Desde entonces, fue reemplazado por una plataforma de voz diseñada específicamente para ese fin, y creo que fue la decisión correcta.
Seis publicaciones al día y el programador que aprendió a decir cuándo
Un pipeline social que publicaba un Reel al día y nada más, porque las cuotas por formato eran techos y nadie solicitaba los otros formatos.
Segundos de trabajo, horas de residencia
Mi informe matutino empezó a fallar. Ollama estaba activo y devolvía un HTTP 500, porque una renderización de imagen de 21 segundos seguía ocupando 6.6 GB de VRAM horas después.
Continúa
¿A dónde sigues?
Explora más textos técnicos, revisa los casos de estudio o escríbeme directo.