Explica cómo las nuevas tecnologías, como los LLM y ChatGPT, pueden revolucionar las Interfaces de Programación de Aplicaciones (API) en el futuro. Pon un ejemplo de cómo podrían funcionar estas API.
De niño, me encantaba ver los Jetsons. Cuando me hice mayor y acabé escribiendo software y creando e implementando arquitecturas para sistemas, pensé que nunca vería el día en que una cocina como la de los Jetsons fuera factible.
GPT (ChatGPT, etc.) me ha hecho cambiar de opinión.

Obligaciones contractuales
Como arquitecto, tienes que pensar como un abogado. Defines contratos (API) entre sistemas o componentes. Supervisas esas API para evitar abusos o usos indebidos.

Yo utilizaría el editor Swagger para definir esos contratos, y escribiría las API para que coincidieran con las interacciones implícitas en las maquetas. Verificaba el diseño con el equipo, recorría escenarios para ver si la API se adaptaba al caso de uso y no introducía cuellos de botella en el rendimiento, y simulaba y automatizaba todo lo que podía a lo largo del proceso.

Tuve mucho cuidado de hacerlo bien a la primera. Nunca era perfecto a la primera, por supuesto. Así que también tuve que considerar cómo podría evolucionar la API minimizando los costes/impacto en el resto del sistema. La API, una vez desplegada, se convertiría en algo que yo custodiaría, como un político honesto custodia la #constitucióndeEstadosUnidos. El equipo tenía que tener cuidado con cualquier cambio que afectara a la API.

Malla de API... ¡Más bien un lío de API!
Las API dependen de las API, que a su vez dependen de más API y bibliotecas. Cuando un sistema crece lo suficiente, esa complejidad se convierte en un cuello de botella. Los pequeños cambios pueden tener un enorme efecto dominó. Algunos enfoques (como el #GraphQL federado) ayudan a gestionar bien esta complejidad. Pero siguen implicando una API bajo la cual puede existir mucha fragilidad. #Ágil o no, desarrollar una complicada red de API es complejo, requiere conocimientos especializados y está lleno de retos imprevistos.

La conversación en la cocina, al estilo ChatGPT
La cocina de los Jetsons implica una serie de sistemas, cada uno compuesto de varias piezas, sensores, hardware, entradas y salidas. Teniendo en cuenta la complejidad de las interacciones entre sistemas independientes en una cocina, el hecho de que los componentes de la cocina de los Jetsons procederían de varios vendedores o fabricantes, el diseño tradicional de API no sería capaz de cumplir la visión. En absoluto práctico.

Ahora, pensemos en las API y la cocina de los Jetsons, al estilo #chatgpt.

Hagámoslo sencillo: pizza. Tú (o tu robot) preparáis una pizza desde cero.

El horno pregunta al frigorífico: "Veo que tenemos una pizza. ¿Puedes decirme si es mozzarella de baja humedad?".

El frigorífico: "Eso ni siquiera es mozzarella. Esta pizza debe tener queso Muenster, ya que es todo lo que tenía dentro. Y el humano ha sacado parte del contenido hace 30 minutos, así que la probabilidad de que haya queso Muenster en esa pizza es bastante alta".

Un sensor de la cocina que tiene ojos al otro lado de la habitación interviene en este momento. Sensor: "Cuidado, la masa de esta pizza está hecha de coliflor". Estoy de acuerdo con la valoración del sensor de vídeo sobre el tipo de queso. No ha entrado queso nuevo en la cocina recientemente".

Horno: "¿Algo más que deba saber?"

Sensor: "La temperatura de la masa es de 47F. Esto es más frío que el consenso de los chefs expertos de utilizar masa a temperatura ambiente."

Horno: "Estupendo. Ya sé lo que tengo que hacer. Como la masa está fría, empezaré a cocinar con una temperatura un poco más baja que la que especifica la receta. Luego aumentaré la temperatura del elemento inferior para que quede una bonita corteza crujiente. Vigilaré de cerca la humedad y puede que utilice la convección para mitigar cualquier nivel indeseable de humedad."

¿Dónde está la API que vincula contractualmente a los sistemas independientes? Las API no han desaparecido. Por ejemplo, el cerebro del Horno tendrá innumerables API (por ejemplo, para interactuar con los controladores y sensores de temperatura, etc.). La clave aquí es que la interfaz entre sistemas ya no es una API fija y rígida. No hay firmas de métodos, ni rutas, ni especificaciones de carga útil. En su lugar, una conversación relativa a sentidos y capacidades.

¿Qué "cerebro"?
El libro de Kence Anderson Designing Autonomous AI describe muy bien cómo un sistema complejo puede descomponerse en varios "cerebros" independientes. Según su libro, cada cerebro puede desarrollarse y perfeccionarse de forma independiente, con orientación humana combinada con #ciencia de datos, #aprendizaje de máquinas e #ingeniería de datos.

¿Qué se cuece?
Me entusiasma lo que nos depara el futuro. En mi opinión, es inevitable que los arquitectos se replanteen el diseño de sistemas complejos en relación con las API. Y, como pizzero aficionado, se me hace agua la boca esperando el día en que consiga ayuda de GPT para hacer una #detroitpizza aún mejor.