Anthropic Mühendislik: AI Ajanı Değerlendirmeleri (Evals) için Pratik Rehber ve Metodoloji
(anthropic.com)Özet:
- Mevcut LLM benchmark’ları tek başına, araç kullanımı ve çok adımlı akıl yürütme gerçekleştiren "AI ajanları"nın performansını doğru biçimde ölçmek için yetersizdir.
- Ajan değerlendirmeleri, yazılım testine benzer şekilde birim testleri (Unit Tests) ve entegrasyon testlerini (Integration Tests) birlikte kullanmalıdır.
- Deterministik kod puanlaması (Code-based) ile LLM kullanan model tabanlı puanlamayı (Model-based) birlikte kullanmak etkilidir.
- Ajan geliştirme yaşam döngüsüne uygun olarak "yetenek değerlendirmeleri"nden (Capability Evals) "regresyon testleri"ne (Regression Evals) geçiş yapmak gerekir.
Ayrıntılı özet:
-
AI ajanlarını değerlendirmek neden zordur
Basit chatbot’ların (Single-turn) aksine ajanlar araç kullanır, ortamın durumunu değiştirir ve görevleri birden çok adımda (Multi-turn) yerine getirir. Bu nedenle yalnızca nihai yanıtı kontrol etmek yeterli değildir; ajanın doğru araçları kullanıp kullanmadığı, sürecin verimli olup olmadığı gibi unsurların da birlikte değerlendirilmesi gerekir. -
Ajan değerlendirmesinin (Eval) yapısı
Etkili bir değerlendirme sistemi şu temel unsurlardan oluşur.
- Görev (Task): Tanımlı girdi ve başarı kriterlerine sahip tek bir test vakası.
- Puanlayıcı (Grader): Ajanın performans sonucunu puanlayan mantık.
- Transkript (Transcript): Ajanın düşünme süreci, araç çağrıları, ara sonuçlar gibi unsurları içeren tam çalışma kaydı.
- Sonuç (Outcome): Ajan çalıştırıldıktan sonra ortamda oluşan nihai durumun hâli (ör. gerçek veritabanında rezervasyon oluşturulup oluşturulmadığı).
- Puanlayıcı (Grader) türlerinin karşılaştırılması
Anthropic, üç tür puanlayıcının birlikte kullanılmasını öneriyor.
| Tür | Açıklama | Avantajlar | Dezavantajlar |
|---|---|---|---|
| Kod tabanlı (Code-based) | String eşleşmesi, regex, statik analiz, birim test çalıştırma vb. | Hızlı, ucuz, nesnel, yeniden üretilebilir | Karmaşık nüansları kaçırabilir, esnekliği düşüktür |
| Model tabanlı (Model-based) | LLM’yi jüri/hakem (Judge) olarak kullanıp rubrik temelli puanlama yapma | Esnek, nüansları kavrayabilir, açık uçlu sorular için uygundur | Deterministik olmayabilir, maliyetlidir, insan kalibrasyonu gerektirir |
| İnsan (Human) | Uzman incelemesi, crowdsourcing | Kalite için "altın standart" | Çok yavaş ve çok pahalıdır |
- Kodlama ajanı değerlendirme örneği (YAML yapılandırması)
Bir kodlama ajanını değerlendirirken yalnızca kodun çalışıp çalışmadığına (deterministik testler) bakılmaz; kodlama stili veya güvenlik ihlalleri (statik analiz / LLM puanlaması) de birlikte incelenir. Aşağıda "güvenlik açığını düzeltme" görevine ilişkin varsayımsal bir değerlendirme yapılandırması örneği yer alıyor.
task:
id: "fix-auth-bypass_1"
desc: "비밀번호 필드가 비어있을 때 발생하는 인증 우회 취약점 수정"
graders:
# 1. 결정론적 테스트: 실제 테스트 코드가 통과하는지 확인
- type: deterministic_tests
required: [test_empty_pw_rejected.py, test_null_pw_rejected.py]
# 2. LLM 루브릭 채점: 코드 품질 및 스타일 평가
- type: llm_rubric
rubric: prompts/code_quality.md
# 3. 정적 분석: 린터(Linter) 및 보안 도구 실행
- type: static_analysis
commands: [ruff, mypy, bandit]
# 4. 상태 확인: 보안 로그가 제대로 남았는지 확인
- type: state_check
expect:
security_logs: {event_type: "auth_blocked"}
# 5. 도구 사용 확인: 필요한 파일을 읽고 수정했는지
- type: tool_calls
required:
- {tool: read_file, params: {path: "src/auth/*"}}
- {tool: edit_file}
- {tool: run_tests}
# 추적할 메트릭
tracked_metrics:
- type: transcript
metrics:
- n_turns # 턴 수
- n_toolcalls # 도구 호출 횟수
- n_total_tokens # 토큰 사용량
- type: latency
metrics:
- time_to_first_token
- Değerlendirme metrikleri (Metrics)
Ajanların deterministik olmayan doğasını ele almak için yalnızca basit doğruluk yerine şu metrikler de kullanılır.
- pass@k: k denemede en az 1 kez başarılı olma olasılığı (arama/keşif yeteneğini ölçer).
- pass^k: k denemedeki tüm denemelerin başarılı olma olasılığı (tutarlılık/güvenilirliği ölçer).
- Araçlar ve framework’ler
Değerlendirme sistemi kurmak için Harbor (container ortamı çalıştırma), Promptfoo (YAML tabanlı test yapılandırması), Braintrust, LangSmith gibi araçların kullanılması veya ekibin iş akışına uygun özel bir framework oluşturulması öneriliyor. Asıl önemli olan framework’ün kendisi değil, yüksek kaliteli test vakalarının elde edilmesidir.
1 yorum
İçerik güzel olduğu için Türkçe çeviri sürümünü de ekliyorum.
https://rosettalens.com/s/ko/demystifying-evals-for-ai-agents