Справочник Input Schema
Узлы agent-directive используют JSON Schema (Draft 7) для валидации ответов агента. Невалидные ответы вызывают повторную попытку с сообщениями об ошибках валидации.
Базовая структура
Заголовок раздела «Базовая структура»{ "inputSchema": { "type": "object", "properties": { "field_name": { "type": "string" } }, "required": ["field_name"] }}Определения типов
Заголовок раздела «Определения типов»{ "properties": { "name": { "type": "string" }, "description": { "type": "string", "minLength": 10 }, "code": { "type": "string", "maxLength": 100 } }}{ "properties": { "score": { "type": "number", "minimum": 0, "maximum": 100 }, "count": { "type": "integer", "minimum": 1 } }}Boolean
Заголовок раздела «Boolean»{ "properties": { "confirmed": { "type": "boolean" } }}{ "properties": { "items": { "type": "array", "items": { "type": "string" }, "minItems": 1, "maxItems": 10 } }}{ "properties": { "config": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "value": { "type": "number" } }, "required": ["enabled"] } }}Ограничения Enum
Заголовок раздела «Ограничения Enum»String Enum
Заголовок раздела «String Enum»{ "properties": { "status": { "type": "string", "enum": ["pending", "approved", "rejected"] }, "decision": { "type": "string", "enum": ["yes", "no"] } }}Boolean-подобный Enum
Заголовок раздела «Boolean-подобный Enum»Для ответов на русском:
{ "properties": { "confirmed": { "type": "string", "enum": ["да", "нет"] } }}Optional и Required
Заголовок раздела «Optional и Required»Обязательные поля
Заголовок раздела «Обязательные поля»{ "required": ["result", "confidence"]}Необязательные поля со значением по умолчанию
Заголовок раздела «Необязательные поля со значением по умолчанию»{ "properties": { "verbose": { "type": "boolean", "default": false } }}Паттерн необязательного пропуска
Заголовок раздела «Паттерн необязательного пропуска»{ "properties": { "result": { "type": "string" }, "skip": { "type": "string", "enum": ["yes"] } }}Агент предоставляет либо result, либо skip, но не оба.
Валидация по паттерну
Заголовок раздела «Валидация по паттерну»Паттерн пути к файлу
Заголовок раздела «Паттерн пути к файлу»{ "properties": { "file_path": { "type": "string", "pattern": "^[a-zA-Z0-9/_.-]+\\.(json|yaml|md)$" } }}Паттерн email
Заголовок раздела «Паттерн email»{ "properties": { "email": { "type": "string", "pattern": "^[^@]+@[^@]+\\.[^@]+$" } }}Паттерн URL
Заголовок раздела «Паттерн URL»{ "properties": { "url": { "type": "string", "pattern": "^https?://" } }}Валидация массивов
Заголовок раздела «Валидация массивов»Типизированные элементы массива
Заголовок раздела «Типизированные элементы массива»{ "properties": { "tags": { "type": "array", "items": { "type": "string" } } }}Объектные элементы массива
Заголовок раздела «Объектные элементы массива»{ "properties": { "steps": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "status": { "type": "string", "enum": ["done", "pending"] } }, "required": ["name", "status"] }, "minItems": 1 } }}Дополнительные свойства
Заголовок раздела «Дополнительные свойства»Строгая схема (по умолчанию)
Заголовок раздела «Строгая схема (по умолчанию)»{ "type": "object", "properties": { "result": { "type": "string" } }, "required": ["result"], "additionalProperties": false}Отклоняет любые поля, не определённые в properties. Движок автоматически применяет additionalProperties: false ко всем объектным схемам с properties, поэтому это поведение по умолчанию даже без явного указания.
Разрешить дополнительные поля
Заголовок раздела «Разрешить дополнительные поля»{ "additionalProperties": true}Явно укажите additionalProperties: true для разрешения дополнительных полей.
Описания для агентов
Заголовок раздела «Описания для агентов»Добавляйте описания, чтобы помочь агентам понять назначение полей:
{ "properties": { "quality_score": { "type": "number", "minimum": 1, "maximum": 10, "description": "Rate implementation quality from 1-10" }, "evidence": { "type": "string", "description": "Concrete proof that work is complete (test output, command results)" } }}Магические переменные
Заголовок раздела «Магические переменные»Специальная переменная execution_note обновляет отслеживание execution:
{ "properties": { "execution_note": { "type": "string", "description": "Note to identify this execution" } }}Подробнее в Магические переменные.
Типичные паттерны
Заголовок раздела «Типичные паттерны»Ответ Да/Нет
Заголовок раздела «Ответ Да/Нет»{ "type": "object", "properties": { "result": { "type": "string", "enum": ["yes", "no"] }, "reason": { "type": "string" } }, "required": ["result"]}Число с доказательством
Заголовок раздела «Число с доказательством»{ "type": "object", "properties": { "error_count": { "type": "number", "minimum": 0 }, "evidence": { "type": "string", "minLength": 10 } }, "required": ["error_count", "evidence"]}Множественный выбор
Заголовок раздела «Множественный выбор»{ "type": "object", "properties": { "action": { "type": "string", "enum": ["create", "edit", "delete", "skip"] }, "details": { "type": "string" } }, "required": ["action"]}Смотрите также
Заголовок раздела «Смотрите также»- Магические переменные - Специальные поля ввода
- Валидация - Как работает валидация