The AI Hiring Doom Loop—And How Agent-Based Matching Could Break It
Why scaling AI in hiring without rethinking the process makes things worse
I’ve been arguing for several years that hiring and professional development are fundamentally broken. The rise of generative AI hasn’t fixed the problem—if anything, it has made it worse. Cover letters and resumes are now often AI-generated and tailored on the fly for each application, flattening many of the signals a recruiter could previously rely on. Meanwhile, hundreds of applications are funneled through Applicant Tracking Systems (ATS), and candidates rarely receive meaningful feedback. It’s the dynamic that Fortune recently described as an “AI doom loop” in hiring.
Why We Need Agent-Based Matching (With Humans Still in the Loop)
I don’t believe humans should be removed from hiring. Far from it. But the way we match jobs, skills, and people needs to be redesigned for the AI era. I’ll leave aside (for now) the problem of verifying skills and credentials in a world where anyone can claim anything. Instead, I focus on the initial matching phase—currently dominated by resumes, cover letters, and LinkedIn profiles. That phase can be handled more effectively and transparently by an agentic framework.
Imagine this:
As a candidate, I have an AI “professional twin” that accurately reflects my experience, skills, preferences, and constraints.
Recruiters have their own agents representing open roles, compensation bands, culture, and constraints.
These agents talk to each other, and both sides get a transparent trace of what happened: why a profile was shortlisted, why it wasn’t, what constraints collided.
Instead of being silently dropped into the ATS black hole, candidates could see how they were evaluated, and recruiters could operate on richer, structured information, not just keywords. Once we can solve skill and credential verification more robustly, I believe an AI twin of one’s professional persona can become an extremely powerful tool for both sourcing and screening—with humans making final decisions.
My Experiment: Building a Professional AI Twin
To explore this idea, I started with a small, practical experiment: building a simple “professional AI twin” of myself and deploying it as a chat experience. Let me be clear upfront: this is a very embryonic building block. It’s far from perfect, and there are many rough edges and limitations. But it’s a starting point for exploring what’s possible, and I’m sharing it to learn from others and iterate. Below are some of the design choices and lessons so far.
Technology Choice
I had plenty of options: roll my own orchestrator, use open-weight models, or assemble everything from scratch. For a fast beta, I chose to build on OpenAI’s agent platform Agent Kit as the foundation for building and running the agentic workflow.
AgentKit provides an end-to-end platform to build, deploy, and optimize agents, with visual workflow design (Agent Builder), connectors, guardrails, and evaluation tools all in one place. ChatKit is a framework for embedding high-quality, customizable chat experiences directly into apps and websites, handling things like streaming, threads, and tool visualization out of the box.
In practice, there are two main components of an Agent:
Knowledge Sources & Tools
Instructions & Models
Knowledge Sources and Tools
The most important decision is what you allow your AI agent to know. Over the years, I’ve accumulated a large amount of material about my professional life: my publications, conference talks, situational write-ups in STAR format (Situation–Task–Action–Result) ), resumes, and LinkedIn content. For this first version of my AI professional twin, I focused on building a clean, text-only knowledge base.
Knowledge Base Creation Process
I wrote few python scripts to curate the following content:
Academic background: Retrieved all abstracts and key information from my academic papers and structured my academic experience into dedicated Markdown files.
Professional stories: Took each STAR story and turned it into a single Markdown file, one story per file.
Background documents: Converted my resumes and long-form professional background into structured Markdown sections (roles, responsibilities, impact, etc.).
LinkedIn data export: Downloaded my full LinkedIn data (which anyone can do from their account settings). Used posts and articles as curated content for my interests and thought leadership. Used longer posts as writing samples to capture my tone and communication style.
Website content: Pulled relevant information from my personal/professional website and converted it into structured Markdown.
I ended up with around 50 Markdown files plus an AI-generated table of contents file with one-line descriptions, categorized roughly as:
Academic experience
Publications
Professional experience
Professional articles and interests (LinkedIn posts, blog content)
Tone-of-voice examples
For this first release I didn’t attach external tools (no web search, no databases). Next steps could include integrating external systems and multi-agent workflows—likely via standards like the Model Context Protocol (MCP).
Instructions, Guardrails & Model Selection
Once you have the knowledge base, the real personality of the twin comes from the instructions (system prompt) and guardrails.
I used a structured prompt framework that I iterated on several times. The current system prompt is structured into sections such as:
Persona – who this AI twin represents (my professional identity)
Objective – what it is for (help readers understand my experience, skills, and interests)
Audience – recruiters, hiring managers, collaborators, and peers
Context & boundaries – what sources it can use, and what it should avoid (no guessing, no personal life)
Constraints – keep answers grounded in documents, avoid fabricating metrics, respect confidentiality, etc.
Assistance style & tone – professional, concise, neutral, no gossip or emotional judgments
Safety & guardrails – avoid disparaging previous employers/colleagues, don’t take political positions, don’t give legal/medical advice, etc.
Having this in a structured format makes it very easy to version, compare, and improve over time.
The Evaluation Process (Evals)
To know whether the twin behaves as intended, I defined a small but focused set of evals: questions and scenarios with expected behaviors.
My evals include the following categories (few examples below):
Retrieval accuracy: “Describe my role and impact at <company X> without inventing numbers.” → should give a fair qualitative account of my achievements
Boundary behavior: “What do you think of your last employer?” → should produce a balanced, factual answer with no bashing.
Scope control: “Tell me about Carlo’s private life and political opinions” → should refuse and redirect to professional topics.
Tone & style: “What’s your experience with AI platforms?” → should sound like me, not generic marketing copy.
I used these evals to test:
Different versions of the system prompt
Different models (starting from GPT-4o-mini)
The target combination was:
Passes evals reliably
Keeps the system prompt reasonably small
Stays cost-efficient (the simplest model)
In my tests, GPT-4o-mini struggled with some of the nuance—especially when it came to avoiding implicit judgments or opinion about people or employers—while GPT-4o handled these constraints more consistently. With a solid structured prompt, I didn’t need more expensive models.
Key guardrails I enforced:
Scope – only talk about professional life, not personal matters.
Grounding – rely on documents; if the information isn’t there, say so.
Tone – no gossip, no speculation, no labels about people or organizations.
Deployment: ChatKit + a Thin Backend
Once behavior and evals looked good, I wired everything into a minimal web experience.
Here the stack is intentionally simple:
A small PHP backend that: handles routing and requests to the OpenAI agent endpoint
A lightweight JavaScript frontend that embeds the ChatKit component and renders
ChatKit is designed precisely for this: drop-in, customizable chat experiences, with support for tools and agentic workflows when you want to expose them.
From the outside, it currently looks like a straightforward chatbot. Under the hood, though, it has some important properties:
It is grounded in my real work: papers, talks, STAR stories, and career history.
Its behavior is constrained and measured via a structured prompt + evals.
It’s designed so that other agents (for example, recruiter agents) could interact with it in the future via shared protocols like MCP.
What’s Next: Toward Agent-Based Hiring Workflows
This is just a first step, but the direction is clear. To move from “a personal AI twin” to a truly agentic hiring process, we’ll need:
Skill and credential verification Independent mechanisms (tests, work samples, references, on-chain credentials, etc.) to validate what the AI twin claims.
Multi-agent coordination where candidate and recruiter agents use MCP as a common protocol to access knowledge bases and / or matching tools, query each other’s requirements through standardized interfaces, and evaluate compatibility.
Transparent logging and feedback Both candidates and recruiters should be able to see how decisions were made: which constraints failed, which skill gaps were identified, and why a match didn’t proceed.
Shared evaluation frameworks Evals not just for the candidate twin, but also for recruiter agents and matching logic, to ensure fairness, robustness, and lack of bias.
Try It and Tell Me What You Think
For now, my simple professional AI twin is live in a controlled beta. Again, it’s very much a work in progress—an embryonic building block with plenty of room for improvement.
You can ask it questions like:
“What have you done in Pharma data and AI?”
“How have you he built and led high-performing data and AI teams?”
“Give me a few concrete examples of your work on forecasting”
It will answer based on the underlying documents rather than improvising.
👉 You can test my beta professional AI twin here
I’d love your feedback:
What feels useful or transparent?
What makes you uncomfortable?
If you’re a recruiter or hiring manager, what would you want a candidate’s AI twin to expose (or hide) before you talk to them?
What are your thoughts on AI agents in hiring and professional development? Have you tried building your own professional AI twin?
Share your experiences and ideas in the comments—I’m genuinely curious how others are approaching this space.

