
Contextual refinement adalah salah satu konsep yang terdengar abstrak hingga kamu benar-benar memahaminya — dan kemudian kamu menyadari bahwa kamu sudah berhadapan dengannya di setiap interaksi AI yang pernah kamu lakukan. Bagi developer yang membangun agen dan alur kerja AI, memahami contextual refinement adalah perbedaan antara agen yang menyimpang dan agen yang tetap fokus pada tugasnya.
Definisi
Contextual refinement adalah proses di mana model AI menyesuaikan pemahaman, output, atau perilakunya berdasarkan konteks yang telah terakumulasi dalam sebuah interaksi — bukan hanya input terbaru.
Lebih tepatnya: ini adalah mekanisme di mana konteks dari awal percakapan memengaruhi respons selanjutnya, dan bagaimana agen dapat dirancang untuk memanfaatkan (atau mereset) konteks yang terakumulasi tersebut secara sengaja.
Mengapa Ini Lebih Penting dari Prompt Engineering
Prompt engineering berfokus pada pembuatan input yang tepat untuk mendapatkan output yang tepat. Contextual refinement adalah tentang mengelola keseluruhan status informasi yang memengaruhi perilaku model di berbagai giliran.
Perbedaan dalam praktik:
| Prompt Engineering | Contextual Refinement |
|---|---|
| "Bagaimana cara merumuskan prompt ini?" | "Konteks apa yang dimiliki model pada titik ini?" |
| Optimasi satu giliran | Manajemen status multi-giliran |
| Pilihan kata dan struktur | Arsitektur informasi |
| Kualitas permintaan individual | Kualitas perilaku tingkat sistem |
Keduanya penting. Namun seiring sistem AI menjadi lebih bersifat agentik — membuat keputusan dalam banyak langkah — contextual refinement menjadi keterampilan yang lebih krusial.
Bagaimana Konteks Membentuk Perilaku AI
Model bahasa besar tidak memiliki memori antar sesi, tetapi dalam sebuah context window, segalanya terakumulasi dan memengaruhi perilaku model:
- Bias kebaruan: Informasi terbaru memiliki bobot lebih besar dibanding konteks lama
- Kontradiksi: Konteks yang datang belakangan dapat menggantikan instruksi sebelumnya (bisa baik atau buruk)
- Persistensi persona: Definisi peran yang ditetapkan di awal konteks akan terus bertahan
- Propagasi kesalahan: Kesalahan di awal tugas multi-langkah akan semakin besar jika tidak dikoreksi
Inilah mengapa agen yang dirancang baik dengan konteks awal yang jelas berperforma berbeda dari agen yang mengakumulasi konteks yang berantakan dan kontradiktif — meskipun keduanya menggunakan model yang sama.
Teknik Contextual Refinement untuk Developer
1. Context Seeding
Tetapkan konteks yang tepat sebelum tugas utama dimulai:
# Sebelum prompt tugas utama, tetapkan:
context = """
Project: E-commerce platform in TypeScript/Next.js
Patterns: Functional programming, immutable state
Constraints: No class components, use zustand for state
Error handling: Use Result types from src/types/result.ts
Testing: Jest with React Testing Library
"""
response = client.messages.create(
messages=[
{"role": "user", "content": context + "\n\n" + main_task}
]
)
2. Progressive Context Loading
Alih-alih memuat semua konteks di awal (yang mengisi context window dan mengurangi kualitas penalaran), muat konteks secara progresif sesuai kebutuhan:
class ContextManager:
def __init__(self, model):
self.model = model
self.context_items = []
def add_context(self, item: str, priority: int = 5):
self.context_items.append({"content": item, "priority": priority})
def get_active_context(self, max_tokens: int = 4000) -> str:
# Urutkan berdasarkan prioritas, sertakan item prioritas tertinggi lebih dulu
sorted_items = sorted(self.context_items, key=lambda x: -x['priority'])
active = []
total = 0
for item in sorted_items:
item_tokens = len(item['content']) // 4 # Perkiraan kasar
if total + item_tokens > max_tokens:
break
active.append(item['content'])
total += item_tokens
return "\n\n".join(active)
3. Context Checkpoints
Dalam alur kerja agentik yang panjang, ringkas dan reset konteks secara berkala untuk mencegah drift:
async def run_agent_with_checkpoints(task: str, steps: list):
context_summary = ""
for i, step in enumerate(steps):
# Jalankan langkah
result = await agent.run(
task=step,
context=context_summary
)
# Setiap 3 langkah, buat context checkpoint
if i % 3 == 2:
context_summary = await agent.run(
task="Summarize the key facts, decisions made, and current state in 200 words",
context=result
)
return result
4. Context Isolation
Saat kamu perlu model untuk bernalar tentang sesuatu tanpa dipengaruhi konteks sebelumnya:
# Mulai konteks baru untuk penalaran yang terisolasi
isolated_response = client.messages.create(
system="You are a code reviewer with no prior context about this project.",
messages=[
{"role": "user", "content": f"Review this function:\n\n{code}"}
]
)
Contextual Refinement dalam Sistem Multi-Agen
Ketika beberapa agen bekerja sama, manajemen konteks menjadi masalah koordinasi:
Agen A (Peneliti)
↓ Meneruskan: Temuan penelitian sebagai JSON terstruktur
Agen B (Penulis)
↓ Meneruskan: Draf + ringkasan "keputusan yang diambil"
Agen C (Peninjau)
↓ Meneruskan: Catatan tinjauan + keputusan "terima/tolak"
Agen D (Penerbit)
Setiap serah terima adalah kesempatan untuk meneruskan konteks yang tepat (memungkinkan Agen B membangun di atas pekerjaan Agen A), atau meneruskan terlalu banyak (menyebabkan Agen B mengulangi pekerjaan), atau terlalu sedikit (menyebabkan Agen B kehilangan keputusan penting).
Praktik terbaik: Setiap agen dalam pipeline harus menerima:
- Tugas spesifiknya
- Keputusan yang mengarah ke titik ini (bukan deliberasi lengkap)
- Batasan yang berlaku untuk pekerjaannya
- Persyaratan format output yang jelas
Contextual Refinement dalam Alur Kerja AnyCap
Sistem skill AnyCap dirancang dengan mempertimbangkan contextual refinement. Setiap skill menerima:
- Brief tugas yang terstruktur
- Konteks workspace yang relevan (dari status agen saat ini)
- Parameter spesifik kapabilitas
Artinya kamu dapat merangkai kapabilitas AnyCap tanpa masing-masing perlu memahami ulang konteks proyek secara penuh:
# Agen menetapkan konteks sekali
anycap skill run anycap-deepresearch \
-m "Research competitive landscape for AI video generation APIs"
# Kapabilitas selanjutnya bekerja dari output terstruktur, bukan konteks mentah
anycap image generate \
--prompt "Comparison diagram: Kling vs Seedance vs Veo3 feature matrix, clean table style" \
--model nano-banana-2
# Setiap kapabilitas mendapat konteks yang tepat, tidak lebih tidak kurang
Poin-Poin Utama
- Contextual refinement adalah manajemen konteks yang terakumulasi — bukan hanya kualitas prompt individual
- Konteks dapat menyimpang dalam sesi yang panjang — gunakan checkpoint dan
/compactuntuk mengelolanya - Pemuatan progresif lebih baik daripada menuang semua konteks sekaligus — tambahkan konteks saat dibutuhkan
- Sistem multi-agen memerlukan protokol serah terima konteks yang eksplisit — jangan asumsikan konteks mengalir secara otomatis
- Isolasi adalah sebuah teknik — terkadang kamu ingin konteks segar untuk penalaran yang lebih baik