The industry’s obsession with prompt engineering misses the point entirely. Prompts are strings—brittle, unversionable, impossible to systematically improve. What we need are programmable abstractions that separate what an agent should do from how it achieves it.
La obsesión de la industria con la ingeniería de prompts pierde el punto por completo. Los prompts son cadenas—frágiles, sin versionado, imposibles de mejorar sistemáticamente. Lo que necesitamos son abstracciones programables que separen qué debe hacer un agente de cómo lo logra.
DSPy introduced this shift: define signatures (input → output contracts), compose modules (ReAct, ChainOfThought, ProgramOfThought), and let optimizers handle the prompting. BootstrapFewShot seeds demonstrations, MIPROv2 tunes instructions and examples jointly, GEPA cross-propagates successful traces, and BetterTogether ensembles the survivors. The result isn’t a clever prompt—it’s a compiled program.
DSPy introdujo este cambio: define signatures (contratos de entrada → salida), compone módulos (ReAct, ChainOfThought, ProgramOfThought) y deja que los optimizadores manejen el prompting. BootstrapFewShot siembra demostraciones, MIPROv2 ajusta instrucciones y ejemplos conjuntamente, GEPA propaga trazas exitosas y BetterTogether ensambla los sobrevivientes. El resultado no es un prompt ingenioso—es un programa compilado.
But programs need runtime. Dapr provides the distributed substrate: stateful workflows that survive failures, pub/sub for agent coordination, service discovery for dynamic composition, and durable execution guarantees. Combined, DSPy defines the logic and Dapr provides the infrastructure. The agent becomes a first-class distributed system citizen—not a stateless API call hoping for the best.
Pero los programas necesitan un runtime. Dapr proporciona el sustrato distribuido: workflows con estado que sobreviven fallos, pub/sub para coordinación de agentes, descubrimiento de servicios para composición dinámica y garantías de ejecución durable. Combinados, DSPy define la lógica y Dapr proporciona la infraestructura. El agente se convierte en un ciudadano de primera clase del sistema distribuido—no en una llamada API stateless esperando lo mejor.
The next frontier is self-evolution. LSE pipelines that treat runtime failures as training signals. Meta-LSE that optimizes the optimizer itself. Skills that co-evolve through Trace2Skill verification. We’re not building agents anymore—we’re building systems that build themselves.
La próxima frontera es la autoevolución. Pipelines LSE que tratan los fallos en runtime como señales de entrenamiento. Meta-LSE que optimiza el optimizador mismo. Skills que co-evolucionan a través de verificación Trace2Skill. Ya no estamos construyendo agentes—estamos construyendo sistemas que se construyen a sí mismos.
References
Referencias
- Khattab, O., et al. (2024). *DSPy: Compiling Declarative Prompts into Language Models*. arXiv:2405.18314. arxiv.org/abs/2405.18314
- Microsoft. *Dapr: Distributed Application Runtime*. dapr.io
- Chen, X., et al. (2026). *Learning to Self-Evolve*. arXiv:2603.18620. arxiv.org/abs/2603.18620
- Ni, J., et al. (2026). *Trace2Skill*. arXiv:2603.25158. arxiv.org/abs/2603.25158
- Khattab, O., et al. (2024). *DSPy: Compilando Prompts Declarativos en Modelos de Lenguaje*. arXiv:2405.18314. arxiv.org/abs/2405.18314
- Microsoft. *Dapr: Runtime de Aplicaciones Distribuidas*. dapr.io
- Chen, X., et al. (2026). *Aprender a Autoevolucionarse*. arXiv:2603.18620. arxiv.org/abs/2603.18620
- Ni, J., et al. (2026). *Trace2Skill*. arXiv:2603.25158. arxiv.org/abs/2603.25158