Design the Agent Interface
Membuat tool, command, policy, dan feedback surface yang aman untuk quant research workflow.
Failure pattern
Agent diberi tool mentah: pull data, run backtest, simulate portfolio, generate memo. Semua terlihat powerful. Tetapi tanpa semantics yang jelas, tool surface menjadi berbahaya. Agent tidak tahu mana read-only, mana dry run, mana membutuhkan approval, dan output mana yang dianggap evidence.
Di quant workflow, interface yang kabur bisa membuat agent menjalankan backtest dengan parameter salah, memakai universe yang terlalu luas, atau menyajikan simulation sebagai recommendation.
Incident: Backtest yang terlihat valid
Agent diminta mengecek hypothesis bahwa quality factor lebih defensif saat volatility naik. Ia menjalankan backtest dengan default universe, default transaction cost, dan benchmark lama. Output menunjukkan alpha yang menarik. Agent memasukkan chart ke memo dan menulis bahwa idea “ready for committee.”
Reviewer menemukan bahwa benchmark salah, transaction cost nol, dan survivorship bias control tidak aktif. Tool berhasil berjalan, tetapi interface gagal memberi batas.
Agent interface
Untuk quant agent, interface bukan hanya UI. Interface adalah kumpulan surface:
| Surface | Contoh |
|---|---|
| Read surface | data dictionary, factor docs, portfolio constraints |
| Action surface | run screen, run bounded backtest, draft memo |
| Feedback surface | test result, validation warning, reviewer comment |
| Policy surface | approval gate, prohibited output, audit requirement |
Agent perlu membaca semua surface ini sebagai satu sistem.
Harness principle
Design the agent interface berarti membuat action yang aman lebih mudah daripada action yang berbahaya. Tool harus punya mode, schema, limit, dan refusal message.
Contoh: runBacktest() terlalu luas. Lebih baik runResearchBacktest({ universe, horizon, costModel, benchmark, dryRun }) dengan output schema yang eksplisit.
Operating practice
Definisikan contract untuk setiap tool:
| Tool | Mode | Guardrail |
|---|---|---|
get_market_snapshot | read | wajib timestamp dan source |
run_factor_screen | bounded action | universe harus disebut |
run_backtest | dry-run/action | benchmark, cost model, bias control wajib |
draft_memo | output | tidak boleh berisi final decision |
submit_review_packet | handoff | butuh evidence list |
Tool yang tidak bisa menjelaskan evidence sebaiknya tidak menjadi completion signal.
Product-agent example
Harnessed agent menjalankan backtest dan menerima warning:
{
"status": "blocked",
"reason": "missing_transaction_cost_model",
"required_fields": ["cost_model", "benchmark", "survivorship_bias_control"]
}
Feedback seperti ini membuat agent memperbaiki run, bukan menulis memo dari hasil cacat.
Common mistakes
Kesalahan pertama adalah memberi tool terlalu generik. Kesalahan kedua adalah membiarkan tool sukses tanpa metadata. Kesalahan ketiga adalah menganggap chart adalah evidence. Chart tanpa config snapshot sulit diaudit.
Practical exercise
Ambil satu tool quant research. Tulis ulang contract-nya: input wajib, mode, output schema, refusal condition, dan evidence yang harus disimpan.
Key takeaways
- Agent interface adalah files, tools, policy, dan feedback.
- Tool harus mengarahkan agent ke run yang aman dan auditable.
- Backtest success bukan completion kalau config dan assumptions tidak jelas.
Further reading / source notes
Konsep ini terhubung dengan typed tools, structured output, observability, dan model risk controls untuk workflow financial analysis.