De Prompt Spaghetti a Contextos Delimitados: DDD para Bases de Código Agénticas

This ad is not shown to multipass and full ticket holders
React Summit
React Summit 2026
June 11 - 15, 2026
Amsterdam & Online
The biggest React conference worldwide
Upcoming event
React Summit 2026
React Summit 2026
June 11 - 15, 2026. Amsterdam & Online
Learn more
Bookmark
Rate this content
Sentry
Promoted
Code breaks, fix it faster

Crashes, slowdowns, regressions in prod. Seer by Sentry unifies traces, replays, errors, profiles to find root causes fast.

Esta presentación muestra cómo el Domain-Driven Design (DDD) convierte la codificación agéntica de “prompt spaghetti” en un enfoque de ingeniería mantenible. En lugar de un único prompt gigante y herramientas ad-hoc, propone contextos delimitados para las responsabilidades de los agentes, un lenguaje ubicuo para entradas/salidas de herramientas consistentes, y un mapa de contexto que hace explícitas las integraciones. Los asistentes aprenderán cómo diseñar contratos de herramientas estables (puertos/adaptadores), agregar puertas de CI/evaluación que mantengan a los agentes honestos, e implementar trazabilidad y reproducción para que las acciones de los agentes sigan siendo auditables y depurables. El resultado: sistemas agénticos que escalan a bases de código reales y equipos sin colapsar en el caos.

This talk has been presented at AI Coding Summit 2026, check out the latest edition of this Tech Conference.

Nikita Golovko
Nikita Golovko
16 min
26 Feb, 2026

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Nikita, AI Architect en Siemens, discute los desafíos en el desarrollo del sistema JNTX, enfatizando el diseño dirigido por el dominio para la escalabilidad y estabilidad. Las responsabilidades claras, los contextos delimitados y los esquemas estructurados son cruciales para reducir la complejidad. La capa anti-corrupción y los mapas de contexto juegan roles vitales en la arquitectura de integración. Los puntos clave incluyen la importancia de los contratos, firewalls y puertas de CI para el desarrollo del sistema.

1. Challenges in JNTX System Development

Short description:

Nikita, AI Architect at Siemens, discute los desafíos en el desarrollo del sistema JNTX. La charla se centra en el diseño impulsado por el dominio para mantener la escalabilidad y evitar fallos. La comparación entre microservicios y sistemas JNTX destaca la importancia de límites claros y APIs. El diseño impulsado por el dominio ofrece soluciones para mejorar la estabilidad y el rendimiento del sistema JNTX.

Hola queridos colegas, encantado de conoceros. Mi nombre es Nikita y soy un arquitecto de portafolio de IA en Siemens, Alemania, y hoy me gustaría hablar sobre la construcción de un sistema JNTX a través del prisma del diseño impulsado por el dominio. Permítanme comenzar con la llamada paradoja del sistema JNTX. Creo que muchos de ustedes probablemente la han visto. Por ejemplo, decides construir un sistema de codificación JNTX. Actualmente, estás en el primer mes, tienes tres agentes, indicaciones bastante limpias, todo funciona bien, estás lanzando nuevas características, nueva funcionalidad como loco, todo se ve increíble. Pero seis meses después, tienes un lío de agentes, más de 3,000 indicaciones de tokens. Cuando cambias algo, todo se rompe, tienes un ciclo de despliegue largo y apenas puedes depurarlo. Y todo esto no se trata principalmente de tus LLMs, no se trata de tus agentes, es un problema de toda la arquitectura.

Bien, veamos cómo sucede. Después de seis meses, tu indicación aumentó dramáticamente y alrededor del 85% de tu indicación se trata de lógica de análisis, se trata de integración. Pero en lugar de escribir esta integración como un código en Python, donde puedes probarlo, versionarlo, hacer comprobaciones de tipo, o simplemente lo escribiste en inglés simple y solo esperas que el LLM de alguna manera pueda ejecutarlo y todo estará bien. Esto es el espagueti de indicaciones y así es como terminan la mayoría de los sistemas JNTX. Y la pregunta principal hoy para nuestra charla, para mi charla, es cómo construir sistemas JNTX que puedan mantenerse mantenibles a medida que escalan. Y un pequeño spoiler, la respuesta será de 2003. Esta respuesta fue dada por Eric Evans. Mostró cómo funciona para microservicios, pero intentemos aplicarlo a nuestros agentes.

