Why Cvaluate Uses a Two-Step AI Pipeline
Extraction first, evaluation second — the architecture behind more accurate, less hallucinated CV feedback.
Marcus Feld
ML/Engineering · · 7 min read
Ask a large language model to "analyse this CV and give me a score" in one shot and you will often get confident, plausible, partially invented feedback. That is not a bug in your CV — it is a property of unconstrained generation. Cvaluate's AI CV analysis pipeline deliberately splits the problem in two: extraction then evaluation. Here is why that architecture matters if you care about accurate, actionable results.
The problem with one-shot analysis
A single prompt that says "read this PDF, compare to this job description, score 0–100, list weaknesses, rewrite bullets" overloads the model. It must parse layout, remember dates, judge fit, and write coaching advice simultaneously. When context is tight or extraction is messy, models fill gaps with predictions — skills you might have, metrics that sound right, weaknesses that read generically.
Candidates notice: "It said I lack Python, but Python is in my skills section." Usually the parser missed it or the model confabulated the gap. Single-pass systems blur those failures together.
Step one: structured extraction
The first pass treats your CV as a document to convert into data. The model — or a hybrid of PDF text extraction plus LLM cleanup — outputs structured fields: employment history with dates, education, skills, certifications, and raw bullet text per role.
Extraction is constrained with a schema: required keys, typed arrays, no free-form essay. If a field cannot be verified from the text, it is left empty rather than guessed. This mirrors how serious structured resume analysis systems in enterprise hiring work, scaled for a self-serve tool.
- Job titles and employers normalised where possible
- Dates parsed to timelines for seniority checks
- Skills collected from dedicated sections and bullet context
- Original bullet text preserved for rewrite suggestions
Step two: evaluation and feedback
The second pass never sees the PDF — it sees the extracted JSON plus your optional job description. Tasks are narrower:
- Score dimensions (parsing quality, keyword alignment, impact evidence, presentation)
- Build a requirements matrix against the JD
- Identify strengths and weaknesses with citations to specific bullets
- Propose rewrites grounded in existing achievements
Because evaluation references verified text, a suggested rewrite starts from a real bullet, not an imagined career. Missing requirements are gaps between JD and extracted skills — not hallucinated omissions.
Why separation reduces hallucination
Grounding is the key idea: downstream answers must cite upstream facts. If extraction says no degree field was found, evaluation cannot claim you lack a degree it never saw — it flags parsing risk instead. If extraction captured "Tableau" in a bullet, evaluation cannot say you lack data visualisation tools unless the JD requires something beyond Tableau.
Validation layers catch schema drift: retries if JSON is malformed, temperature kept low for scoring, rubrics spelled out in the prompt so "good" means the same thing run to run. This is the same family of techniques described in our engineering post on building analysers that do not hallucinate — applied here as methodology, not marketing.
Trade-offs we accept
Two steps cost more engineering and some extra latency. Extraction errors still propagate — garbage in, garbage out — which is why we invest heavily in PDF text quality first. Highly creative CV formats may extract imperfectly; we surface that as a parsing warning rather than silently scoring bad data.
The alternative — one pretty paragraph from a single prompt — is faster to build and worse to trust. Job seekers making application decisions deserve instrumentation, not vibes.
How grounding changes rewrites
Extracted bullet: Managed client relationships and delivered projects on time.
Grounded rewrite: Managed 12 enterprise client accounts (£2.1M ARR); delivered 9/10 projects on schedule, averaging 4 days ahead of milestone dates.
The rewrite adds specificity the model inferred as plausible upgrades — but Cvaluate's pipeline instructs the model to flag placeholders ("add revenue figure if known") rather than invent client counts from nothing. Honest feedback beats fictional metrics.
What you should take away
When choosing an AI CV tool, ask whether feedback is grounded or generated. Tools that echo your content back with structure are analysing; tools that tell you things you never wrote are guessing. The two step LLM pattern is how we keep Cvaluate in the first category.
Where to go next
Understand the machinery in how LLMs read a résumé. For the hiring landscape, see AI in hiring and your job search. Compare eras in old-school ATS vs modern AI screening. Experience the pipeline yourself — run your CV through Cvaluate's free analysis.
Frequently asked questions
- What is a two-step AI CV analysis pipeline?
- It is an architecture where one model pass extracts structured data from your CV (roles, skills, dates) and a second pass evaluates that data against a job description to score, gap-analyse, and suggest rewrites.
- Why not use one LLM call for everything?
- Combined prompts ask the model to read, remember, judge, and generate at once — increasing hallucination risk and making errors hard to trace. Separation constrains each step.
- Does two-step analysis take longer?
- Two calls add latency, but each call is narrower and can use a faster model for extraction and a stronger model for evaluation. Parallel caching keeps total time under a minute.
- How does this help job seekers?
- You get feedback tied to what is actually in your CV. Rewrites reference real bullets; missing skills are gaps against the JD, not inventions.
See how your CV scores — free
Try the two-step pipeline on your own CV — structured extraction, scored evaluation, and line-by-line rewrites free.
Analyse my CVFree to try · Sign in in one click · No credit card