Evaluasi, Penerapan, dan Retrospektif
Jalankan seluruh rangkaian evaluasi, termasuk metrik pengambilan, skor kualitas LLM-as-judge, dan tes beban, terapkan ke penyedia cloud, lalu tulis retrospektif yang mendokumentasikan pelajaran yang diperoleh.
Evaluasi, Penerapan, dan Retrospektif adalah pelajaran AI Engineering Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Engineering Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Engineering Academy mencakup 4 pelajaran total.
Tahap Akhir: Evaluasi Sebelum Peluncuran
Sistem belum siap diluncurkan sampai dievaluasi dari ujung ke ujung dalam kondisi dunia nyata. Tahap evaluasi akhir menggabungkan semua teknik evaluasi yang dipelajari dalam jalur ini: metrik pengambilan untuk memastikan pipeline RAG menemukan potongan yang tepat, skor LLM sebagai juri untuk memastikan kualitas jawaban, pengujian beban untuk memastikan SLA latensi, dan pemindaian keamanan untuk memastikan penguatan. Semuanya harus berhasil sebelum penerapan dimulai.
Menjalankan Perangkat Evaluasi Lengkap
Jalankan seluruh rangkaian evaluasi pada lingkungan penahapan menggunakan sampel kueri yang representatif terhadap kueri produksi. Catat semua metrik: tingkat keberhasilan, MRR, NDCG untuk pengambilan; faithfulness dan relevansi jawaban untuk pembuatan; biaya per kueri; latensi p50/p95/p99. Bandingkan setiap metrik dengan kriteria keberhasilan yang ditetapkan pada tahap arsitektur. Jangan meluncurkan sistem sampai semua batas minimum yang ketat terpenuhi.
async def final_evaluation(system_url: str, test_set_path: str) -> dict:
test_cases = load_test_set(test_set_path)
results = []
for case in test_cases:
start = time.perf_counter()
response = await query_system(system_url, case['question'])
latency_ms = (time.perf_counter() - start) * 1000
judge_score = await judge(case['question'], response['answer'], case.get('reference'))
hit = any(case['relevant_doc'] in s for s in response.get('sources', []))
results.append({'latency_ms': latency_ms, 'score': judge_score, 'hit': hit, 'cost': response.get('cost_usd', 0)})
return compute_final_metrics(results)Menguji Beban Sistem Produksi
Jalankan pengujian beban yang menyimulasikan lalu lintas produksi yang realistis sebelum sistem aktif. Gunakan alat seperti Locust atau k6 untuk meningkatkan beban hingga konkurensi puncak yang diperkirakan (misalnya, 50 pengguna bersamaan) dan ukur perubahan latensi di bawah beban. Pastikan pemutus sirkuit tidak aktif pada beban normal, pembatas laju mengembalikan respons 429 yang benar saat terjadi lalu lintas lonjakan, dan tingkat cache hit semantik tetap di atas target. Perbaiki setiap regresi sebelum melanjutkan.
# Locust load test (locustfile.py)
from locust import HttpUser, task, between
import random
QUESTIONS = [
'What is the return policy?',
'How do I cancel my subscription?',
'Where are you located?',
]
class AIUser(HttpUser):
wait_time = between(1, 3) # realistic think time
@task
def query(self):
self.client.post(
'/query',
json={'question': random.choice(QUESTIONS), 'tenant_id': 'load_test'},
headers={'Authorization': 'Bearer test_token'}
)
# Run: locust -f locustfile.py --headless -u 50 -r 5 --run-time 5mMenerapkan ke Produksi
Lakukan penerapan menggunakan penerapan biru-hijau: jalankan versi baru (hijau) berdampingan dengan versi yang ada (biru), jalankan pengujian asap terhadap versi hijau, lalu alihkan lalu lintas secara bertahap dari biru ke hijau. Mulai dengan 5% lalu lintas ke hijau, pantau tingkat kesalahan dan latensi selama 10 menit, lalu alihkan 25%, kemudian 50%, dan akhirnya 100%. Dengan cara ini, Anda dapat segera mengembalikan sistem ke biru jika terjadi masalah, tanpa waktu henti.
# Deployment steps (pseudocode for AWS ECS or K8s):
# 1. Build and push new Docker image
# docker build -t qa-assistant:v2.0 . && docker push ...
#
# 2. Deploy green (new) version alongside blue (current)
# kubectl apply -f deploy/green.yaml
#
# 3. Run smoke tests against green
# pytest tests/smoke/ --base-url https://green.internal
#
# 4. Canary traffic shift (ALB weighted routing)
# 5% -> green (monitor 10min)
# 25% -> green (monitor 10min)
# 50% -> green (monitor 10min)
# 100% -> green
#
# 5. Decommission blue after 24h stabilityPemantauan Setelah Penerapan
Setelah menerapkan sistem, pantau metrik utama secara aktif selama 2 jam pertama. Pantau: tingkat kesalahan (target <1%), latensi p95 (target <8 dtk), tingkat cache hit (target >20%), dan biaya per kueri (target <$0,05). Siapkan kanal Slack ruang tanggap insiden dengan semua teknisi yang bertugas untuk penerapan pertama. Setiap metrik yang melewati ambang peringatan memicu penyelidikan; ambang kritis memicu pengembalian segera ke versi biru.
# Post-deploy monitoring dashboard queries:
# (Assuming Grafana + Prometheus)
# Error rate (last 5 min):
# rate(http_requests_total{status=~'5..'}[5m]) / rate(http_requests_total[5m])
# p95 latency (last 5 min):
# histogram_quantile(0.95, rate(query_duration_seconds_bucket[5m]))
# Cache hit rate:
# rate(cache_hits_total[5m]) / rate(queries_total[5m])
# Average cost per query:
# rate(llm_cost_usd_total[5m]) / rate(queries_total[5m])Menulis Retrospektif Arsitektur
Setelah sistem aktif selama seminggu, tulislah dokumen retrospektif yang mencatat hal-hal yang berhasil, yang tidak berhasil, dan hal-hal yang akan Anda lakukan secara berbeda. Retrospektif yang baik harus jujur tentang kegagalan dan spesifik mengenai pembelajaran yang diperoleh. Pembaca di masa mendatang — termasuk Anda enam bulan dari sekarang — akan memperoleh manfaat dengan memahami alasan di balik keputusan yang dibuat di bawah tekanan waktu serta hambatan tak terduga yang dihadapi.
# RETROSPECTIVE.md structure:
#
# ## What Worked Well
# - Hybrid retrieval improved hit rate from 71% to 89%
# - Semantic cache reduced average cost by 31%
# - LangSmith tracing saved 2 days of debugging
#
# ## What Did Not Work
# - Semantic chunking was 4x slower than recursive chunking
# with only 3% hit rate improvement -- not worth it
# - Cohere reranker had 400ms latency -- too slow for p95 target
# Switched to BGE-reranker-v2 running locally
#
# ## What We'd Do Differently
# - Start with pgvector, not Pinecone (migration cost 3 days)
# - Add semantic cache BEFORE building the agent, not afterMendokumentasikan Panduan Operasional
Tulis panduan operasional untuk setiap peringatan yang dapat muncul dalam produksi. Panduan operasional adalah panduan langkah demi langkah untuk mendiagnosis dan mengatasi peringatan tertentu. Panduan ini harus menjawab: apa arti peringatan ini, apa penyebab yang mungkin, bagaimana cara mendiagnosisnya, dan bagaimana cara memperbaikinya. Panduan operasional mengurangi waktu rata-rata penyelesaian (MTTR) dari hitungan jam menjadi menit dengan menghilangkan kebutuhan untuk memikirkan langkah diagnosis saat terjadi insiden yang menegangkan.
# runbooks/latency.md
# ## Alert: p95 Latency > 8000ms
#
# ### Likely Causes
# 1. OpenAI API degraded (check status.openai.com)
# 2. Cohere reranker slow (check Cohere status page)
# 3. pgvector query slow (check DB CPU in CloudWatch)
# 4. Redis cache full (check Redis memory usage)
#
# ### Diagnosis
# curl https://api.openai.com/v1/models -H 'Authorization: Bearer $KEY'
# Check LangSmith traces for which step is slow
# SELECT mean(duration) FROM traces GROUP BY step
#
# ### Fixes
# - If OpenAI slow: circuit breaker should auto-failover to Claude
# - If Cohere slow: disable reranking temporarily (env SKIP_RERANK=1)
# - If DB slow: increase pgvector ef_search from 40 to 20Mengukur Dampak Bisnis
Setelah satu bulan berjalan di lingkungan produksi, ukur dampak bisnis sistem, bukan hanya metrik teknis. Untuk asisten tanya jawab: seberapa besar volume tiket dukungan pelanggan berkurang? Berapa skor kepuasan pengguna atas pertanyaan yang dijawab oleh kecerdasan buatan? Berapa banyak pertanyaan yang ditangani sistem, yang sebelumnya memerlukan bantuan agen dukungan manusia? Metrik bisnis ini membenarkan investasi dan membantu menentukan prioritas di masa mendatang antara peningkatan kualitas dan fitur baru.
# Business impact metrics (month 1):
# Technical:
# - 12,847 queries served, 11,439 (89%) answered without human
# - Avg query cost: $0.031 (within $0.05 budget)
# - System uptime: 99.94%
#
# Business:
# - Support tickets: 1,840/month -> 1,203/month (-35%)
# - Avg resolution time: 4.2h -> 23 seconds for AI-answered
# - User CSAT on AI answers: 4.1/5.0
# - Cost per resolved query: $12 (human) -> $0.031 (AI)
# - ROI: 157% in month 1 at current volumesMerencanakan Iterasi Berikutnya
Sistem yang telah dirilis tidak pernah benar-benar selesai—sistem tersebut menjadi landasan untuk peningkatan berkelanjutan. Gunakan data evaluasi, umpan balik pengguna, dan pembelajaran dari retrospektif untuk merencanakan iterasi berikutnya. Prioritaskan peningkatan yang memberikan dampak terbesar pada metrik yang paling penting: jika tingkat keberhasilan pengambilan informasi menjadi faktor pembatas, investasikan upaya pada pemenggalan yang lebih baik atau model penyematan yang berbeda; jika kepuasan pengguna rendah meskipun pengambilan informasi sudah baik, investasikan upaya pada kualitas instruksi.
# Next iteration priorities (based on first month data):
NEXT_SPRINT = [
# High impact / high confidence
{
'feature': 'Sentence-window retrieval',
'expected_impact': 'Hit rate 89% -> 93%',
'effort': 'medium',
'evidence': '11% of failures due to answer split across chunks'
},
# High impact / medium confidence
{
'feature': 'Query decomposition for multi-hop questions',
'expected_impact': 'Multi-hop correctness 61% -> 78%',
'effort': 'high',
'evidence': '23% of failures are multi-hop questions'
},
# Low effort quick win
{
'feature': 'Extend cache TTL from 1h to 24h',
'expected_impact': 'Cache hit rate 31% -> 38%',
'effort': 'trivial',
'evidence': 'Same questions asked daily by different users'
}
]Berbagi Pengetahuan dan Dokumentasi
Tulislah dokumentasi untuk keputusan implementasi penting dalam sistem yang tidak langsung terlihat. Keputusan ini mencakup: alasan pemilihan ukuran potongan tertentu (dan hasil yang ditunjukkan oleh berbagai eksperimen), cara mengkalibrasi ambang kemiripan tembolok semantik, pola penyisipan mana yang saat ini dapat dideteksi oleh penyaring dan mana yang tidak, serta cara menambahkan alat baru ke agen. Dokumentasi internal yang baik mengurangi waktu orientasi bagi kontributor baru dan mencegah keputusan dibatalkan secara tidak sengaja oleh seseorang yang tidak mengetahui alasannya.
# INTERNALS.md — key non-obvious decisions:
#
# ## Chunk Size: 800 tokens with 100 token overlap
# We tested 400, 600, 800, 1200 tokens.
# 800 tokens maximizes hit rate (89%) while keeping context
# small enough for 5 chunks to fit comfortably in 4096 token prompt.
# Larger chunks improved recall but degraded precision.
#
# ## Cache Similarity Threshold: 0.92
# Tested 0.85, 0.90, 0.92, 0.95.
# 0.92 gives 31% hit rate with <2% incorrect cache hits.
# 0.85 gives 41% hit rate but 8% incorrect hits (too aggressive).
#
# ## Reranker Top-N: 3 (from initial 10)
# More than 3 chunks causes context stuffing without quality gain.Yang Telah Anda Bangun
Renungkan sistem lengkap yang telah Anda bangun dalam proyek akhir ini: alur kerja RAG hibrida yang menggabungkan pengambilan informasi padat dan renggang dengan pemeringkatan ulang, agen yang mengalirkan respons dengan pemanggilan fungsi dan pagar pengaman keselamatan, tembolok semantik yang mengurangi biaya sebesar 30%, pemutus sirkuit yang menyediakan pengalihan otomatis, evaluasi dengan LLM sebagai penilai yang berjalan terus-menerus dalam integrasi dan pengiriman berkelanjutan, serta pertahanan terhadap penyisipan instruksi yang melindungi dari masukan berbahaya. Inilah rekayasa kecerdasan buatan untuk produksi.
# System capabilities summary:
SYSTEM_CAPABILITIES = {
'retrieval': 'Hybrid BM25+dense with Cohere reranking, 89% hit rate',
'generation': 'GPT-4o with Claude fallback, circuit breaker, streaming',
'caching': 'Semantic cache (Redis+embeddings), 31% cache hit rate',
'security': 'Injection filter (2-stage) + output scanning + tenant isolation',
'observability': 'LangSmith traces + Prometheus metrics + PagerDuty alerts',
'evaluation': 'Automated LLM-as-judge in CI, daily full suite, LangSmith evals',
'reliability': '99.94% uptime, circuit breakers, graceful degradation ladder',
'cost': '$0.031/query average, model routing saves 67% vs GPT-4o only',
}Pemeriksaan Singkat
Uji pemahaman Anda tentang penerapan dan evaluasi sistem kecerdasan buatan di lingkungan produksi.
Ringkasan Pelajaran
Dalam pelajaran ini, Anda telah mempelajari bahwa evaluasi akhir menggabungkan metrik pengambilan informasi, skor LLM sebagai penilai, pengujian beban, dan pemindaian keamanan sebelum penerapan apa pun dimulai, penerapan biru-hijau dengan pengalihan lalu lintas secara bertahap memungkinkan pemulihan ke versi sebelumnya secara langsung tanpa waktu henti, dan retrospektif serta panduan operasional menyimpan pengetahuan organisasi yang mengurangi waktu penyelesaian insiden di masa mendatang. Selamat telah menyelesaikan jalur Rekayasa Kecerdasan Buatan: LLM, RAG, dan Agen!
Belajar Python dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Evaluasi, Penerapan, dan Retrospektif” gratis?
Ya — teks lengkap “Evaluasi, Penerapan, dan Retrospektif” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Engineering Academy, upgrade ke CoddyKit PRO. Kursus AI Engineering Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Evaluasi, Penerapan, dan Retrospektif”?
Jalankan seluruh rangkaian evaluasi, termasuk metrik pengambilan, skor kualitas LLM-as-judge, dan tes beban, terapkan ke penyedia cloud, lalu tulis retrospektif yang mendokumentasikan pelajaran yang… Kamu berlatih AI Engineering Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AI Engineering Academy?
Tidak diperlukan pengalaman sebelumnya. AI Engineering Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Evaluasi, Penerapan, dan Retrospektif” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Engineering Academy ini?
Ya. Setiap pelajaran AI Engineering Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Merancang Arsitektur Produksi
- Menerapkan Fitur Inti RAG dan Agen
- Memperkuat Sistem: Keamanan, Penyimpanan Tembolok, dan Keandalan
- Evaluasi, Penerapan, dan Retrospektif