Menambah subagent#
Supervisor bisa mendelegasikan satu bidang pekerjaan baru setelah diberi agent spesialis untuk bidang itu. Contohnya subagent yang menangani pesanan.
Sebelum mulai: tool untuk subagent itu sudah ditulis, seperti di Menambah tool. Contoh ini memakai tool get_order_status.
Langkah-langkah#
-
Tulis system prompt subagent di file prompt subagents. Tutup prompt-nya dengan
_SUBAGENT_OUTPUT_RULE: -
Di controller subagents, impor prompt dan tool-nya:
-
Tambahkan
SubagentSpecke daftarSUBAGENTSdi file yang sama: -
Mulai ulang server.
Prompt supervisor tidak perlu diubah. Nama subagent harus unik; jika dua SubagentSpec punya name yang sama, perakit supervisor melempar ValueError.
Menulis nama dan deskripsi#
Supervisor memilih subagent hanya dari name dan description. Ia tidak melihat prompt maupun tool milik subagent. Deskripsi yang baik menjawab tiga pertanyaan:
| Pertanyaan | Contoh |
|---|---|
| Tugas apa yang ditangani? | "Look up the status of customer orders." |
| Masukan apa yang dibutuhkan? | "Give it one or more order ids;" |
| Apa yang dikembalikan? | "it returns the status of each." |
Beri nama yang menyebut bidangnya, misalnya order_agent, bukan agent_2.
Memberi subagent model sendiri#
Secara bawaan, semua subagent memakai model yang sama dengan supervisor. Untuk memberi satu subagent model lain, misalnya model yang lebih murah untuk tugas sederhana, isi field llm:
SubagentSpec(
name="weather_agent",
description="Look up current weather for one or more locations.",
system_prompt=WEATHER_AGENT_SYSTEM_PROMPT,
tools=[get_weather],
llm=get_llm_model(model="gpt-4o-mini"),
)
Memeriksa hasilnya#
Kirim permintaan yang termasuk bidang subagent barumu lewat panel berikut, lalu lihat jejaknya. Langkah subagent tampil menjorok di bawah permintaan supervisor:
Client sungguhan memanggil POST /subagents/chat, dengan bentuk request dan respons yang sama seperti POST /chat:
curl -X POST http://localhost:8000/subagents/chat \
-H "Content-Type: application/json" \
-d "{\"message\": \"What is the status of order ORD-1042?\"}"
Halaman terkait#
- Cara kerja subagents untuk kapan pola ini cocok, dan kenapa subagent tidak punya memory.
- API agent untuk field
SubagentSpecdan parameterbuild_supervisor_agent. - Mengatur batas langkah untuk batas langkah tiap tugas subagent.