Seems navigate_to_url and click_link would be solved with just a script running puppeteer vs having an llm craft a puppeteer script to hopefully do this simple action reliably? What is the great advantage with the llm tooling in this case?
Oh the tools are hand coded (or rather built with Claude Code) but the agent can call them to control the browser.
Imagine a prompt like this:
You are a research agent your goal is to figure out this companies tech stack:
- Company Name
Your available tools are:
- navigate_to_url: use this to load a page e.g. use google or bing to search for the company site It will return the page content as well as a list of available links
- click_link: Use this to click on a specific link on the currently open page. It will also return the current page content and any available links
A good strategy is usually to go on the companies careers page and search for technical roles.
This is a short form of what is actually written there but we use this to score leads as we are built on postgres and AWS and if a company is using those, these are very interesting relevancy signals for us.
The LLM understands arbitrary web pages and finds the correct links to click. Not for one specific page but for ANY company name that you give it.
It will always come back with a list of technologies used if available on the companies page. Regardless of how that page is structured. That level of generic understanding is simply not solveable with just some regex and curls.
Sure it is. You can use recursive methods to go through all links in a webpage and identify your terms within. wget or curl would probably work with a few piped commands for this. I'd have to go through the man pages again to come up with a working example but people have done just this for a long time now.
One might ask how you verify your LLM works as intended without a method like this already built.