Агент Claude AI, который мог заполнить каждое текстовое поле в веб-форме, внезапно остановился на последнем этапе при попытке прикрепить три изображения, выявив недокументированное ограничение в механизме загрузки файлов в Desktop App. Этот сбой критичен, так как он превращает, казалось бы, завершенную сквозную автоматизацию в процесс с ручным вмешательством, заставляя разработчиков пересматривать подходы к созданию рабочих процессов на базе ИИ.

Почему проблема проявляется именно сейчас

Агенты Claude работают в трех средах: интерфейс командной строки (CLI), расширение Visual Studio Code или автономное приложение Desktop App. В CLI агент считывает файл из директории, добавленной в сессию, и без проблем загружает его. Desktop App не обладает таким же поведением. Даже когда агент записывает файл в свою собственную временную папку, приложение отклоняет загрузку, ссылаясь на внутреннее определение «общих» (shared) файлов, которое никогда не упоминается в публичной документации.

Это несоответствие проявилось, когда пользователь создал автоматизацию, которая заполняла форму, нажимала «сохранить черновик» (save draft), а затем пыталась прикрепить три изображения. Текстовые поля заполнялись безупречно, но этап загрузки каждый раз выдавал ошибку.

Что пробовали разработчики

  • Добавляли файлы в папку сессии, которую создает приложение.
  • Использовали инструмент directory-connect, позволяющий агенту видеть папку хоста.
  • Прикрепляли изображения напрямую в окне чата.
  • Создавали папку для ручной загрузки и указывали путь к ней в форме.

Все эти подходы приводили к одной и той же ошибке отклонения. Окно браузера, отображающее диалоговое окно выбора файлов, работает в режиме «только для чтения» для десктопной автоматизации. Агент видит диалоговое окно, но не может кликнуть внутри него или ввести путь, поэтому трюки с UI-автоматизацией не срабатывают.

Хрупкий «бэкдор»

Единственный успешный метод использовал буфер обмена Windows:

  1. Скрипт PowerShell копирует целевой файл в буфер обмена.
  2. Агент имитирует нажатие клавиш Ctrl + V.
  3. Браузер получает событие вставки и загружает файл.

Этот хак работает, но он очищает буфер обмена пользователя, ограничен платформой Windows и может сломаться при любом обновлении Desktop App. Это не является устойчивым решением для производственных конвейеров.

Что на самом деле означает это ограничение

Суть проблемы не в программной ошибке; это недокументированная особенность, при которой права доступа к файлам рассматриваются как свойство хост-приложения, а не как простой флаг файловой системы. В CLI агент наследует права доступа процесса на чтение, поэтому любой файл, видимый в сессии, может быть загружен. В Desktop App среда выполнения (runtime) изолирует представление файловой системы агента, разрешая загрузку только тех файлов, которые соответствуют скрытым критериям «общих» (shared) файлов.

Поскольку это ограничение заложено в архитектуру Desktop App, обходные пути, основанные на манипуляциях с UI или использовании временных папок, не приносят успеха.

Надежные пути решения

Если рабочий процесс требует загрузки файлов, у разработчиков есть три надежных варианта:

  • Запуск агента через CLI. Эта среда соблюдает права доступа файловой системы сессии и выполняет загрузку без дополнительных действий.
  • Использование расширения VS Code. Расширение повторяет модель разрешений CLI, позволяя агентам читать и загружать файлы, которые видит редактор.
  • Передача этапа загрузки человеку. Быстрое двухминутное ручное действие лучше, чем часы, потраченные на разработку хрупкого обходного пути.

Выбор первых двух вариантов означает запуск автоматизации вне Desktop App.

Итог

Возможность загрузки файлов в агентах Claude AI не универсальна для всех сред выполнения; она зависит от способа запуска агента. Для надежной автоматизации считайте CLI и расширение VS Code единственными средами, которые стабильно соблюдают права доступа к файловой системе. При использовании Desktop App планируйте ручное вмешательство или смиритесь с хрупким хаком через буфер обмена. Игнорирование этого различия может превратить гладкий сквозной скрипт в дорогостоящий процесс отладки.

Источник: https://dev.to/mxhlix/my-agent-filled-in-every-field-on-the-form-it-could-not-attach-the-three-images-23kh