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.
Comments