Проще говоря, input contract отвечает на вопрос: “что мы считаем корректным входом для модели, агента или workflow?”. Например, агент по обработке заявок может принимать `name`, `phone`, `email`, `message`, `source`, `consent`, `crm_id` и не должен работать, если нет согласия на обработку или номер телефона в неверном формате.
В AI-приложениях input contract особенно важен, потому что модель часто получает данные из разных мест: формы сайта, CRM, документов, почты, вебхуков, таблиц, API и RAG-поиска. Если формат не описан, агент начинает угадывать: где имя клиента, где сумма, что считается приоритетом, можно ли доверять полю и что делать при пустом значении.
Хороший input contract снижает ошибки интеграций. Он помогает валидировать данные до вызова модели, отделять пользовательский текст от системных полей, не смешивать доверенные и недоверенные источники, запускать guardrails и понятнее логировать, почему запрос был отклонен или отправлен на уточнение.
Примеры
- Webhook от формы лидогенерации передает только поля, описанные в input contract: имя, телефон, вопрос, источник и согласие.
- AI-агент не запускает обработку счета, если в input contract обязательны файл, ИНН поставщика и ID договора, а договор не указан.
- Система помечает поле `comment` как недоверенный пользовательский текст и не дает ему переопределять системные инструкции.
- Перед tool calling backend валидирует вход по JSON Schema и возвращает ошибку, если дата передана в неверном формате.
- В RAG-пайплайне input contract фиксирует, какие метаданные документа обязательны: владелец, дата обновления, отдел и права доступа.
Где используется
- Валидация входных данных перед вызовом LLM
- Интеграция AI-агента с CRM, формами, вебхуками и API
- Разделение доверенных системных полей и пользовательского текста
- Описание входа для document parsing и structured extraction
- Контроль прав доступа, согласий и источников данных
- Стабильная работа no-code и low-code автоматизаций
- Диагностика ошибок в агентских workflow и tool calling
Связанные термины
Частые вопросы
Чем input contract отличается от JSON Schema?
JSON Schema описывает структуру JSON и типы полей. Input contract шире: кроме структуры он может включать источник данных, уровень доверия, права доступа, обязательные проверки, бизнес-правила и поведение при ошибке.
Зачем input contract нужен AI-агенту?
Чтобы агент не угадывал формат входа. Контракт показывает, какие данные есть, какие обязательны, какие можно использовать для действий, а какие нужно считать недоверенным пользовательским вводом.
Что бывает без входного контракта?
Появляются ошибки формата, пропущенные обязательные поля, неверная маршрутизация, смешение пользовательских инструкций с системными данными, дубли и сложная отладка интеграций.
Что включить в хороший input contract?
Поля, типы, required, допустимые значения, источник данных, права доступа, PII-флаги, правила валидации, примеры корректного входа и понятные ошибки для некорректных данных.