НАЧАЛО >> AITool📄 Скачать в DOCX
AITool отвечает за промышленный контракт безопасного запуска AI-инструментов. Модуль хранит и публикует реестр инструментов, политики запуска, схемы входа и выхода, классы побочных эффектов, правила подтверждения, idempotency и диагностический envelope результата.
AITool не реализует бизнес-операции доменных модулей и не выполняет прямую запись в их базы. Для инструментов с побочными эффектами модуль возвращает explainable proposal/dry-run envelope. Реальное применение выполняет модуль-владелец доменной операции после отдельного подтверждения и своих проверок.
AI использует AITool как безопасный gate перед tool execution. Queue отвечает за фоновое выполнение, retry и dead-letter. Security отвечает за права. TraceContext и Observability отвечают за сквозную диагностику. Доменные модули владеют своими handlers, правилами применения и бизнес-валидацией.
AITool описывает один инструмент: стабильный ключ, модуль-владелец, тип выполнения, схемы входа и выхода, требуемые права, класс побочных эффектов, политику подтверждения, idempotency, queue policy, Help и TestA-ссылки.
AIToolPolicy определяет, какие инструменты и классы побочных эффектов можно запускать в конкретном AI-сценарии. Политика может требовать dry-run, idempotency key, подтверждение пользователя, запрет внешних инструментов и запрет отдельных классов данных.
AIToolExecutionEnvelope возвращается из preflight и execution. В нем фиксируются decision, причины отказа, warnings, normalized input, safe payload, trace id, idempotency key, summary побочных эффектов и диагностические коды.
Перед запуском handler-а вызывается AITool/PreflightToolExecution. Он проверяет наличие инструмента, наличие политики, schema input, allowed/denied lists, side effect class, external policy, dry-run, idempotency, Security decision и data classes. Preflight не вызывает модель, handler и доменную запись.
AITool/ExecuteTool сначала выполняет preflight. При dryRun=TRUE возвращается только planned execution. Для read-only инструментов после успешного preflight допускается вызов handler-а через AI. Для инструментов с побочными эффектами возвращается proposal envelope, а прямое применение не выполняется.
Системные определения поставляются в modules/*/Resources/ai-tools/*.json. Такой файл может содержать разделы tools и policies. Администраторские записи могут дополнять системные tool definitions, но промышленная политика должна оставаться объяснимой через HealthCheck и TestA.
AITool/CheckToolHealth проверяет наличие схем входа и выхода, required rights, Help/TestA-ссылок, безопасные defaults, confirmation для write tools и idempotency для операций с побочными эффектами.
TestA-сценарии модуля покрывают публикацию схемы, наличие реестра инструментов и политик, успешный read-only preflight, отказ неизвестного инструмента, отказ по обязательному input, запрет write tool read-only политикой, dry-run proposal для write tool и диагностический HealthCheck.