En este tutorial, demostramos cómo diseñar un sistema de decisión agente basado en contratos utilizando PydanticAI, tratando los esquemas estructurados como contratos de gobernanza no negociables en lugar de formatos de salida opcionales. Mostramos cómo definimos un modelo de decisión estricto que codifica el cumplimiento de políticas, la evaluación de riesgos, la calibración de confianza y los próximos pasos procesables directamente en el esquema de salida del agente. Al combinar los validadores de Pydantic con los mecanismos de autocorrección y reintento de PydanticAI, garantizamos que el agente no pueda producir decisiones lógicamente inconsistentes o que no cumplan. A lo largo del flujo de trabajo, nos centramos en crear un agente de decisiones de nivel empresarial que razona bajo restricciones, lo que lo hace adecuado para escenarios de riesgo, cumplimiento y gobernanza del mundo real en lugar de demostraciones basadas en sugerencias de juguete. Consulta los CÓDIGOS COMPLETOS aquí.
Configuramos el entorno de ejecución instalando las bibliotecas necesarias y configurando la ejecución asincrónica para Google Colab. Cargamos de forma segura la clave API de OpenAI y nos aseguramos de que el tiempo de ejecución esté listo para manejar llamadas de agentes asíncronos. Esto establece una base estable para ejecutar el agente de contrato primero sin problemas relacionados con el medio ambiente. Consulta los CÓDIGOS COMPLETOS aquí.
mitigación: str = Field(…, min_length=12) clase DecisionOutput(BaseModel): decisión: Literal[“approve”, “approve_with_conditions”, “reject”]
confianza: float = Field(…, ge=0.0, le=1.0) justificación: str = Field(…, min_length=80) riesgos_identificados: Lista[RiskItem] = Campo(…, min_length=2) cumplimiento_aprobado: condiciones bool: Lista[str] = Campo(default_factory=lista) next_steps: Lista[str] = Campo(…, min_length=3) timestamp_unix: int = Field(default_factory=lambda: int(time.time())) @field_validator(“confianza”) @classmethod def confianza_vs_risk(cls, v, info): riesgos = info.data.get(“identified_risks”) o []
si hay alguno(r.severity == “alto” para r en riesgos) y v > 0,70: aumentar ValueError(“confianza demasiado alta dados riesgos de alta gravedad”) devolver v @field_validator(“decisión”) @classmethod def rechazar_if_non_compliant(cls, v, info): si info.data.get(“compliance_passed”) es falso y v != “rechazar”: aumentar ValueError(“las decisiones no conformes deben rechazarse”) return v @field_validator(“condiciones”) @classmethod def condition_required_for_conditional_approval(cls, v, info): d = info.data.get(“decisión”) if d == “approve_with_conditions” y (no v o len(v) < 2): rise ValueError("approve_with_conditions requiere al menos 2 condiciones") si d == "aprobar" y v: aumentar ValueError ("aprobar no debe incluir condiciones") return v
Definimos el contrato de decisión central utilizando modelos Pydantic estrictos que describen con precisión una decisión válida. Codificamos restricciones lógicas, como la alineación entre confianza y riesgo, el rechazo impulsado por el cumplimiento y las aprobaciones condicionales, directamente en el esquema. Esto garantiza que la salida de cualquier agente debe satisfacer la lógica empresarial, no sólo la estructura sintáctica. Consulta los CÓDIGOS COMPLETOS aquí.
Inyectamos contexto empresarial a través de un objeto de dependencia escrito e inicializamos el agente PydanticAI respaldado por OpenAI. Configuramos el agente para que produzca únicamente decisiones estructuradas que se ajusten al contrato predefinido. Este paso formaliza la separación entre el contexto empresarial y el razonamiento del modelo. Consulta los CÓDIGOS COMPLETOS aquí.
Agregamos validadores de salida que actúan como puntos de control de gobernanza después de que el modelo genera una respuesta. Obligamos al agente a identificar riesgos significativos y a hacer referencia explícita a controles de seguridad concretos al reclamar el cumplimiento. Si se violan estas restricciones, activamos reintentos automáticos para imponer la autocorrección. Consulta los CÓDIGOS COMPLETOS aquí.
Ejecutamos el agente según una solicitud de decisión realista y capturamos el resultado estructurado validado. Demostramos cómo el agente evalúa el riesgo, el cumplimiento de la política y la confianza antes de tomar una decisión final. Esto completa el flujo de trabajo de extremo a extremo para tomar la primera decisión sobre el contrato en una configuración de estilo de producción.
En conclusión, demostramos cómo pasar de resultados de LLM de formato libre a sistemas de decisión confiables y gobernados utilizando PydanticAI. Mostramos que al hacer cumplir contratos estrictos a nivel de esquema, podemos alinear automáticamente las decisiones con los requisitos de las políticas, la gravedad del riesgo y el realismo de la confianza sin un ajuste manual rápido. Este enfoque nos permite crear agentes que fallan de manera segura, se autocorrigen cuando se violan las restricciones y producen resultados estructurados y auditables en los que los sistemas posteriores pueden confiar. En última instancia, demostramos que el diseño de agente basado en el contrato nos permite implementar IA agente como una capa de decisión confiable dentro de los entornos empresariales y de producción.
Consulta los CÓDIGOS COMPLETOS aquí. Además, no dude en seguirnos en Twitter y no olvide unirse a nuestro SubReddit de más de 100.000 ML y suscribirse a nuestro boletín. ¡Esperar! estas en telegrama? Ahora también puedes unirte a nosotros en Telegram.
Asif Razzaq es el director ejecutivo de Marktechpost Media Inc.. Como empresario e ingeniero visionario, Asif está comprometido a aprovechar el potencial de la inteligencia artificial para el bien social. Su esfuerzo más reciente es el lanzamiento de una plataforma de medios de inteligencia artificial, Marktechpost, que se destaca por su cobertura en profundidad del aprendizaje automático y las noticias sobre aprendizaje profundo que es técnicamente sólida y fácilmente comprensible para una amplia audiencia. La plataforma cuenta con más de 2 millones de visitas mensuales, lo que ilustra su popularidad entre el público.