Агент передаёт неверные параметры AppFunction: проверка KDoc-схемы Android 17. Отделить область применимости от похожего симптома, провести один обратимый контроль и оформить матрица «schema field × KDoc boundary × JSON value × validation result × side effect» без лишних данных.
Где проходит граница симптома
Пользовательская боль: функция зарегистрирована, но агент выбирает неверный фильтр, путает обязательное поле или получает runtime error. Начните с границы: один экран, один input, один device capability или весь процесс. Запишите expected и actual, время и последнее рабочее состояние. Форумный рассказ показывает вопрос автора, но не подтверждает механизм платформы. Граница поискового намерения: как исправить неверные параметры AppFunction Android 17 через KDoc и serializable schema. Соседние неисправности не включаются в этот материал и требуют отдельного evidence.
Что подтверждено официально
Android Developers сообщает: KDoc описания AppFunctions компилируются в tool schema; ясные imperative descriptions и ограничения параметров влияют на разрешение аргументов, а custom objects требуют AppFunctionSerializable. Официальное утверждение ограничено указанной версией, API и capability; оно не доказывает распространённость и не переносится на неподдерживаемое hardware. Проверяйте фактическую область применимости до вывода. Проверяемый выход статьи — матрица «schema field × KDoc boundary × JSON value × validation result × side effect». Он нужен, чтобы официальный факт не превращался в универсальную догадку о любой похожей ошибке.
Какие данные нужны до проверки
Минимальный набор: имя функции, скомпилированная schema, обязательность и тип каждого поля, нейтральный JSON-ввод и ожидаемый error contract. Подготовьте нейтральный sample и запишите исходные значения. Контроль должен быть воспроизводим другим разработчиком без доступа к рабочему аккаунту. Скриншот допустим только после удаления identifiers. До опыта сформулируйте безопасный stop: не тестировать write-функцию на рабочей базе и не передавать агенту реальные расходы, маршруты, заметки или идентификаторы. Если он уже наступил, не собирайте дополнительные данные ради полноты отчёта.
Обратимый контроль
Практический шаг: через Testing Agent или execute-app-function вызвать функцию с одним валидным и одним заведомо невалидным набором без записи пользовательских данных. Контроль проводится на test profile и нейтральном объекте. Не повышайте права и не ослабляйте security ради удобства. При плавающем результате добавьте UTC timestamps и максимум один повтор. Контроль не должен выходить за исходный scope: имя функции, скомпилированная schema, обязательность и тип каждого поля, нейтральный JSON-ввод и ожидаемый error contract. Любой дополнительный параметр переносится в новую отдельную проверку.
Как читать полученный результат
Рабочий артефакт: матрица «schema field × KDoc boundary × JSON value × validation result × side effect». Читайте артефакт слева направо как decision path. Первое неизвестное поле ограничивает вывод. Если control ломается так же, ищите общий слой; если меняется только целевой показатель, гипотеза усиливается для этого build. Сопоставляйте результат с точным действием: через Testing Agent или execute-app-function вызвать функцию с одним валидным и одним заведомо невалидным набором без записи пользовательских данных. Совпадение во времени без controlled change не считается причинной связью.
Стоп-линия и пакет поддержки
Критерий остановки: не тестировать write-функцию на рабочей базе и не передавать агенту реальные расходы, маршруты, заметки или идентификаторы. Остановленный по безопасности тест остаётся валидным результатом. В support package внесите причину остановки, окружение и уже проверенные шаги. Не повторяйте опасное действие ради полного лога. В support package назовите пользовательскую боль без личных деталей: функция зарегистрирована, но агент выбирает неверный фильтр, путает обязательное поле или получает runtime error. Остальные сведения добавляйте только если они меняют воспроизводимость.
Материал подготовлен редакцией VOne с помощью ИИ; технические утверждения постатейно сверены с указанными официальными источниками 28 августа 2026 года.
Источники и проверка
- Android Developers Blog — AppFunctions integration проверено 2026-08-28
- Android Developers Blog — Android 17 is here проверено 2026-08-28
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.