I put an AI research agent next to our SDR for a week. Here is what we measured.

A 100xEngineers Cohort 7 capstone, Collaborative Intelligence brief, by Mayank Panchal. October 2026.

Summary

Our pre-sales SDR (sales development rep: the person who finds and researches new companies before the first contact) works in B2B diamonds. He spends two days a week researching companies across Google, Apollo, RapNet, trade sources and our CRM, because no single tool tells you whether a company is a diamond buyer. I built a research agent on Claude Code that drafts the full research record from public web pages, then measured it on 30 real companies in the USA and the Gulf in three ways: the SDR alone, the agent alone, and the SDR checking and completing the agent’s draft. Our SDR lead scored 56 records without knowing which way each was made. The pair won: the SDR’s time per accepted record fell from 24.7 to 9.1 minutes, and the lead accepted 92 percent of the pair’s records against 80 percent of the SDR’s own and 68 percent of the agent’s. The “likely dead end” flag, the one feature I was counting on, never fired in 37 runs.

Problem and insight

The SDR is on my team, with about five years in the diamond trade. For every company he opens Google, then Apollo, then RapNet, then IDEX or another trade source, finds the website and location, checks our CRM to see whether we already deal with them, then reads the website and trade pages to fill about 25 fields: what they sell by category (gold, natural diamonds, lab-grown diamonds, gemstones, pearls, watches, jewellery), turnover, type of customer, countries and cities, contacts with email and phone, and a short write-up. One company’s fields together are what we call a row.

Every row ends in two decisions, and they are the point of the whole exercise. The verdict: prospect, or dead end, meaning not worth contacting because it is a competitor, an account we already have, the wrong kind of business or the wrong segment. And the priority, from AAA down to E, which decides who gets called first. Ten to fifteen minutes a row, about 96 companies in his two days.

Why not just use Apollo or Clay? In a data-rich trade like software they hold nearly everything. In diamonds they do not: many targets are small family firms with a thin web presence and contacts reached through the trade, and the verdict is a trade judgment, not a database field. Does this jeweller buy natural diamonds, or only lab-grown? Is it part of a competitor group? Is it already our account under another name? That sits across four or more sources and our CRM, and no tool stitches it together.

The waste is in the dead ends. A competitor or an existing account gets the same fifteen minutes as a real prospect, and the disqualifying fact shows up at the end. Research eats the days meant for calling.

How I got here: the Collaborative Intelligence brief asks you to measure real people at work. I scored ten tasks across our departments on its criteria, and lead research won. A week of discovery with the SDR and his lead fixed the problem, its causes and five pass-or-fail conditions before any code.

Solution overview

What I used. Claude Code, run without a chat window, one company per run, on the Opus 5.5 model. The agent was allowed exactly two things, web search and reading web pages; nothing else could be called, and I tested that. Its instructions were locked before the run, so every company got the same agent. A small Python check rejects any row that misses a field, has a wrong marker, or raises a flag without a source. The Excel files and the results were built with Python; files went by email, one a day. Every build step was logged as it happened, and before anything went public a script checked that no email, phone number or CRM status was left in.

Figure 1: the trial design

Figure 1. Three ways of working, one judge who did not know which was which.

Build journey

About three weeks, starting mid-September.

Results and metrics

Way of working Rows scored Accepted by the lead SDR minutes per accepted row Agent minutes per row
Agent alone 28 19 (68%) 0 1.9
SDR alone 15 12 (80%) 24.7 0
Pair: the agent researches, the SDR checks and completes 13 12 (92%) 9.1 2.2
Pair, agent as first built (first 7 companies) 7 7 (100%) 10.0  
Pair, agent after the four fixes (last 6 companies) 6 5 (83%) 7.8  
Pair, as first scored, before the dead-end re-check 13 9 (69%) 12.1  

Why the row counts differ: the agent researched all 30 companies, the SDR did 15 alone and 15 with the agent. Two pair rows were never marked complete, so those two companies, and their agent rows, were not scored: 28 agent rows, 15 SDR rows, 13 pair rows.

Figure 2: acceptance and SDR minutes by arm

Figure 2. Solid bars: after the re-check. Dashed outline: the first scoring.

Figure 3: where the agent fails

Figure 3. The agent alone by market and by difficulty, and why the lead rejected nine rows.

Conclusion

For a trade where the tools stop short, the pair is the way to do this work. The agent drafts a row in two minutes for about 1.4 dollars, and the SDR checks it in nine minutes per accepted row instead of twenty-five, with quality held. The agent alone is not good enough, especially in the Gulf and on hard companies, and the SDR alone cannot be made faster. Dead ends still cost six minutes and the flag needs a redesign, so the next step is the SDR’s real weekly list with the CRM check built in.

Learnings and next steps

Team and roles

Solo capstone: discovery, measurement design, the build with Claude Code as my pair programmer, the file exchange and this write-up. Our SDR was the worker and our SDR lead the judge; we measured the system, never the people, and both stay unnamed on purpose.

Resources and inspirations

100xEngineers and the Collaborative Intelligence brief; Claude Code and Opus 5.5; our SDR and SDR lead, who gave me their time in a working week. If you run a sales team in a fragmented trade and want to try the same test, the repository has everything except our company list. Happy to compare notes.

@100xEngineers #0to100xEngineer