Evaluasi agen AI dari prompt hingga metrik

Penulis

Shalini Harkar

Lead AI Advocate

Apa itu agen AI?

Agen AI mengacu pada sistem perangkat lunak dapat melaksanakan tugas atas nama pengguna atau sistem lain secara mandiri, dengan mengembangkan alur kerja sendiri dan menggunakan alat eksternal sesuai kebutuhan.

Agen melampaui pemrosesan dan pemahaman bahasa sederhana. Mereka mampu melakukan pengambilan keputusan, memecahkan masalah, berinteraksi dengan lingkungan, dan bertindak dalam mengejar tujuan.

Agen AI sekarang sedang dimasukkan ke dalam berbagai solusi perusahaan, mulai dari otomatisasi TI dan rekayasa perangkat lunak, hingga antarmuka percakapan dan implementasi pembuatan kode. Didorong oleh model bahasa besar (LLM), mereka dapat memahami arah yang kompleks, menguraikannya menjadi beberapa langkah, berinteraksi dengan sumber daya dari sumber luar, dan memiliki kemampuan kognitif untuk mengetahui kapan harus menerapkan alat atau layanan tertentu untuk membantu mencapai tugas.

Mengapa mengevaluasi agen penting?

Evaluasi agen adalah prosedur penting saat membuat dan menerapkan sistem AI otonom karena tindakan ini mengukur seberapa baik agen melakukan tugas yang diberikan, membuat keputusan, dan berinteraksi dengan pengguna atau lingkungan. Dengan cara ini kami dapat memastikan bahwa agen beroperasi dengan andal, efisien, dan etis dalam contoh penggunaan yang dimaksudkan.

Alasan utama untuk evaluasi agen meliputi:

  • Verifikasi fungsional: Langkah ini membantu memverifikasi perilaku dan tindakan agen dalam kondisi tertentu, serta penyelesaian tujuannya dalam batasan yang telah ditetapkan.
  • Optimasi desain: Mengidentifikasi kelemahan dan inefisiensi dalam proses penalaran, perencanaan, atau penggunaan alat oleh agen, memungkinkan kita untuk secara berulang meningkatkan arsitektur dan alur kerja agen.
  • Ketangguhan: Mengevaluasi kemampuan agen untuk menghadapi kasus edge, input jahat, atau kondisi suboptimal, yang dapat meningkatkan toleransi kesalahan dan ketahanan.
  • Metrik kinerja dan sumber daya: Pengamatan latensi, throughput, konsumsi token, memori, dan metrik sistem lainnya dapat dilacak sehingga kami dapat menentukan efisiensi waktu proses dan meminimalkan biaya operasional.
  • Kualitas interaksi pengguna: Mengukur kejelasan, kebergunaan, koherensi, dan relevansi respons agen sebagai indikator kepuasan pengguna atau efektivitas percakapan.
  • Analisis pencapaian tujuan: Dengan menggunakan kriteria keberhasilan atau tolok ukur berbasis tugas spesifik, kami dapat mengevaluasi seberapa andal dan akurat agen menyelesaikan tujuannya.
  • Pertimbangan etika dan keamanan: Output agen dapat dievaluasi atas keadilan, bias, potensi bahaya, dan kepatuhan terhadap prosedur keamanan apa pun.

Metrik evaluasi untuk agen AI

Menilai kinerja agen AI menggunakan metrik yang diatur dalam beberapa kelas kinerja formal: akurasi, waktu respons (kecepatan), dan biaya sumber daya yang digunakan. Akurasi menggambarkan seberapa baik agen memberikan respons yang benar dan relevan, serta kemampuan agen untuk menyelesaikan fungsi yang dimaksudkan. Waktu respons mengukur kecepatan yang dibutuhkan agen untuk memproses input dan menghasilkan output. Meminimalkan latensi sangat penting dalam program interaktif dan real-time dan biaya mengukur sumber daya komputasi yang dikonsumsi agen, seperti penggunaan token, panggilan ke antarmuka pemrograman aplikasi (API), atau waktu sistem. Metrik ini memberikan pedoman untuk meningkatkan kinerja sistem dan membatasi biaya operasional.

