Watch a coding agent work and its moves look primitive: list files, search text, read a few lines, run the tests, try again. That is the point. Instead of holding the whole repo in context, the agent asks the repo questions with cheap, named commands, and follows the names the code already uses (functions, imports, routes, error strings, config keys) until the answer is localized.
Takeaways
- Code search is translation: from the user's words ("how does the app send email?") to the repo's words (send_email, smtplib, SMTP_HOST). Each search turns up the next, better search term.
- ripgrep does not understand email. It works because names in code point to dependencies, which is why Claude Code dropped embedding search for plain keyword search.
- The same pattern can reach beyond code. Give every knowledge base (memory, databases, logs) named operations to list, search and read, and agents can localize there too.
Read the full article →