Bien, vamos, miremos más a fondo. El problema principal con la construcción de un sistema JNTX es que pensamos que estamos construyendo algún tipo de sistemas pequeños útiles que están claramente integrados o se comunican entre sí. Pero el problema es que en realidad estamos construyendo un sistema distribuido con servicios que se comunican entre sí a través del lenguaje natural sin seguridad de tipo, sin contratos explícitos, sin límites claros, lo que significa que al final del día, estamos construyendo algún tipo de arquitectura de microservicios, pero descuidando todos los principios básicos. Y luego nos preguntamos por qué todo se está rompiendo y por qué nada está funcionando. Bien, veamos esta comparación. Ya tenemos alrededor de 20 años de experiencia en sistemas distribuidos, y sabemos cómo dividir límites, cómo diseñar APIs, contratos, y esto funciona perfectamente para microservicios. Pero para los sistemas JNTX, tenemos una imagen totalmente opuesta. Tenemos una responsabilidad difusa, haciendo todo. Tenemos un lenguaje natural como interfaz, como interacción, en lugar de APIs claras, tenemos una adivinanza semántica, y como resultado, tenemos muchas fallas en cascada y mucha magia sucediendo bajo el capó. La buena noticia es que los patrones que resuelven todos estos problemas ya existen. El nombre de este patrón es diseño impulsado por el dominio, y también una buena noticia es que los principios y enfoques del diseño impulsado por el dominio funcionan aún mejor para los agentes que para los microservicios. Pero echemos un vistazo más de cerca a los cuatro patrones principales, cuatro principios principales del diseño impulsado por el dominio, y cómo podemos aplicarlos a los agentes. El primero, como es obvio, es un contexto delimitado.

2. Clear Responsibility and Contract Implementation

Short description:

Discutiendo la responsabilidad clara e implementando contextos delimitados para reducir la complejidad. Enfatizando la importancia de los contratos y esquemas estructurados para la salida de los agentes. Utilizando puertos y adaptadores junto con puertas CI para contratos listos para producción.

Se trata de responsabilidad clara. Aquí puedes ver un llamado anti-patrón de un agente guardián cuando en caso de diseñar un sistema de escritura de código contra un sistema de escritura de código por contrato. Este agente es responsable de la revisión de código, de la calidad, de las verificaciones de seguridad, de la cobertura de pruebas. Como resultado, tenemos más de 3000 tokens tratando de resolver todos los problemas existentes. ¿Qué podemos proponer como alternativa, cuál es la mejor práctica? Intenta aplicar contexto delimitado, intenta dividir este desorden en un contexto separado, por ejemplo, contexto de calidad, contexto de seguridad, y así sucesivamente. Cada contexto es responsable de una tarea separada. Cada contexto proporciona un artefacto separado. Por ejemplo, el contexto de calidad responde a la pregunta de si este código está bien elaborado seguridad, si este código es lo suficientemente seguro, y como artefacto, cada contexto proporciona un artefacto separado, por ejemplo, calidad, algún tipo de informes de calidad, informes de seguridad, y verificaciones de CV, y niveles de riesgo, y como resultado, tenemos una disminución significativa de la complejidad de nuestro indicación inicial de miles de tokens a un centenar medible de tokens. Y como primera regla, como primer resultado, tenemos que intentar aplicar contexto delimitado, un agente es un contexto delimitado, una responsabilidad.

