Manuales

Control de versiones de instrucciones sin plataforma

No necesitas un producto de gestión de instrucciones para dejar de enviar cambios de instrucciones a ciegas. Un archivo, un identificador de versión y una regla sobre ediciones fuera de banda cubren la mayoría de lo que vende una plataforma.

El problema con la edición de instrucciones en una consola

Una instrucción editable en una consola de proveedor es el camino de cambio de mayor velocidad en la mayoría de los sistemas de inteligencia artificial y el menos registrado. Un ajuste en la redacción se guarda durante un incidente, el comportamiento cambia para todos los usuarios de inmediato, y nada en el repositorio de código, el historial de revisiones o las notas de lanzamiento refleja esto. Cuando la calidad disminuye un mes después, la explicación más probable es invisible.

Una plataforma es una solución. La versión de la solución que se adapta a un equipo pequeño es un conjunto de convenciones, y lleva menos tiempo adoptarla que adquirir algo.

Cuatro convenciones que cubren lo esencial

Las instrucciones viven en el repositorio. Un archivo por instrucción, o un directorio con un archivo por instrucción, en el mismo proceso de revisión que el código. Si el tiempo de ejecución carga instrucciones desde un servicio, ese servicio se popula mediante una implementación desde el repositorio — no por una persona que escribe en un formulario.

Cada instrucción lleva un identificador de versión. Un hash corto del contenido es suficiente, y tiene la propiedad útil de ser imposible de olvidar actualizar. El identificador se registra con cada respuesta, lo que hace que una regresión sea atribuible a una instrucción en lugar de a una actualización del modelo, un cambio de corpus o un camino de código.

Un cambio se acepta en una delta de evaluación. El compromiso que cambia una instrucción establece qué elementos de evaluación se movieron y en qué dirección. Este es el único mecanismo que evita la acumulación de ajustes que cada uno solucionó un caso y rompió otro.

Las ediciones fuera de banda se tratan como incidentes. Si alguien edita la instrucción en vivo para detener una interrupción, la misma edición debe aterrizar en el repositorio antes de que se cierre el incidente. Sin esta regla, el repositorio se desvía de la producción dentro de un incidente, y cada identificador de versión posterior es una mentira.

Qué registrar por respuesta

  • El identificador de versión de la instrucción, y la versión del modelo que se sirve en realidad en lugar de la solicitada.
  • Los parámetros que afectan la salida: temperatura, límite de salida, cualquier definición de herramienta.
  • Una referencia al contexto recuperado, para que una queja de calidad se pueda reproducir en lugar de discutir.
  • La ruta de decisión, si la solicitud se enruta o degrada — un modelo más pequeño que responde porque el grande no estaba disponible se ve idéntico en la respuesta.

La comparación que justifica el esfuerzo

Cuando la calidad cambia, la primera pregunta es siempre si el modelo, la instrucción o los datos cambiaron. Las actualizaciones del modelo se anuncian, los cambios de datos suelen ser ruidosos. Los cambios de instrucción son el silencioso, y con el identificador en los registros la respuesta tarda minutos en lugar de un día de bisecar implementaciones.

El segundo beneficio llega en el momento de la revisión. Una diferencia de instrucción con una delta de evaluación adjunta es revisable; una diferencia de instrucción sola invita a una discusión sobre la redacción, que nadie gana y que retrasa el cambio.

Qué hacer con esto

  • Las instrucciones pertenecen al repositorio, no a la consola
  • Registra la versión de la instrucción con cada respuesta
  • Cada cambio de instrucción necesita del delta de evaluación en el que se aceptó