When Verification Is the Product
A skiptracing agent the team acts on without re-checking. The contact lookup is easy; the cross-verification that makes it trustworthy is the actual system.
It's easy to build an agent that returns a phone number. It's hard to build one whose output a team will act on without re-checking it. Those are different products, and the gap between them is where most agentic systems quietly fail.
The Skiptracer I own at a commercial real estate brokerage resolves the human owner behind any NYC property — often buried under layers of LLCs — by walking a waterfall across public records: NY DOS → ACRIS → IDI, scoring confidence at each hop. Pulling a candidate name or number from any single source is the trivial part. The reason the team trusts it is everything that happens between those hops.
Conflicting signals are the default, not the exception
Real-world contact data disagrees with itself. Source A says one number, source B says another, a third is stale, and the name attached to each doesn't quite match. A naive agent picks the first result or the most recent and moves on — and now it's confidently wrong, which is worse than returning nothing.
So the core of the system isn't retrieval. It's a cross-verification step that treats every candidate as a claim to be corroborated, reconciles conflicting signals, and only surfaces an answer when the evidence actually agrees. When it doesn't, the agent says so rather than guessing.
Designing for "act without re-checking"
The design target was explicit: the broker should be able to act on the output without independently verifying it. That bar changes every decision:
- Corroboration over confidence. The agent weighs agreement across sources, not the fluency of any single answer.
- Abstention is a valid output. "I can't resolve this with confidence" is a feature. A skiptracing agent that's right 70% of the time and silent the other 30% beats one that's right 85% and wrong 15% — because the 15% destroys trust in all of it.
- The verification logic is reviewable. It's not buried in a prompt. It's a step you can inspect, test, and tune as the sources change.
The general lesson
Across the agents I've shipped — from this skiptracer to the autonomous ReAct agents in a production support system — the pattern repeats: the value isn't in the model call, it's in the discipline around it. Self-correction loops, human-in-the-loop escalation for the cases that warrant it, and verification that earns the right to be trusted.
When verification is the product, you stop shipping a feature that can be right and start shipping a system people rely on. That's the line between a demo and production.