Petunjuk agen memberikan panduan mendetail untuk model tentang apa yang harus dilakukan. Petunjuk ini diberikan dalam bahasa alami.
Menulis petunjuk
Petunjuk dapat berisi salah satu dari berikut ini:
- Sasaran keseluruhan.
- Cara berperilaku.
- Persona yang akan digunakan.
- Daftar sub-agen, yang dirujuk berdasarkan nama tampilan dalam format:
{@AGENT: Agent Name}. - Petunjuk untuk menggunakan
alat tertentu,
yang dirujuk berdasarkan nama tampilan dalam format:
{@TOOL: tool_name}. - Referensi ke
variabel,
dengan nama variabel yang menggunakan snake case diapit dalam kurung kurawal:
{variable_name}.
Contoh untuk agen root:
CURRENT CUSTOMER: {username}
You are the main Weather Agent coordinating multiple agents.
Your primary responsibility is to provide weather information.
Use {@TOOL: get_weather} ONLY for specific weather requests
(for example, 'weather in London').
If you know the user's name, always greet them by their name.
You have specialized sub-agents:
1. Greeting Agent: Handles simple greetings like 'Hi', 'Hello'.
2. Farewell Agent: Handles simple farewells like 'Bye', 'See you'.
Analyze the user's query.
If it's a greeting, call {@AGENT: Greeting Agent}
If it's a farewell, call {@AGENT: Farewell Agent}
If it's a weather request, handle it yourself using {@TOOL: get_weather}
For anything else, respond appropriately or state you cannot handle it.
Penyorotan sintaksis
Jika variabel,
alat,
atau agen direferensikan di editor petunjuk dengan
sintaksis yang tepat—{variable_name}, {@TOOL: tool_name}, atau {@AGENT: Agent Name}—maka
akan ditandai dengan "chip" berwarna, yang menunjukkan bahwa sintaksis
dikenali.
Untuk mempermudah penyisipan referensi ini, editor petunjuk menyediakan dua pintasan:
- Mengetik
@akan membuka menu konteks dengan tiga opsi: Agen, Alat, atau Variabel. Anda dapat membuka menu ini dengan tombol panah dan Tab, atau dengan mengklik. Memilih opsi akan menampilkan opsi lebih lanjut hingga referensi selesai, yang kemudian akan menjadi chip. - Mengetik
{akan membuka menu konteks yang menampilkan variabel yang tersedia untuk penyisipan cepat.
Dukungan bahasa
Saat mendesain perintah dan petunjuk agen, selalu gunakan bahasa Inggris agar agen dapat memahami dengan kualitas terbaik. Saat berinteraksi dengan pengguna, agen Anda dapat mendeteksi bahasa input pengguna akhir dan otomatis merespons menggunakan bahasa yang sama, kecuali jika secara khusus diinstruksikan sebaliknya.
Jika Anda ingin agen Anda hanya berbicara (atau tidak berbicara) dalam bahasa tertentu, Anda harus menyertakan petunjuk yang menjelaskan dukungan tersebut. Misalnya, jika agen Anda hanya boleh merespons dalam bahasa Italia, Anda dapat menyertakan "Anda hanya berbicara dalam bahasa Italia dan tidak dalam bahasa lain" dalam petunjuk Anda.
Untuk mengetahui daftar bahasa yang didukung, lihat referensi bahasa.
Petunjuk penataan ulang
Anda dapat memasukkan petunjuk dalam bahasa alami, tetapi performa agen Anda mungkin lebih baik jika Anda memformat petunjuk menggunakan struktur XML, yang dapat membantu model mengikuti petunjuk dengan lebih baik. Kami menyediakan struktur XML standar dengan tag yang dapat Anda gunakan untuk menyusun petunjuk. Setelah memasukkan petunjuk natural language, Anda dapat mengklik tombol Restrukturisasi petunjuk di atas panel petunjuk untuk memformat petunjuk ke dalam struktur XML yang direkomendasikan.
Tabel berikut menjelaskan tag XML yang direkomendasikan dan cara menggunakannya:
| Tag | Deskripsi |
|---|---|
role |
Mendefinisikan fungsi atau tanggung jawab inti agen. |
persona |
Menjelaskan kepribadian, nada bahasa, dan pedoman perilaku agen. |
primary_goal |
Dalam <persona>, menentukan tujuan utama agen. |
constraints |
Mencantumkan aturan atau batasan yang harus diikuti oleh agen. |
taskflow |
Menguraikan alur percakapan sebagai serangkaian sub-tugas. |
subtask |
Dalam <taskflow>, bagian tertentu dari alur percakapan, yang berisi satu atau beberapa langkah. |
step |
Dalam <subtask>, setiap langkah mencakup pemicu dan tindakan. |
trigger |
Dalam <step>, kondisi atau input pengguna yang memulai langkah. |
action |
Dalam <step>, tindakan yang harus dilakukan agen saat langkah dipicu. |
examples |
Berisi contoh few-shot untuk memandu perilaku agen dalam skenario tertentu. |
Berikut contoh petunjuk yang sama menggunakan struktur XML yang direkomendasikan:
CURRENT CUSTOMER: {username}
<role>The main Weather Agent coordinating multiple agents.</role>
<persona>
<primary_goal>To provide weather information.</primary_goal>
How to handle prohibited topics and violations: Respond appropriately or
state inability to handle the request.
General guidelines: Follow the constraints and task flow precisely.
</persona>
<constraints>
1. Use {@TOOL: get_weather} ONLY for specific weather requests
(for example, 'weather in London').
2. If the user's name is known (from the 'CURRENT CUSTOMER' context), always
greet them by their name.
</constraints>
<taskflow>
These define the conversational subtasks that you can take. Each subtask
has a sequence of steps that should be taken in order.
<subtask name="Initial Greeting">
<step name="Check for Username and Greet">
<trigger>Start of conversation or new user interaction.</trigger>
<action>If a username is provided in the 'CURRENT CUSTOMER' context,
greet the user by their name. Otherwise, proceed without a
personalized greeting.
</action>
</step>
</subtask>
<subtask name="Query Analysis and Routing">
<step name="Analyze User Query">
<trigger>User provides a query.</trigger>
<action>Determine the intent of the user's query
(greeting, farewell, weather request, or other).
</action>
</step>
<step name="Handle Greeting">
<trigger>User query is identified as a simple greeting
(e.g., 'Hi', 'Hello').
</trigger>
<action>Call {@AGENT: Greeting Agent}.</action>
</step>
<step name="Handle Farewell">
<trigger>User query is identified as a simple farewell
(e.g., 'Bye', 'See you').
</trigger>
<action>Call {@AGENT: Farewell Agent}.</action>
</step>
<step name="Handle Weather Request">
<trigger>User query is identified as a specific weather request
(e.g., 'weather in London').
</trigger>
<action>Use {@TOOL: get_weather} to retrieve weather information and
provide it to the user.
</action>
</step>
<step name="Handle Other Queries">
<trigger>User query does not fall into greeting, farewell, or
specific weather request categories.
</trigger>
<action>Respond appropriately to the query or state that the request
cannot be handled.
</action>
</step>
</subtask>
</taskflow>
<examples>
</examples>
Contoh beberapa cuplikan inline
Few-shot prompting adalah teknik saat Model Bahasa Besar (LLM) diberi serangkaian kecil contoh untuk memandu perilaku, gaya bahasa, atau logikanya. Dalam konteks Agen, "Contoh Beberapa Tembakan Inline" mengacu pada penempatan contoh ini langsung dalam petunjuk agen, bukan di panel UI terpisah. Metode ini membantu model memahami persyaratan yang kompleks dengan menunjukkan, bukan hanya memberi tahu, yang pada dasarnya menjembatani kesenjangan antara petunjuk abstrak dan eksekusi konkret.
Kapan harus menggunakan contoh beberapa tahap
Contoh sedikit tembakan adalah alat yang efektif untuk kalibrasi, tetapi harus digunakan secara strategis. Sebaiknya tambahkan dalam skenario berikut:
- Mengatasi masalah kualitas: Gunakan contoh terutama untuk memperbaiki kegagalan tertentu saat model secara konsisten salah memahami petunjuk.
- Pemformatan kompleks: Saat agen perlu menampilkan data dalam format non-standar yang sangat spesifik.
- Logika yang rumit: Ketika petunjuk "jika-maka" tidak cukup untuk menangkap kerumitan proses pengambilan keputusan.
Praktik terbaik dan peringatan
Meskipun efektif, contoh few-shot harus dikurasi dengan cermat untuk menghindari penurunan performa agen.
- Gunakan dengan hemat: Menambahkan terlalu banyak contoh dapat menyebabkan agen "overfit", yang berarti agen dapat mengikuti contoh secara kaku dan kehilangan kemampuannya untuk menggeneralisasi kueri pengguna baru yang belum pernah dilihat.
- Deskriptif, tidak lengkap: Anda tidak perlu mencantumkan setiap kemungkinan kueri pengguna. Contoh dimaksudkan untuk berfungsi sebagai panduan bagi pola penalaran model, bukan sebagai database pencarian.
- Mulai dengan memberikan petunjuk: Selalu coba selesaikan masalah perilaku dengan memberikan petunjuk yang jelas dan deskriptif terlebih dahulu. Hanya tambahkan contoh sedikit jika petunjuk saja gagal mencapai hasil yang diinginkan.
Komponen contoh sedikit tembakan
Contoh few-shot standar untuk agen terdiri dari empat komponen berbeda yang menyimulasikan giliran percakapan.
| Komponen | Tag / Sintaksis | Deskripsi |
|---|---|---|
| Pengguna | [user] |
Mewakili input atau kueri pengguna akhir. |
| Model | [model] |
Merepresentasikan respons tekstual atau proses pemikiran agen. |
| Input Alat | tool_code |
Menunjukkan cara agen harus menyusun input atau "panggilan" ke alat atau fungsi eksternal (misalnya, argumen/sintaksis tertentu). |
| Output Alat | tool_outputs |
Mensimulasikan data yang ditampilkan oleh alat, mengajarkan cara menafsirkan dan menggunakan data tersebut dalam respons akhirnya. |
Format berikut harus digunakan untuk contoh sedikit data:
<examples> EXAMPLE 1: Begin example [user] What's the weather in London? [model] ```tool_code get_weather(location="London") ``` ```tool_outputs {"temperature": "15 C", "condition": "Cloudy"} ``` [model] The weather in London is 15 C and Cloudy. End example </examples>
Petunjuk penyempurnaan
Anda dapat memilih sebagian konten petunjuk, lalu tombol Perbaiki akan muncul. Anda dapat mengklik tombol ini untuk menggunakan AI guna meningkatkan kualitas konten yang dipilih. Di kolom Persyaratan, masukkan informasi tentang cara Anda ingin meningkatkan kualitas konten yang dipilih.
Memformat respons agen
Anda dapat menginstruksikan agen tentang cara memformat respons teksnya agar lebih mudah dibaca. Berikut adalah praktik terbaik untuk petunjuk pemformatan:
Pengelompokan dan spasi kosong
- Jangan pernah menulis paragraf yang padat. Pengguna memindai, bukan membaca.
- Batasi blok teks hingga maksimum 1-2 kalimat.
- Sisipkan jeda baris di antara setiap ide yang berbeda untuk membuat ruang kosong.
Penebalan strategis
- Anda harus menebalkan titik data yang paling penting agar langsung terlihat.
- Selalu tebal: Nama Produk, Harga, Tanggal, Nomor Pesanan, dan Batas Waktu.
- Contoh: "Kaus Klasik seharga Rp350.000."
Daftar di atas teks
- Jika Anda menyebutkan lebih dari dua item atau langkah, otomatis mengonversinya menjadi daftar berbutir atau bernomor.
- Gunakan butir standar (
-) untuk opsi dan daftar bernomor (1.) untuk petunjuk.
Petunjuk global
Selain menentukan petunjuk khusus agen, Anda dapat menentukan petunjuk global di setelan aplikasi agen lanjutan.
Setiap agen dalam aplikasi agen mewarisi petunjuk global, dan petunjuk tersebut dikirim ke model untuk setiap giliran percakapan di atas petunjuk khusus agen.
Petunjuk global sangat cocok untuk informasi umum yang perlu diketahui setiap agen. Misalnya: gaya bahasa merek, "HAL YANG BOLEH dan TIDAK BOLEH DILAKUKAN" secara umum, variabel yang dibagikan secara global, dan profil pelanggan.