October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk5 min

How I Built Deferred Tool Discovery for My Desktop AI Assistant—Without Embeddings

Ankita’s described approach keeps its initial AI toolset small, then uses find_tools and curated category keywords to load relevant schemas without embeddings.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To keep an AI assistant’s tool schemas from crowding every request, I built a small discovery step: the model starts with a limited set of tools, calls find_tools when it needs more, and receives matching tool schemas for use in the same session. In my account of the design, curated categories and keywords—not embeddings—power that lookup. This is an explanation of the approach Krish Verma describes for Ankita, an open-source Electron desktop assistant and terminal CLI; it is not a claim about the current state of its code.

Why defer tool schemas?

A model needs the parameter schema for a tool to call it. If an assistant exposes dozens of tools on every request, their schemas take up context before the model has started the user’s task. Verma describes this as the problem behind Ankita’s design: keep the default toolset small, then reveal other capabilities only when they are relevant.

As an Amazon Associate I earn from qualifying purchases.

The described catalog spans web search and fetching, Git, filesystem operations, process management, scheduling, page watches, project management, memory, GitHub notifications, MCP servers, image generation, and voice. Each tool is an ES module under tools/ exporting name, description, parameters, and run(). The article does not provide a measured token reduction, so the benefit is a design rationale rather than a quantified result.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How Ankita’s discovery flow works

1. Keep the always-available set small

Instead of putting every tool schema in the model’s initial context, the design reserves a small set of tools for routine use and discovery. Which tools belong in that set is an ongoing design choice: each always-on schema has a context cost, so categories that are rarely useful deserve periodic review.

#1 Best Overall
AMD Ryzen™ AI Halo - Personal AI Desktop Computer - Developer Platform - Linux OS
  • Built for Local AI Development: AMD Ryzen AI Halo is designed for local AI development and inference, featuring 128GB unified memory and support for up to 200B parameter models to build and run intensive AI workloads locally.
  • 128GB Unified Memory: Features 128GB LPDDR5x unified memory at 8000 MT/s with 256 GB/s memory bandwidth, providing a shared memory pool across the CPU, GPU, and NPU to support larger AI models.
  • AMD Ryzen AI Max+ 395 Processor: Features 16 cores, 32 threads, and Zen 5 architecture, paired with AMD Radeon 8060S integrated graphics featuring 40 RDNA 3.5 compute units and an AMD XDNA 2 NPU with up to 50 TOPS.
  • Linux AI Developer Platform: Purpose-built for Linux-based AI development with full AMD ROCm software support and preloaded tools, models, and workflows optimized for local AI development.
  • Compact, Connected Design: Includes a 2TB M.2 SSD, 10GbE LAN, Wi-Fi 7, Bluetooth 5.4, USB-C connectivity, and HDMI 2.1b.

2. Let the model search with find_tools

The assistant exposes one discovery tool, find_tools, which accepts a plain-language request. Verma’s examples include “search the web,” “remind me daily,” and “where does this project stand.” The tool returns schemas judged relevant to the query; the article says those tools can then be called in the same session, while unrelated tools remain unloaded.

3. Match categories using curated terms

Tools are organized into categories with a short summary and a keyword list. The article’s process example includes port, process, pid, address in use, eaddrinuse, kill, listener, and taskkill. The described matchCategories() checks category IDs, keywords, and tool names with word-boundary regular expressions. That helps avoid a naive substring match—for example, matching “port” inside “transport.”

This makes the index legible to the people maintaining it: they can inspect the terms and see why a category matched. It also means matching depends on the terms the team chose. A user’s paraphrase may not match if the relevant words are absent.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

4. Resolve known collisions explicitly

Keywords can point to more than one category. Verma’s example is “github notifications,” which should select the built-in GitHub inbox category rather than a connectors category. The design uses an explicit disambiguation rule for that case instead of relying on an opaque, more elaborate matcher. As the catalog grows, these rules need to be maintained alongside category terms.

Keep procedural skills separate from tools

A tool definition describes an action the assistant can call; a skill provides procedural guidance for carrying out a kind of task. In the described design, skills are Markdown procedures with frontmatter fields for name, description, and suggested-tools. A skill tool loads a skill by name, and its rendered body is capped at 8,000 characters, according to Verma’s article.

The suggested tools are hints, not compulsory calls. This separation lets the assistant load a procedure when a task warrants it without placing every instruction in the system prompt, while tool discovery independently supplies the relevant callable schemas.

