Claude Platform Docs
Managed AgentsУправление контекстом агента

Добавление файлов

Загружайте файлы и монтируйте их в вашу песочницу для чтения и обработки.

Вы можете предоставить файлы вашему агенту, загрузив их через Files API и смонтировав их в песочнице (sandbox) сессии.

Загрузка файлов

Сначала загрузите файл с помощью Files API:

file = client.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")

Монтирование файлов в сессии

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

session = client.beta.sessions.create(
    agent=agent.id,
    environment_id=environment.id,
    resources=[
        {
            "type": "file",
            "file_id": file.id,
            "mount_path": "/data.csv",
        },
    ],
)

С указанным выше mount_path агент читает файл по пути /mnt/session/uploads/data.csv (см. Пути к файлам).

Создаётся новый file_id, который ссылается на экземпляр файла в сессии. Эти копии не учитываются в ваших лимитах хранилища.

Несколько файлов

Смонтируйте несколько файлов, добавив записи в массив resources:

resources = [
    {"type": "file", "file_id": "file_abc123", "mount_path": "/data.csv"},
    {"type": "file", "file_id": "file_def456", "mount_path": "/config.json"},
    {"type": "file", "file_id": "file_ghi789", "mount_path": "/src/main.py"},
]

Поддерживается максимум 500 файлов на сессию.

Управление файлами в работающей сессии

Вы можете добавлять или удалять файлы из сессии после её создания с помощью API ресурсов сессии. Каждый ресурс имеет id, возвращаемый при его добавлении (или получении списка), который вы используете для удаления.

resource = client.beta.sessions.resources.add(
    session.id,
    type="file",
    file_id=file.id,
)
print(resource.id)  # "sesrsc_01ABC..."

Получите список всех ресурсов сессии с помощью resources.list. Чтобы удалить файл, вызовите resources.delete с идентификатором ресурса:

listed = client.beta.sessions.resources.list(session.id)
for entry in listed.data:
    print(entry.id, entry.type)

client.beta.sessions.resources.delete(resource.id, session_id=session.id)

Получение списка и скачивание файлов сессии

Используйте Files API, чтобы получить список файлов, относящихся к сессии, и скачать их. Файлы, которые агент записывает в /mnt/session/outputs/, появляются в списке вскоре после того, как агент завершает их запись, иногда через несколько секунд после перехода сессии в состояние ожидания. Если ожидаемый выходной файл отсутствует, запросите список снова после небольшой задержки; как только файл появится в списке, его загрузка завершена.

Фильтрация по scope_id требует бета-заголовка managed-agents-2026-04-01, поэтому примеры получения списка используют пространство имён файлов beta и передают этот заголовок явно.

# Список файлов, связанных с сеансом
files = client.beta.files.list(
    scope_id="sesn_abc123",
    betas=["managed-agents-2026-04-01"],
)
for file in files:
    print(file.id, file.filename)

# Скачать файл
content = client.files.download(files.data[0].id)
content.write_to_file("output.txt")

Поддерживаемые типы файлов

Агент может работать с любым типом файлов, включая:

  • Исходный код (.py, .js, .ts, .go, .rs и другие)
  • Файлы данных (.csv, .json, .xml, .yaml)
  • Документы (.txt, .md)
  • Архивы (.zip, .tar.gz) — агент может распаковать их с помощью bash
  • Бинарные файлы — агент может обрабатывать их с помощью соответствующих инструментов

Пути к файлам

  • Указанный вами путь располагается относительно каталога uploads сессии: mount_path со значением /data.csv помещает файл по пути /mnt/session/uploads/data.csv в песочнице
  • Если вы опустите mount_path, файл помещается по пути /mnt/session/uploads/<file_id>
  • Родительские каталоги создаются автоматически
  • Пути должны быть абсолютными (начинаться с /)
  • Файлы, которые агент записывает в /mnt/session/outputs/, становятся доступны через Files API в рамках сессии; см. Получение списка и скачивание файлов сессии

Was this page helpful?