perf(agent): eksekusi tool read-only paralel seperti Claude Code
Sebelumnya loop utama mengeksekusi semua tool call satu-per-satu (sequential for loop). Seperti Claude Code, tool read-only yang independen dalam satu pesan assistant (read/grep/glob/semantic_search dsb.) kini dijalankan konkuren dengan bounded parallelism (max 8), mengurangi latensi per turn secara signifikan untuk beban coding. - feat(registry): tool_is_parallel_safe() — whitelist tool read-only yang aman dijalankan paralel; tool mutating/shell tetap sequential - feat(executor): is_parallel_safe() delegasi ke registry; ToolExecutor trait Default=false (konservatif) - fix(application): execute_tool_calls_in_parallel() — join_all + semaphore bounded 8, hasil dikumpulkan dalam URUTAN panggilan asli (kontrak OpenAI/Anthropic tool-result ordering) - loop utama: batch paralel hanya jika SEMUA tool parallel-safe; jika ada satu tool mutating, jatuh balik ke jalur sequential aman - test: +2 registry test, +2 application test (konkurensi & urutan, fallback batch mutating)
This commit is contained in:
@@ -16,6 +16,7 @@ uuid.workspace = true
|
||||
anyhow.workspace = true
|
||||
tracing.workspace = true
|
||||
tokio.workspace = true
|
||||
futures-util.workspace = true
|
||||
base64.workspace = true
|
||||
sha2.workspace = true
|
||||
url.workspace = true
|
||||
|
||||
Reference in New Issue
Block a user