Sesi adalah instans agen yang berjalan dalam lingkungan. Setiap sesi mereferensikan agen dan lingkungan (keduanya dibuat secara terpisah), dan mempertahankan riwayat percakapan di seluruh interaksi ganda.
Semua permintaan API Managed Agents memerlukan header beta managed-agents-2026-04-01. SDK menetapkan header beta secara otomatis.
Sesi memerlukan ID agent dan ID environment. Agen adalah sumber daya yang memiliki versi; melewatkan ID agent sebagai string memulai sesi dengan versi agen terbaru.
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
)Untuk mengikat sesi ke versi agen tertentu, lewatkan objek. Ini memungkinkan Anda mengontrol dengan tepat versi mana yang berjalan dan melakukan peluncuran versi baru secara independen.
pinned_session = client.beta.sessions.create(
agent={"type": "agent", "id": agent.id, "version": 1},
environment_id=environment.id,
)Agen mendefinisikan bagaimana Claude berperilaku dalam sesi, termasuk model, prompt sistem, alat, dan server MCP. Lihat Pengaturan Agen untuk detail.
Jika agen Anda menggunakan alat MCP yang memerlukan autentikasi, lewatkan vault_ids saat pembuatan sesi untuk mereferensikan vault yang berisi kredensial OAuth yang disimpan. Anthropic mengelola penyegaran token atas nama Anda. Lihat Autentikasi dengan vault untuk cara membuat vault dan mendaftarkan kredensial.
vault_session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
vault_ids=[vault.id],
)Membuat sesi menyediakan lingkungan dan agen tetapi tidak memulai pekerjaan apa pun. Untuk mendelegasikan tugas, kirim peristiwa ke sesi menggunakan peristiwa pengguna. Sesi bertindak sebagai mesin keadaan yang melacak kemajuan sementara peristiwa mendorong eksekusi sebenarnya.
client.beta.sessions.events.send(
session.id,
events=[
{
"type": "user.message",
"content": [
{"type": "text", "text": "List the files in the working directory."}
],
},
],
)Lihat Peristiwa dan streaming untuk cara melakukan streaming respons agen dan menangani konfirmasi alat.
Sesi berkembang melalui status ini:
| Status | Deskripsi |
|---|---|
idle | Agen menunggu input, termasuk pesan pengguna atau konfirmasi alat. Sesi dimulai dalam idle. |
running | Agen sedang aktif mengeksekusi |
rescheduling | Kesalahan transien terjadi, mencoba ulang secara otomatis |
terminated | Sesi telah berakhir karena kesalahan yang tidak dapat dipulihkan |
retrieved = client.beta.sessions.retrieve(session.id)
print(f"Status: {retrieved.status}")for session in client.beta.sessions.list():
print(f"{session.id}: {session.status}")Arsipkan sesi untuk mencegah peristiwa baru dikirim sambil mempertahankan riwayatnya:
client.beta.sessions.archive(session.id)Hapus sesi untuk menghapus secara permanen catatan, peristiwa, dan kontainer terkaitnya. Sesi running tidak dapat dihapus; kirim peristiwa interrupt jika Anda perlu menghapusnya segera.
File, penyimpanan memori, lingkungan, dan agen adalah sumber daya independen dan tidak terpengaruh oleh penghapusan sesi.
client.beta.sessions.delete(session.id)Was this page helpful?