Ask a chatbot to screen a CV and it will tell you, eloquently, how it would screen a CV. Ask an agent, and it opens the CV, reads it against the actual job requirements, scores it, writes the result back into your ATS, and flags the three borderline cases for you to look at. One produces words. The other produces work.
That's the whole distinction, and it's worth holding onto because the industry is doing its level best to blur it.
A chatbot answers. An agent acts. Everything else is just how.
A chatbot lives inside the conversation. It is a very good talker that knows nothing about your business, can't touch your systems, and forgets you the moment you close the tab. An agent is the opposite: it's the junior teammate who finishes the job. You hand it a task, it goes away, it does the actual steps, and it comes back with something done, not something described.
You don't need to build either one by hand. You do need to know which one you're being sold. The price tags are converging fast. The value isn't.
Strip away the marketing and a real agent is four things bolted together. Miss one and you've got a costume, not a colleague.
At the centre is a large language model: the part that reads, weighs things up, and decides. It's good at the messy, human-shaped judgement recruitment is full of (is "led a team of five" the same as "management experience"?) and useless at the stuff you'd hand a calculator. On its own it's a brilliant brain in a jar. It can think. It can't lift a finger.
Tools are what let the brain touch the world. A tool is just one action you've given the agent permission to take: fetch this candidate from Bullhorn. Write this score back. Send this CV to the client. Small, named, with clear edges. The LLM decides which one to use and when; the tool does the actual deed. That's the line between answering and acting. Tools are the hands the chatbot doesn't have.
Left alone, an LLM answers from memory, and its memory is the internet as of its training date, topped up with confident invention whenever it's unsure. Fine for a poem. A disaster for a placement. RAG (retrieval-augmented generation, and you can forget the phrase the second you've read it) is the fix. Before the model answers, you feed it the real documents. The actual CV. The actual job spec. Your own formatting rules. It reasons over those, not over a half-remembered impression of them. Real facts in, grounded answers out.
The fourth part is what turns the other three from a pile of parts into something that works a problem. It's a loop, and it has a slightly clumsy name (ReAct, for reason-and-act) but the rhythm underneath it is one you'll recognise from any competent person doing any real task:
Reason → Act → Observe, and around again.
The agent works out what to do next. It does one thing. It looks at what happened. Then it thinks again, now holding the result, and keeps going until the job's done. No giant leap to an answer. A run of small, checkable steps, each one shaped by the last.
In rough shape, screening a single CV looks like this (this is illustrative, not the real code, which we build step by step later):
REASON: I need the candidate's CV before I can score it.
ACT: get_candidate_cv(id: 88213) // a tool call
OBSERVE: CV text returned, 2 pages.
REASON: Now I need the job's real requirements to score against.
ACT: get_job_requirements(job: 4471) // a tool call
OBSERVE: 6 must-haves, 3 nice-to-haves returned.
REASON: I have both. Score the CV against the requirements,
and show my working so a human can check it.
ACT: write_score(id: 88213, score: 72, reasoning: "...")
OBSERVE: Saved. Score 72/100, two requirements unmet.
DONE: Borderline — flag for a human to review.Notice what makes that trustworthy: every step is visible. You can read why it scored 72, which tools it touched, and where it decided to hand back to you. That visible reasoning isn't a nice-to-have. In a regulated, consequential business like recruitment, it's the difference between a tool you can defend and one you can't. (Ask Amazon, whose 2018 recruiting tool quietly taught itself to penalise CVs containing women-associated words. Because no one could see it reasoning, the bias surfaced only after the fact, and Amazon scrapped the entire tool rather than ship something it couldn't trust. Visible reasoning is how you catch that early, and fix it, instead of binning the whole thing.)
Download the full PDF for free?