Rank #2
msi Aegis R2 AI Gaming Desktop: Intel Core Ultra 9 285, Geforce RTX 5070Ti, 32GB DDR5, 2TB M.2 NVMe SSD, Air Cooling, USB Type C, VR-Ready, Window 11 Home: C2NVR9-1452US
  • Intel Core Ultra 9 285 Processor: Newly developed cores deliver ultra-smooth and responsive gameplay. AI accelerators prepare users for the next era of gaming on an AI PC.
  • Simplistic Design: Enjoy the latest generation of Windows 11 Home for your everyday needs. *MSI recommends Windows 11 Pro for business use.
  • NVIDIA GeForce RTX 5070 Ti GPU
  • Cool While Gaming: In conjunction with an RGB CPU Air Cooler, the Aegis RS features four system cooling fans; three in the front and one in the rear to pull in cool air and push heat out of the PC.
  • Turn on the Bright Lights: With the built-in RGB lighting, take your gaming experience to the next level by pressing the MSI LED button to cycle through lighting options. Customize lighting even further with MSI Center software.

Why use keywords instead of embeddings?

Verma’s stated case for curated matching is that it is predictable, synchronous, and easy to debug, with no embeddings, vector index, or extra runtime dependency. The article also says the CLI has zero runtime npm dependencies and that the matching function is easy to test with Node’s built-in test runner; it does not establish that those tests were run or provide a published match-quality benchmark.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The trade-off is coverage. Embeddings could handle more paraphrases, while hand-maintained terms can drift as tools are added or their descriptions change. Verma describes a possible improvement: generate candidate keywords from tool descriptions at build time, then review the changes rather than accepting them automatically. That retains human oversight while reducing the burden of inventing every term manually.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How this pattern compares with platform tool search

Deferred discovery is not one standardized feature. The following systems assign different responsibilities to the model, application, and runtime; their features should not be assumed interchangeable or attributed to Ankita.

System Discovery and activation Practical distinction
Ankita, as described by Verma A plain-language find_tools query returns matched schemas. Categories, keywords, names, and word-boundary matching drive selection; the tools can be used in the same session. Curated and inspectable matching, with human-maintained terms and disambiguation rules.
OpenAI Responses API OpenAI documents deferred functions, namespaces, and MCP servers. Search may be hosted or client-executed; client lookup can depend on application state such as project or tenant context. OpenAI recommends clear, high-level namespace descriptions and says fewer than ten functions per namespace is a best practice. Hosted search and application-owned lookup have different retrieval responsibilities.
Microsoft Foundry Microsoft documents deferred functions, namespaces, MCP servers, and hosted or client-executed search. For client search, the application returns complete trusted tool definitions for the tools to become callable. The application must validate the definitions it returns. The documentation page states it was last updated July 23, 2026.
Docker Agent Docker documents deferring an entire toolset or selected tools. With a fully deferred toolset, search_tool discovers tools by keyword and add_tool activates them. Docker describes fuzzy matching in which query characters occur in order in a tool name or description, without necessarily being adjacent; discovery and activation are separate steps.

OpenAI characterizes its feature this way: “Tool search allows the model to dynamically search for and load tools into the model’s context as needed.” Docker describes the goal of deferred loading as: “Load tools on-demand to speed up agent startup.” Those statements describe their respective documented systems, not Ankita’s implementation.

Sources: OpenAI tool search documentation; Microsoft Foundry tool search documentation; Docker deferred tool loading documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A practical checklist for designing deferred discovery

  • Decide which tools truly need to be available on every request; keep the initial set deliberately small.
  • Write category summaries and terms around the ways users ask for capabilities, not only internal tool names.
  • Use matching rules that are easy to inspect, and add explicit resolution for predictable category collisions.
  • Test both positive matches and near-misses, including substring traps such as port versus transport.
  • Review keyword coverage when tools or descriptions change. Treat generated candidate terms as proposals if human review matters.
  • Check whether activation requires another round trip, what schemas remain visible before discovery, and how the application validates returned definitions.
  • Review the always-on set over time; deferred tools save context only if they are not quietly reintroduced elsewhere.

The account of Ankita’s design is a software architecture explanation rather than a repository-verified implementation report. It does not establish the current code, a release version, measured savings, or the article’s publication year; treat its implementation details as Verma’s description.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.