El segundo patrón es un contrato como esquema. El problema es que sin contratos, la salida del agente no está estructurada, y cada agente que recibe esta salida puede analizarla e interpretarla de manera diferente. ¿Qué podemos proponer como alternativa? Aplicar contratos, aplicar esquemas estructurados, y, por ejemplo, tratarlo como un modelo pedante. Así que, por ejemplo, un modelo pedante puede representar tu contrato, que representa esta integración entre contextos, que nos ayuda a definir explícitamente la expectativa de la salida de un agente y darle forma de manera estructurada. También, puede darnos la oportunidad de beneficios de auto-documentación, porque el esquema es un documento, puede ser validado automáticamente por, por ejemplo, pedantic, puede ser versionado explícitamente, y ni siquiera necesitamos ninguna lógica de análisis debido a esta estructura desde el primer día. Por eso tenemos una segunda regla. Necesitamos dejar de usar el lenguaje natural como nuestra API. Deberíamos usar esquemas estructurados como nuestros contratos.

Pero veamos cómo hacer estos contratos listos para producción. Para hacer esto, tenemos dos patrones, los llamados puertos y adaptadores de arquitectura hexagonal y puertas CI. Los puertos definirán lo que nuestro agente necesita. Está en un contrato. El adaptador solo traduce el sistema externo a nuestro dominio. Y significa que el agente no conoce el formato externo, porque el adaptador solo absorbe esta complejidad. Cuando algo cambia en el sistema externo, solo necesitamos actualizar nuestro adaptador y el dominio sigue protegido y seguro. Y dado que nuestros contratos están estandarizados y estructurados, podemos automatizar las verificaciones pre y post-despliegue, pruebas y validaciones alrededor de estos contratos con la ayuda de las respectivas puertas CI. Así que los contratos definen la corrección y las puertas CI solo la refuerzan. Bien, el tercer patrón, es una llamada capa anti-corrupción. Podemos considerarlo, podemos tratarlo como un cortafuegos semántico. El problema principal es que en diferentes contextos, en diferentes límites, el mismo término puede tener un significado diferente, una definición diferente. Por ejemplo, para el contrato de generación de código, función es una firma más implementación.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Escalando con Remix y Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Escalando con Remix y Micro Frontends
Top Content
This talk discusses the usage of Microfrontends in Remix and introduces the Tiny Frontend library. Kazoo, a used car buying platform, follows a domain-driven design approach and encountered issues with granular slicing. Tiny Frontend aims to solve the slicing problem and promotes type safety and compatibility of shared dependencies. The speaker demonstrates how Tiny Frontend works with server-side rendering and how Remix can consume and update components without redeploying the app. The talk also explores the usage of micro frontends and the future support for Webpack Module Federation in Remix.
Entendiendo la Arquitectura Fiber de React
React Advanced 2022React Advanced 2022
29 min
Entendiendo la Arquitectura Fiber de React
Top Content
This Talk explores React's internal jargon, specifically fiber, which is an internal unit of work for rendering and committing. Fibers facilitate efficient updates to elements and play a crucial role in the reconciliation process. The work loop, complete work, and commit phase are essential steps in the rendering process. Understanding React's internals can help with optimizing code and pull request reviews. React 18 introduces the work loop sync and async functions for concurrent features and prioritization. Fiber brings benefits like async rendering and the ability to discard work-in-progress trees, improving user experience.
Thinking Like an Architect
Node Congress 2025Node Congress 2025
31 min
Thinking Like an Architect
Top Content
In modern software development, architecture is more than just selecting the right tech stack; it involves decision-making, trade-offs, and considering the context of the business and organization. Understanding the problem space and focusing on users' needs are essential. Architectural flexibility is key, adapting the level of granularity and choosing between different approaches. Holistic thinking, long-term vision, and domain understanding are crucial for making better decisions. Effective communication, inclusion, and documentation are core skills for architects. Democratizing communication, prioritizing value, and embracing adaptive architectures are key to success.
Componentes de Full Stack
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Componentes de Full Stack
Top Content
RemixConf EU discussed full stack components and their benefits, such as marrying the backend and UI in the same file. The talk demonstrated the implementation of a combo box with search functionality using Remix and the Downshift library. It also highlighted the ease of creating resource routes in Remix and the importance of code organization and maintainability in full stack components. The speaker expressed gratitude towards the audience and discussed the future of Remix, including its acquisition by Shopify and the potential for collaboration with Hydrogen.
El Lado Oscuro de los Micro-Frontends
React Advanced 2025React Advanced 2025
29 min
El Lado Oscuro de los Micro-Frontends
In the Talk, various key points were discussed regarding micro-front-end architecture. These included challenges with micro-intents, common mistakes in system design, the differences between micro-intents and components, granularity in software architecture, optimizing micro-front-end architecture, efficient routing and deployment strategies, edge computing strategies, global state and data sharing optimization, managing data context, governance and fitness functions, architectural testing, adaptive growth, value of micro-frontends, repository selection, repo structures, and web component usage.