Sementara metrik kunci seperti ketepatan, kebergunaan, dan koherensi termasuk dalam kategori akurasi, waktu respons (latensi) mengukur metrik termasuk throughput, rata-rata latensi, dan penundaan batas waktu. Metrik biaya mencakup penggunaan token, waktu komputasi, jumlah panggilan API, dan konsumsi memori.

Dalam tutorial ini, kita akan menjelajahi metrik kunci ketepatan, kebergunaan, dan koherensi yang termasuk dalam kategori akurasi.

  • Ketepatan: Ketepatan menilai apakah respons agen akurat secara faktual dan benar menurut logika dari prompt input atau tugas. Metrik ini sering kali merupakan ukuran paling dasar, terutama untuk bidang-bidang seperti layanan kesehatan, konsultasi hukum, atau dukungan teknis.
  • Kebergunaan: Kebergunaan menilai seberapa berguna atau dapat ditindaklanjuti respons agen bagi maksud pengguna. Bahkan jika benar secara faktual, respons mungkin tidak membantu jika tidak membahas solusi atau langkah selanjutnya.
  • Kohesi: berkaitan dengan alur—baik alur logis maupun naratif. Hal ini penting dalam interaksi dengan banyak putaran dan dalam interaksi di mana penalaran dilakukan melalui beberapa langkah. Koherensi mengacu pada apakah agen “masuk akal” dari awal hingga akhir.

Anda akan mengembangkan agen perjalanan dan mengevaluasi kinerjanya dengan menggunakan "LLM-as-a-judge."

Prasyarat

  1. Anda memerlukan akun IBM Cloud untuk membuat proyek watsonx.ai .

  2. Anda juga memerlukan Python versi 3.12.7

Langkah-langkah

Langkah 1. Siapkan lingkungan Anda

Meskipun Anda dapat memilih dari beberapa alat, tutorial ini akan memandu Anda langkah demi langkah dalam membuat akun IBM untuk menggunakan Jupyter Notebook.

  1. Masuk ke watsonx.ai menggunakan akun IBM Cloud Anda.

  2. Buat proyek watsonx.aiAnda bisa mendapatkan ID proyek dari dalam proyek Anda. Klik tab Kelola . Kemudian salin ID proyek dari bagian Detail di halaman Umum . Anda memerlukan ID ini untuk tutorial ini.

  3. Buat Jupyter NotebookLangkah ini akan membuka lingkungan Jupyter Notebook tempat Anda dapat menyalin kode dari tutorial ini. Atau, Anda dapat mengunduh aplikasi notebook ini ke sistem lokal Anda dan mengunggahnya ke proyek watsonx.ai sebagai aset. Untuk melihat lebih banyak tutorial IBM Granite, lihat Komunitas IBM Granite.

Langkah 2. Siapkan instans Waktu Proses watsonx.ai dan kunci API

  1. Buat instans layanan waktu proses watsonx.ai (pilih wilayah yang sesuai dan pilih paket Lite, yang merupakan instans gratis).

  2. Buat kunci antarmuka pemrograman aplikasi (API).

  3. Kaitkan instans layanan waktu proses watsonx.ai ke proyek yang Anda buat di watsonx.ai.

Langkah 3. Instal dan impor pustaka yang relevan dan siapkan kredensial Anda

Kita membutuhkan beberapa pustaka dan modul untuk tutorial ini. Pastikan untuk mengimpor yang berikut ini dan jika tidak diinstal, instalasi pip cepat akan menyelesaikan masalah.

Catatan, tutorial ini dibuat dengan menggunakan Python 3.12.7.

