В этом руководстве мы покажем, как спроектировать систему принятия решений на основе контрактов с помощью PydanticAI. Мы будем рассматривать структурированные схемы как неотъемлемые контракты управления, а не как необязательные выходные форматы.
Мы определим строгую модель принятия решений, которая включает в себя соответствие политике, оценку рисков, калибровку уверенности и практические последующие шаги, непосредственно встроенные в схему выходных данных агента.
Этапы работы
1. Установка среды выполнения.
Мы устанавливаем необходимые библиотеки и настраиваем асинхронное выполнение для Google Colab. Мы безопасно загружаем ключ API OpenAI и обеспечиваем готовность среды выполнения для обработки асинхронных вызовов агентов.
2. Определение основных контрактов на принятие решений.
Мы используем строгие модели Pydantic, которые точно описывают действительное решение. Мы кодируем логические ограничения, такие как согласование уверенности и рисков, отклонение по несоответствию требованиям и условное одобрение, непосредственно в схеме.
3. Внедрение корпоративного контекста.
Мы внедряем корпоративный контекст через типизированный объект зависимости и инициализируем агент PydanticAI на базе OpenAI. Мы настраиваем агента так, чтобы он выдавал только структурированные выходные данные, соответствующие заранее определённому контракту.
4. Добавление валидаторов выходных данных.
Мы добавляем валидаторы выходных данных, которые действуют как контрольные точки управления после того, как модель генерирует ответ. Мы заставляем агента идентифицировать значимые риски и явно ссылаться на конкретные элементы управления безопасностью при заявлении о соответствии требованиям.
Пример кода
«`python
@dataclass
class DecisionContext:
company_policy: str
risk_threshold: float = 0.6
model = OpenAIChatModel(
«gpt-5»,
provider=OpenAIProvider(apikey=OPENAIAPI_KEY),
)
agent = Agent(
model=model,
deps_type=DecisionContext,
output_type=DecisionOutput,
system_prompt=»»»
You are a corporate decision analysis agent.
You must evaluate risk, compliance, and uncertainty.
All outputs must strictly satisfy the DecisionOutput schema.
«»»
)
«`
Запуск принятия решений
«`python
async def run_decision():
global CURRENT_DEPS
CURRENT_DEPS = DecisionContext(
company_policy=(
«No deployment of systems handling personal data or transaction metadata «
«without encryption, audit logging, and least-privilege access control.»
)
)
prompt = «»»
Decision request:
Deploy an AI-powered customer analytics dashboard using a third-party cloud vendor.
The system processes user behavior and transaction metadata.
Audit logging is not implemented and customer-managed keys are uncertain.
«»»
result = await agent.run(prompt, deps=CURRENT_DEPS)
return result.output
decision = asyncio.run(run_decision())
«`
Мы запускаем агента на реалистичном запросе о принятии решения и фиксируем проверенный структурированный вывод. Мы демонстрируем, как агент оценивает риски, соответствие политике и уверенность, прежде чем принять окончательное решение.
В заключение мы показываем, как перейти от произвольных выходных данных LLM к управляемым и надёжным системам принятия решений с помощью PydanticAI. Мы показываем, что, внедряя жёсткие контракты на уровне схемы, мы можем автоматически согласовывать решения с требованиями политики, серьёзностью рисков и реалистичностью уверенности без ручной настройки запросов.
1. Какие основные этапы включает в себя процесс создания системы принятия решений на основе контрактов с помощью PydanticAI?
Ответ: процесс включает в себя установку среды выполнения, определение основных контрактов на принятие решений, внедрение корпоративного контекста и добавление валидаторов выходных данных.
2. Какие инструменты и библиотеки используются для создания системы принятия решений на основе контрактов с помощью PydanticAI?
Ответ: для создания системы используются библиотеки Pydantic, OpenAI, а также асинхронное выполнение в Google Colab.
3. Как обеспечивается соответствие решений корпоративным политикам при использовании PydanticAI?
Ответ: соответствие решений корпоративным политикам обеспечивается путём внедрения корпоративного контекста через типизированный объект зависимости и настройки агента PydanticAI на базе OpenAI для выдачи структурированных выходных данных, соответствующих заранее определённому контракту.
4. Какие логические ограничения кодируются в схеме выходных данных агента PydanticAI?
Ответ: в схеме выходных данных кодируются логические ограничения, такие как согласование уверенности и рисков, отклонение по несоответствию требованиям и условное одобрение.
5. Какие преимущества даёт использование PydanticAI для создания систем принятия решений на основе контрактов?
Ответ: использование PydanticAI позволяет автоматически согласовывать решения с требованиями политики, серьёзностью рисков и реалистичностью уверенности без ручной настройки запросов, что обеспечивает более надёжные и управляемые системы принятия решений.