Workshops on related topic

IA a demanda: IA sin servidor
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
IA a demanda: IA sin servidor
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
En esta masterclass, discutimos los méritos de la arquitectura sin servidor y cómo se puede aplicar al espacio de la IA. Exploraremos opciones para construir aplicaciones RAG sin servidor para un enfoque más lambda-esque a la IA. A continuación, nos pondremos manos a la obra y construiremos una aplicación CRUD de muestra que te permite almacenar información y consultarla utilizando un LLM con Workers AI, Vectorize, D1 y Cloudflare Workers.
Masterclass de alto rendimiento Next.js
React Summit 2022React Summit 2022
50 min
Masterclass de alto rendimiento Next.js
Workshop
Michele Riva
Michele Riva
Next.js es un marco convincente que facilita muchas tareas al proporcionar muchas soluciones listas para usar. Pero tan pronto como nuestra aplicación necesita escalar, es esencial mantener un alto rendimiento sin comprometer el mantenimiento y los costos del servidor. En este masterclass, veremos cómo analizar el rendimiento de Next.js, el uso de recursos, cómo escalarlo y cómo tomar las decisiones correctas al escribir la arquitectura de la aplicación.
Model Context Protocol (MCP) Deep Dive: 2-Hour Interactive Masterclass
AI Coding Summit 2025AI Coding Summit 2025
86 min
Model Context Protocol (MCP) Deep Dive: 2-Hour Interactive Masterclass
Workshop
Stepan Suvorov
Stepan Suvorov
Únete a una sesión enfocada de 2 horas que cubre el propósito de MCP, su arquitectura, implementación práctica de servidores y direcciones futuras. Diseñado para desarrolladores y arquitectos de sistemas que buscan integrar datos contextuales con modelos de ML de manera efectiva. Agenda:- Introducción & ¿Por qué MCP? Desafíos clave que MCP resuelve y beneficios principales.- Profundización en la Arquitectura: componentes, interacciones, principios de escalabilidad. - Construyendo tu propio Servidor MCP: recorrido guiado con fragmentos de código y mejores prácticas; demostración en vivo o revisión de código.- Futuro de los Desarrollos de MCP: potenciales mejoras, tendencias emergentes, escenarios del mundo real.
Puntos Clave:- Comprensión clara del razonamiento detrás de MCP.- Perspectiva sobre patrones de diseño y consideraciones de escalado.- Pasos prácticos para implementar un servidor prototipo.- Conciencia de las tendencias futuras y cómo aplicar MCP en proyectos. 
Concurrencia de Node Con la Fuerza de un Toro Con BullMQ
Node Congress 2026Node Congress 2026
95 min
Concurrencia de Node Con la Fuerza de un Toro Con BullMQ
Workshop
Edy Silva
Douglas Marques
2 authors
La naturaleza concurrente de Node ya es poderosa, pero a menudo necesitamos sacar trabajo del servidor principal por varias razones. En este trabajo, exploraremos algunos escenarios en los que el trabajo se empuja inteligentemente a otro proceso de Node para resolver.
Una vez que usamos una cola para distribuir cargas de trabajo, necesitamos identificar la naturaleza del trabajo a realizar. Para trabajos intensivos en I/O o CPU, el primero ya está perfectamente cubierto por un solo proceso de Node.js; necesitaremos ajustar la configuración del trabajador para que coincida con los recursos disponibles y el rendimiento.