!pip install -q langchain langchain-ibm langchain_experimental langchain-text-splitters langchain_chroma transformers bs4 langchain_huggingface sentence-transformers
import os
import getpass
import requests
import random
import json
from typing import Type
from typing import Dict, List
from langchain_ibm import WatsonxLLM
from langchain_ibm import ChatWatsonx
from ibm_watsonx_ai.metanames import GenTextParamsMetaNames as GenParams
from langchain_ibm import WatsonxEmbeddings
from langchain.vectorstores import Chroma
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
from langchain.agents.agent_types import AgentType
from langchain.prompts import ChatPromptTemplate
from langchain.evaluation import load_evaluator
from langchain.agents import initialize_agent, Tool

Untuk mengatur kredensial, kita memerlukan WATSONX_APIKEY dan WATSONX_PROJECT_ID yang Anda buat dalam langkah 1. Kita juga akan mengatur URL yang berfungsi sebagai titik akhir API. Titik akhir API Anda dapat berbeda tergantung pada lokasi geografis Anda.

WATSONX_APIKEY = getpass.getpass("Please enter your watsonx.ai Runtime API key (hit enter): ")
WATSONX_PROJECT_ID = getpass.getpass("Please enter your project ID (hit enter): ")
URL = "https://us-south.ml.cloud.ibm.com"

Langkah 4. Awali LLM Anda

Kami akan menggunakan model Instruct Granite 3 -8B untuk tutorial ini. Untuk mengawali LLM, kita perlu mengatur parameter model. Untuk mengetahui lebih lanjut tentang parameter model ini, seperti batas token minimum dan maksimum, lihat dokumentasi.

llm = ChatWatsonx(model_id="ibm/granite-3-8b-instruct",
url = URL,
apikey = WATSONX_APIKEY,
project_id = WATSONX_PROJECT_ID,
params = {"decoding_method": "greedy","temperature": 0, "min_new_tokens": 5,
"max_new_tokens": 2000})

Langkah 5. Bangun agen penjelajah perjalanan (buddy)

Mari kita membangun teman penjelajah perjalanan yang membantu pengguna dengan perencanaan perjalanan dan riset perjalanan.

Kita akan membuat aplikasi asisten perjalanan sederhana yang dapat mengambil informasi maskapai penerbangan dan hotel untuk menanggapi pertanyaan pengguna dengan terhubung ke API perjalanan eksternal. Agar terintegrasi dengan agen AI untuk perencanaan perjalanan dinamis, kita akan memiliki fungsi langsung yang membuat kueri API dan membungkusnya dalam alat.

def travel_api(query: str) -> str:
# Example of connecting to a real travel API
response = requests.get("https://www.partners.skyscanner.net", params={"query": query})
if response.status_code == 200:
return response.json().get("result", "No results found.")
return "Error contacting travel API."

travel_tool = Tool(
name="TravelPlannerTool",
func=travel_api,
description="Connects to a travel API to find flights and hotels for a given city and date"
)
agent = initialize_agent(
tools=[travel_tool],
llm=llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True,
handle_parsing_errors= "Check your output and make sure it conforms! Do not output an action and a final answer at the same time."
)
query = "What are the best places to visit in India during winters?"
response = agent.invoke(query)
print("\n--- Travel Agent Response ---")
print(response)

Langkah 6. Jalankan evaluasi dan dapatkan skor

Terakhir, kita menjalankan evaluasi dan mencetak skor evaluasi akhir. Untuk mengevaluasi perencana perjalanan menggunakan tiga kriteria yang berbeda (ketepatan, kebergunaan, dan koherensi), sebuah prompt evaluasi terstruktur dikembangkan untuk LLM evaluator.

from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain

evaluation_prompt = PromptTemplate(
input_variables=["input", "prediction"],
template="""
You are an evaluation agent.

### User Input:
{input}

### Agent's Response:
{prediction}

Evaluate this response based on:
- Correctness (Is the information factually accurate?)
- Helpfulness (Is it useful and actionable?)
- Coherence (Is it well-written and logically structured?)

Reply in this format:
Correctness: <score>/5 - <reason>
Helpfulness: <score>/5 - <reason>
Coherence: <score>/5 - <reason>
"""
)
eval_input = evaluation_prompt.format(input=query, prediction=response)
evaluation_result = agent.invoke(eval_input)

