Claude Platform Docs
Managed AgentsKelola konteks agen

Menambahkan file

Unggah file dan me-mount-nya di sandbox Anda untuk dibaca dan diproses.

Anda dapat menyediakan file untuk agen Anda dengan mengunggahnya melalui Files API dan me-mount-nya di sandbox sesi.

Mengunggah file

Pertama, unggah file menggunakan Files API:

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

Me-mount file dalam sesi

Mount file yang telah diunggah ke dalam sandbox dengan menambahkannya ke array resources saat membuat sesi:

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

Dengan mount_path di atas, agen membaca file di /mnt/session/uploads/data.csv (lihat Path file).

Sebuah file_id baru dibuat yang mereferensikan instance file tersebut di dalam sesi. Salinan ini tidak dihitung terhadap batas penyimpanan Anda.

Beberapa file

Mount beberapa file dengan menambahkan entri ke array 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"},
]

Maksimal 500 file didukung per sesi.

Mengelola file pada sesi yang sedang berjalan

Anda dapat menambahkan atau menghapus file dari sesi setelah pembuatan menggunakan API resources sesi. Setiap resource memiliki id yang dikembalikan saat ditambahkan (atau didaftarkan), yang Anda gunakan untuk penghapusan.

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

Daftarkan semua resource pada sesi dengan resources.list. Untuk menghapus file, panggil resources.delete dengan ID resource:

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)

Mendaftarkan dan mengunduh file sesi

Gunakan Files API untuk mendaftarkan file yang dicakup ke suatu sesi dan mengunduhnya. File yang ditulis agen ke /mnt/session/outputs/ muncul dalam daftar tidak lama setelah agen selesai menulisnya, terkadang beberapa detik setelah sesi menjadi idle. Jika file output yang Anda harapkan tidak ada, daftarkan lagi setelah jeda singkat; setelah file tersebut muncul dalam daftar, pengunggahannya telah selesai.

Pemfilteran berdasarkan scope_id memerlukan header beta managed-agents-2026-04-01, sehingga contoh daftar menggunakan namespace files beta dan meneruskan header tersebut secara eksplisit.

# Daftar file yang terkait dengan sebuah sesi
files = client.beta.files.list(
    scope_id="sesn_abc123",
    betas=["managed-agents-2026-04-01"],
)
for file in files:
    print(file.id, file.filename)

# Unduh sebuah file
content = client.files.download(files.data[0].id)
content.write_to_file("output.txt")

Jenis file yang didukung

Agen dapat bekerja dengan jenis file apa pun, termasuk:

  • Kode sumber (.py, .js, .ts, .go, .rs, dan lainnya)
  • File data (.csv, .json, .xml, .yaml)
  • Dokumen (.txt, .md)
  • Arsip (.zip, .tar.gz) - agen dapat mengekstraknya menggunakan bash
  • File biner - agen dapat memprosesnya dengan alat yang sesuai

Path file

  • Path yang Anda tentukan berakar di bawah direktori uploads sesi: mount_path berupa /data.csv menempatkan file di /mnt/session/uploads/data.csv di dalam sandbox
  • Jika Anda menghilangkan mount_path, file ditempatkan di /mnt/session/uploads/<file_id>
  • Direktori induk dibuat secara otomatis
  • Path harus absolut (dimulai dengan /)
  • File yang ditulis agen ke /mnt/session/outputs/ menjadi tersedia melalui Files API, dicakup ke sesi tersebut; lihat Mendaftarkan dan mengunduh file sesi

Was this page helpful?