Farah Rahman had a familiar problem in Doha: a customer bug report, a midnight Slack thread, and a codebase with 1.8 million lines spread across 43 repositories. She asked an agent to trace a payment failure. The first pass chewed through so many tokens that the model lost the thread. Then returned a half-right answer dressed up with confidence.

That’s the sort of mess Semble is trying to fix. Its pitch - code search for agents that uses 98% fewer tokens than grep - sounds almost cheeky. But underneath the headline is a serious shift: code search is no longer just about finding text fast. It’s about feeding machines only the sliver of source they need. In a form they can reason over without burning budget or context.

Honestly, That matters because the old workflow was built for humans scanning terminals. Agents don’t skim. They ingest. And when they ingest poorly, every downstream action gets wobblier: patch generation, root-cause analysis, test selection, doc fixes, even security review.

Why it matters now

Laptop screen showing debugging software with code, perfect for tech and software development themes.
Fot. Daniil Komov / Pexels

Two things changed almost at once. First, teams started putting LLMs directly into engineering workflows, from IDE assistants to autonomous triage bots. Second, the cost of context got painfully visible. Make sense? Large prompts are not just expensive; they are fragile. If an agent needs to inspect a monorepo, a few bad retrieval steps can waste a whole run.

Meanwhile, search expectations have shifted. Developers still want grep-like precision, but agents need more than exact string matching. They need semantic narrowing, symbol-aware grouping, and enough structure to avoid hallucinating from irrelevant snippets. Semble sits right in that gap.

The core idea: search for the model, not just the engineer

A close-up of a laptop displaying code in a dimly lit room with a coffee mug nearby.
Fot. Daniil Komov / Pexels

Traditional grep is brilliant at one thing: matching text. It is also brutally literal. If your bug is expressed by a renamed function, a generated file, or a symbol that lives in five wrappers, grep can be blind unless the human knows the right needle to punch in.

Code search for agents should behave differently. It should reduce a huge repository into compact, high-signal evidence. That means ranking by likely relevance. Returning surrounding structure, and trimming out repeated boilerplate that a human eye might ignore but a model will happily waste tokens on.

The deeper point is that tokens are now a scarce engineering resource. Not abstractly. Literally. Every extra file chunk you feed an agent can change latency, cost, and answer quality. That is why a tool claiming 98% fewer tokens than grep is interesting: not because grep is bad, but because grep was never designed as an LLM diet plan.

In practice, a better system for agentic code search usually does a few things well:

If a model cannot explain why it picked a file, you probably do not trust it enough to edit that file.

There’s also a subtle ergonomics gain. Humans use search to orient themselves. Agents use search to generate action. Those are not the same task. A developer can glance at 12 noisy hits and still know where to go. An agent. By contrast, can confidently propagate the wrong assumption through an entire patch if the retrieval layer is sloppy.

Semble’s claim about token reduction should therefore be read as a proxy for something bigger: better retrieval hygiene. Less noise means less hallucination surface. Less noise also means more room for the model to see the actual invariants in the code. Which is where useful changes come from.

What this looks like in practice

Laptop displaying code with reflection, perfect for tech and programming themes.
Fot. Christina Morillo / Pexels

Kenji Silva, a data analyst in Krakow, Poland, was helping his team debug a pricing pipeline that touched 14 services and 9 SQL models. A conventional search pulled 311 matches for one error string. A token-aware search workflow narrowed the working set to 18 snippets and cut the agent’s prompt size by 91%. He said the first useful diagnosis arrived in 4 minutes instead of 29.

Rina Popescu, an operations lead in Tallinn, Estonia, used an agent to inspect incident playbooks across 6 internal repos. The agent had been repeatedly confused by templated markdown and duplicated runbooks. Once her team switched to a code-search layer that deduplicated boilerplate, the bot’s false escalations dropped from 17 in a week to 3, and the on-call team stopped ignoring half its alerts.

Farah Rahman, back in Doha, ran a pilot on a payment service with 248 test failures over a month. Her team asked an agent to cluster failures by root cause. With a better search layer, the agent grouped 193 of them into 5 patterns and surfaced the exact file paths that changed. That did not remove human judgment. It did remove a lot of blind rummaging.

Common mistakes to avoid

Close-up of JavaScript code on a laptop screen, showcasing programming in progress.
Fot. Markus Winkler / Pexels

A practical checklist

A laptop screen shows a coding application with a calculator design in a tech office setting.
Fot. Eduardo Rosas / Pexels
  1. Start with one painful workflow. Pick a task like bug triage, test failure analysis, or dependency tracing. Do not boil the ocean before you know which search pain matters most.

  2. Measure prompt size before and after. Track input tokens, output quality, and time to first usable answer. If you cannot name the baseline, you cannot prove improvement.

  3. Log why each snippet was returned. Keep the file path, symbol, and relevance signal. Debuggability matters when a model makes a weird jump.

  4. Strip dead weight early. Exclude vendored directories, build artefacts, and duplicated generated files. This is cheap and often pays off immediately.

  5. Prefer structured retrieval over raw text dumps. Give the agent a compact package: symbol name, surrounding lines, and dependency hints. That usually beats pasting whole files.

  6. Test with ugly queries. Try renamed functions, partial error messages, and vague descriptions like “the checkout thing breaks after retry.” Real agents see mess, not perfect keywords.

  7. Compare against grep honestly. grep still wins for many human tasks. See where the new search helps an agent and where the old tool remains faster and simpler.

  8. Watch for false confidence. If the agent becomes more fluent but less accurate, tighten retrieval and require citations back to the source spans.

When NOT to do this

Not every team needs an agent-first search layer. If your repo is small, your stack is tidy, and your tasks are mostly human-driven, grep plus a decent IDE search may be enough. Fancy retrieval can become theatre when the real bottleneck is understanding the product, not locating the file.

It is also the wrong move if you do not have enough operational discipline to evaluate outputs. A token-efficient search engine can make experiments cheaper, which is nice, but it can also make bad agent behaviour cheaper. If nobody is reviewing retrieval quality, you may just automate confusion at lower cost.

Where to learn more

Fwiw, The interesting part of Semble is not the marketing number, even if 98% fewer tokens is a nice headline. It is the hint that code search is being rebuilt for machine readers first, human readers second, and that change will reshape how teams debug, patch, and automate their software. The question is no longer whether agents can search code - it is whether your search layer is helping them think clearly or just feeding them more noise.