Agent:🆕 tool definitions from caller's tool list
The system prompt was advertising all tools to every agent, but the runtime only dispatched the agent's actual subset. This caused unconscious agents to call tools that returned "Unknown tool." Agent::new now takes the tool list explicitly. Each caller passes its own tools — the prompt and runtime always match. MCP tool definitions are still appended for agents that use them. Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
parent
28e564aeb2
commit
1c0967c4ec
5 changed files with 12 additions and 3 deletions
|
|
@ -298,6 +298,7 @@ impl Mind {
|
|||
config.prompt_file.clone(),
|
||||
conversation_log,
|
||||
crate::agent::tools::ActiveTools::new(),
|
||||
crate::agent::tools::tools(),
|
||||
).await;
|
||||
|
||||
let shared = Arc::new(std::sync::Mutex::new(MindState::new(config.app.dmn.max_turns)));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue