Give an agent many tools without overloadYou group large tool catalogs and load their details only when relevant. The agent begins with a compact index instead of carrying every tool description.rustacademyacademy/topics/agent-discoverywebsite/content-src/academy/course.mjsacademyGive an agent many tools without overload
You group large tool catalogs and load their details only when relevant. The agent begins with a compact index instead of carrying every tool description.
9 focused minutesNot started
Worked example
See the idea in context
// Generated package discovery metadata follows the AxAgentFunctionGroup shape where supported.
let group = json!({
"namespace": "kb",
"title": "Knowledge Base",
"selectionCriteria": "Use for policy or documentation lookup.",
"functions": ["search"]
});
Run itIn your own project
cargo add axllm
use axllm::{ai, ax};
use serde_json::json;
let llm = ai("openai", json!({"apiKey": std::env::var("OPENAI_API_KEY")?}))?;
let classify = ax("review:string -> sentiment:class \"positive, negative, neutral\"")?;
Set OPENAI_APIKEY in your environment before running provider-backed code.
In the ax repo
From a clone of the ax repo:
npm run example -- rust src/examples/rust/short-agents/tools_agent.rs