Petunjuk

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.