Agentic workflows en Scala: orquestando decisiones de larga duración con Workflows4s y Pekko

Agentic workflows en Scala: orquestando decisiones de larga duración con Workflows4s y Pekko

La IA generativa ya no es del futuro: los LLM y sus herramientas de integración están aquí, listos para cualquier desarrollador. El reto real no es usarlos, sino construir sistemas que escalen y coordinen agentes autónomos de manera confiable. La IA deja de ser un simple componente: se convierte en un ecosistema que hay que dominar… si quieres que funcione de verdad en producción.

[Leer más]

Errors and Optimizations

Errors and Optimizations

Los programas pueden encontrar errores previstos, que son fallos que se anticipan durante el diseño para manejar condiciones inusuales de forma controlada. Los errores previstos se diferencian de los errores inesperados y se gestionan con rutinas de manejo de errores, que aseguran la robustez y continuidad del programa en lugar de un colapso total. Existen varias estrategias para gestionar errores en Cats Effect. Scoped Error Capabilities, a pesar de ser muy reciente, destaca por sus ventajas para el manejo de errores en la programación funcional.

[Leer más]

In-Memory Fakes

In-Memory Fakes

El patrón repositorio es un enfoque de diseño que proporciona una capa de abstracción para acceder a fuentes de datos, como bases de datos o APIs externas, mediando entre el modelo de dominio y la capa de datos. Su amplio uso hace indispensable contar con buenas estrategias de testing, entre las que destacan el uso de in-memory fakes para implementar una versión simplificada del código de producción.

[Leer más]

Pragmatic Types

Pragmatic Types

La programación orientada a tipos es un paradigma que enfatiza el uso de tipos para definir y reforzar la estructura y el comportamiento de los datos dentro de un programa. En lenguajes como Scala, la programación orientada a tipos es un aspecto fundamental, ya que permite a los desarrolladores aprovechar el potente sistema de tipos de Scala para escribir código robusto y fácil de mantener.

[Leer más]