2026-08-01T19:16:32.689Z

AI Наблюдаемость агента для временных выборов инструмента: проверка эффекта

Отсрочка не доказывает, что инструмент ничего не сделал. Используйте стабильную идентификацию работы, получение эффектов и прочтение-боковую зонду перед повторными попытками агента AI.

Время действия инструмента говорит о том, что звонивший перестал ждать. Znot сообщает вам, выполняет ли инструмент свой побочный эффект. Для агента AI, который может отправлять сообщение, создавать билет, зарезервировать слот или заряжать счет, обращение с timeout как failed может превратить обычную ошибку сети в дублирующую реальную операцию. Разумным дефолтом является замораживание слепых повторных попыток, сохранение одной стабильной идентификации операции и согласование предполагаемого эффекта. Примите один из трех ответов: проверенный применяется, проверенный не применяется или неопределенный. Только второй ответ может ввести решение о повторном испытании, и даже тогда договор о поставщике должен поддерживать повторное испытание с той же идентичностью и неизменными параметрами. Это проблема наблюдения, потому что здоровый вердикт зависит от доказательств, выходящих за рамки инструмента. Агент нуждается в квитанции за то, что он собирался, какой транспорт вернул, и что теперь содержит внешняя система. Время отключения оставляет три различных факта Агент обычно записывает один удобный факт: звонок к инструменту привел к отсрочке. Полезный эксплуатационный учет имеет три слоя: 1. Intent точная логическая операция, которую агент обязался выполнять. 2. Transport получает ли звонок ответ, отказ или отсутствие ответа. 3. Effect Содержит ли целевая система предполагаемый результат, не содержит результата или не может быть уверенно запрошено. Эти слои могут не соглашаться. Запрос может достичь поставщика, создать объект и потерять ответ на обратном пути. Он может потерпеть неудачу до отправки. Он может вернуть успех, в то время как асинхронный шаг вниз по течению никогда не дает обещанного результата. Ни один из этих случаев не хорошо описывается одним полем success: true false . продвинутая документация по обработке ошибок Stripe делает неясность очевидной: после сетевой ошибки клиент не знает, получил ли сервер запрос. Рекомендуемый маршрут повторной попытки повторно использует тот же ключ идемпотенции и те же параметры, пока клиент не получит окончательный результат. На той же странице ответ 500 рассматривается как неопределенный, поскольку запрос все равно может вызвать видимый пользователем побочный эффект. AWS документирует соответствующую границу в своем Устойчивое руководство по исполнению. По крайней мере, повторное воспроизведение является безопасным для бессильных операций; внешние побочные эффекты требуют как минимум однократного обращения или контракта на бессильную эксплуатацию. AWS также предупреждает, что ни одна семантика на попытку не означает только один раз для всего рабочего потока. Практический вывод более узкий, чем добавьте повторные попытки. Сначала решите, безопасно ли повторить операцию. Читание, подъем, закрепленный стабильным идентификатором записей, и звонок провайдера с документированным ключом отчуждения отличаются от отправки однократного уведомления через API, которая не имеет договора о дедублировании. Зарегистрируйте получение эффекта перед добавлением повторных попыток Получение эффекта это небольшая локальная запись, созданная до отправки . Это не единственный ответ поставщика. Она связывает намерение с последующими доказательствами: operation id определяет логическое действие в процессе перезагрузки. request hash предотвращает повторное использование агентом этой идентичности для измененных параметров. Ключ к неисполненности отделен, потому что не каждый провайдер поддерживает его, и провайдеры определяют различные окна хранения и поведение повторного воспроизведения. Проверка описывает, как эффект был проверен; вкладный конечный пункт списка является более слабым доказательством, чем прямое чтение уникальной внешней ссылкой. Не храните в этом записке секреты, запросы, содержание сообщений или полные аргументы инструмента. Напишите канонический, редактированный намерение и сохраните только поле, необходимое для согласования эффекта. Если поставщик принимает метаданные клиента, прикрепите там идентификатор стабильной операции, чтобы более поздний веб связь или чтение могли коррелировать объект даже тогда, когда исходный ответ исчез. Приговор должен использовать ясные доказательства: Приговор Доказательства Следующее действие verified applied Один эффект совпадения или достоверный квитанция провайдера Не пытайтесь вновь; продолжайте проверку результатов verified not applied Авторитетный запрос доказывает нулевые эффекты совпадения Спросите договор поставщика до одной ограниченной повторной попытки indeterminate Ответа отсутствует и проверки эффекта не подтверждаются. Подождите, примиритесь или спросите человека, не придумывайте уверенности. duplicate effect Существует более одного совпадающего эффекта Прекратите повторные попытки и входите в путь компенсационного или человеческого ремонта false success Транспорт вернулся успешно, но обещанный эффект отсутствует. Относитесь к бегу как к нездоровому , даже если командование завершено . unsafe retry То же же намерение было попытано повторно под новым ключом или изменен хош запроса Прекратите; граница дедублирования была нарушена Эта таблица разделяет деятельность от полезного прогресса. Еще одна попытка это активность. Подтвержденный эффект это прогресс. Законное окно примирения ждет, в то время как повторные свежие ключи без стабильной квитанции являются небезопасным исполнением. Запустить классификатор шести случаев Я построил устройство NDJSON в шести случаях, чтобы проверить правило. Он включает в себя потерянный ответ с получением соответствующего поставщика, отсрочку с недоступными доказательствами, поставщика, который создает два эффекта несмотря на повторяющийся ключ, успешный ответ без исходящего объекта, авторитетный результат с нулевым эффектом и повторная попытка с измененным ключом. Основной классификатор намеренно небольшой: В каждом штате решение касается одного случая: Все шесть ожидаемых утверждений проходят. Наиболее важным результатом является вторая строка, а не счастливый путь: время без авторитетного пути чтения остается indeterminate . Новая попытка сделает панель более загруженной, а реальное состояние затруднит восстановление. Устройство также поймает соблазнительный короткий путь. Квитанция провайдера полезна только тогда, когда она связана с исходным хэшем запроса. Квитанция за другую полезную нагрузку не может доказать, что намеченный эффект произошел. Также транспортный 200 не является проверкой результатов; случай ack without deliverable является false success , потому что внешний объект отсутствует. При производстве выполняйте примирение по ограниченному графику. Запроси стабильный идентификатор операций или ключ незаменимости поставщика, запиши свежесть доказательств и остановитесь после установленного срока. Если результат остается неопределенным, направьте решение к кому то с полномочиями над пораженной системой. Не допускайте пересечения границы побочных эффектов с помощью общего препарата в размере до трех раз. Где договор прекращается Получение эффекта уменьшает неоднозначность; оно не создает точное одноразовое гарантирование. Поставщик может истечь сроком действия ключей безотказности, игнорировать их на некоторых конечных точках, принять запрос до внутреннего асинхронного сбоя или выявить модель чтения, которая отстает от записи. Проверка также может быть ошибочной из за кеширования, частичных разрешений или не уникального поиска. Поставьте эти границы рядом с приговором: сохраняет документированное окно и сферу действия поставщика; использовать тот же ключ and , тот же канонический запрос во время разрешенной повторной пробки; надежность и свежесть эпизода; отличить авторитетный нуль от невидимого еще; время сглаживания ограничений и количество повторных попыток; требуют одобрения человека для компенсационных или необратимых действий; проверять предполагаемый результат пользователя после подтверждения эффекта. Эта модель особенно ценна для долгосрочных агентов, поскольку процесс восстановления часто теряет транспортный ответ, пока продолжается внешняя работа. Продолжение получения до отправки дает перезапущенному агенту стабильное место для возобновления расследования. Он должен возобновиться с indeterminate , а не с вероятно неудачным. Для наблюдаемости агента AI правила эксплуатации простые: времяпрерыв это транспортное наблюдение, а не вердикт эффекта. Сохранить идентичность одной операции, соотносить поставщика и доказательства с четкой стороны и отказаться называть пробег здоровым до тех пор, пока не будет проверена намеченная внешняя результат. Направление продукта Sidewisp включает в себя состояние результатов, неисправности инструмента, повторные попытки, доказательства и границы одобрения человека. В этой статье описывается схема работы, а не поставленный монитор. Sidewisp сейчас находится на этапе закрытого предварительного доступа. Производственный агент здравоохранение сбор, адаптеры запускного времени, мониторинг эффекта получения и восстановление, как правило, не отправляются. Общественный сайт и библиотека статей находятся в режиме онлайн, и читатели могут присоединиться к раннему доступу без предоставления Sidewisp полномочий над своими агентами.