Output menunjukkan penilaian kualitatif dan kuantitatif dari perencana perjalanan yang dihasilkan dengan menggunakan tiga kriteria—ketepatan, kebergunaan, dan koherensi.

Mari kita uraikan apa arti setiap skor dan metrik dalam konteks output agen:

  • Ketepatan menunjukkan seberapa akurat secara faktual dan logis tanggapan tersebut. Dalam contoh sebelumnya, konten faktual benar, karena itu skor ketepatannya adalah (5 dari 5).
  • Kebergunaan menunjukkan seberapa berguna dan relevan tanggapan tersebut terhadap kebutuhan pengguna, yang diukur berdasarkan tingkat kebergunaannya. Skor (5 dari 5) dalam skenario ini berarti bahwa rencana perjalanan AI berguna dan dirancang dengan cermat. Peringkat ini menunjukkan bahwa informasi ini bermanfaat bagi seseorang yang sedang mencari beberapa tempat terbaik untuk dikunjungi di India selama musim dingin untuk pertama kalinya.
  • Koherensi menunjukkan apakah perencana telah disusun secara logis dan mudah dibaca. Contoh kita menerima skor koherensi tinggi sebesar 5.

 

Kesimpulan

Ketika mengevaluasi kemampuan seorang agen dalam memenuhi kebutuhan pengguna secara nyata, kriteria seperti koherensi, kebergunaan, dan akurasi memainkan peran utama. Terlepas dari apakah Anda bekerja dengan OpenAI, IBM Granite, atau model LLM-as-a-Service lainnya, penting untuk mengandalkan metode evaluasi terstruktur—seperti kumpulan data evaluasi, tolok ukur, anotasi, dan kebenaran dasar—untuk menguji output akhir secara menyeluruh. Dalam contoh penggunaan praktis seperti chatbot atau dukungan pelanggan berbasis RAG, kerangka kerja sumber terbuka seperti LangGraph sangat berharga. Mereka mendukung otomatisasi yang dapat diskalakan, perutean yang dapat diandalkan, dan memungkinkan siklus iterasi yang cepat. Teknologi ini juga lebih memudahkan dalam mengoperasikan sistem AI generatif, memperbaiki kesalahan perilaku, serta mengoptimalkan dan mengonfigurasi alur kerja yang kompleks. Dengan mendefinisikan kasus uji secara saksama dan mengawasi metrik observabilitas seperti biaya komputasi, harga, dan latensi, tim dapat secara konsisten meningkatkan kinerja sistem. Pada akhirnya, menerapkan pendekatan evaluasi yang andal dan dapat diulang mengetatkan sistem machine learning dan memperkuat kredibilitas mereka seiring waktu.

Solusi terkait
Agen AI untuk bisnis

Bangun, terapkan, dan kelola asisten dan agen AI yang kuat yang mengotomatiskan alur kerja dan proses dengan AI generatif.

    Menjelajahi watsonx Orchestrate
    Solusi agen AI IBM

    Bangun masa depan bisnis Anda dengan solusi AI yang dapat Anda percaya.

    Jelajahi solusi agen AI
    Layanan AI IBM Consulting

    Layanan IBM Consulting AI membantu merancang ulang cara kerja bisnis dengan AI untuk transformasi.

    Jelajahi layanan kecerdasan buatan
    Ambil langkah selanjutnya

    Baik Anda memilih untuk menyesuaikan aplikasi dan keterampilan yang dibangun sebelumnya atau membangun dan menerapkan layanan agen khusus menggunakan studio AI, platform IBM watsonx siap membantu Anda.

    Menjelajahi watsonx Orchestrate Jelajahi watsonx.ai