InterviewAdvancedAI Opportunity & Model Strategy / Model selection from a PM lens / #23
Defend a model choice to an engineer who prefers a different one.
BOUNDthen Piotr got a look at the benchmark
Duskfarrow Systems builds PatchWright, a coding copilot that drafts a code change from a plain-language request and hands it to an engineer to review. Desmond Achterberg is the AI PM who picked the model PatchWright runs on. Piotr Zielinski is a senior engineer on the platform team who thinks a bigger, more famous model would serve the product better.
The direct answer
Don't defend the pick with adjectives, defend it with the one number that matters: what a failed suggestion actually costs once someone has to rewrite it. On our own 300-PR golden set, the model you prefer fails to match our conventions 26 percent of the time, and rewriting those costs about a hundred and twenty five thousand dollars a month in engineer time. The model I picked fails 8 percent of the time and costs about fifty five thousand dollars a month, all in. I'm not picking the cheaper model, I'm picking the one that's cheaper because it's actually right more often, on our work, not on a public leaderboard.
Do this, in order
Build a golden set from your own real work, before comparing any two models.Why: a public benchmark never once tested whether the code matches your own conventions.
State the full cost equation out loud: token cost plus what a failed suggestion costs to fix.Why: the token bill is the visible tenth of the real cost.
Give a range on anything estimated, like rewrite time, not a single precise number.Why: false precision invites one "well, actually" that derails the whole defense.
Run your own sanity check on the number before anyone else does.Why: a huge number needs a ready explanation, not a shrug when it's questioned.
Name the one assumption that would flip your answer, if it changed.Why: shows you'd change your mind with real evidence, not that you're just defending a position.
Build a shared, standing place to log every model comparison.Why: a disagreement with nowhere shared to check the numbers becomes a private workaround instead.
How to answer this, stage by stage
Nobody is scoring whether your model choice is objectively correct. They're scoring whether you can turn "I disagree" into a number both of you can check.
Stage 1
Scope it to one real defense
Say it like this
"Let's ground this in PatchWright and the two models actually on the table. That's the defense I'd build, not a general argument about which model is smarter."
Why this works
Keeps the answer from turning into an abstract debate about model quality with nothing real underneath it.
Stage 2
Say the structure out loud
Say it like this
"I'll run this as BOUND. Break it down, the actual equation. Own the numbers, where each one comes from. Use a range, not false precision. Nail the sanity check. Direction, which assumption would flip it."
Why this works
Signals a repeatable way to defend a decision with arithmetic, not a one-off argument won by whoever talks longest.
Stage 3
Reframe: it isn't "which model is smarter," it's "what does a failed suggestion actually cost"
Say it like this
"This isn't really a question of which model is more impressive. It's a question of what happens, in dollars and hours, every time a suggestion doesn't match our own conventions and someone has to rewrite it."
Why this works
This is where a strong answer separates from a debate about which model everyone's heard of.
Stage 4
Break the equation down, out loud
Say it like this
"Total monthly cost equals output tokens times price per token, plus failed suggestions times the engineer time each one costs to rewrite. That second term is the one nobody puts on a slide."
Why this works
Stating the equation before touching a single number is what makes the rest of the defense checkable, not just asserted.
Stage 5
Own the numbers
Say it like this
"I'm assuming 3,000 output tokens and 40,000 requests a month, both from last quarter's actual usage logs. I'm assuming 12 minutes to rewrite a failed diff, based on our own PR review data. Your model fails our golden set 26 percent of the time. Mine fails it 8 percent."
Why this works
Naming where each number came from turns "I made this up to win" into "here's exactly where you can check my work."
Stage 6
Give a range, then run the sanity check
Say it like this
"Rewrite time probably runs 8 to 16 minutes depending on complexity, so your model's real monthly cost lands somewhere between about 120 and 240 thousand dollars over mine, not one precise figure. And yes, that's more than two engineers' salaries, which sounded wrong to me too, until I remembered the benchmark gap between the two models never once tested whether the code matched our conventions."
Why this works
A range keeps the number honest, and the sanity check gets ahead of the exact objection an engineer would raise first.
Stage 7
Name the direction, and the AI-specific reasoning
Say it like this
"The assumption that moves this most is rewrite time, not the fail rate itself. If your model got fine-tuned on our own PRs and its fail rate dropped to something like mine, this math changes, and I'd want to revisit it the day that happens. Until then, a higher public score doesn't tell us anything about our own codebase's conventions, and that gap is exactly where the cost is hiding."
Why this works
This is the load-bearing, AI-specific judgment: a benchmark score is an average over problems that were never your problems.
Stage 8
Close on the one line
Say it like this
"I'm not defending a preference. I'm defending a number you can check yourself against our own golden set, any time you want."
Why this works
Restates the direct answer, and hands the engineer a way to verify it instead of a reason to keep arguing.
Let's learn
Say we build a tool that writes a first draft of a code change from a plain-language request, and hands it to an engineer to review before it merges.
Before PatchWright, an engineer wrote every function by hand, about 20 minutes for a typical small change. With PatchWright, a draft comes back in under ten seconds, and an engineer reviews it instead of writing it from scratch.
The five letters, held up as one page. Own the numbers is the one most model defenses skip.
Here's the turn: the model Piotr prefers scores 91 percent on a public coding benchmark, 8 points higher than the model Desmond chose. On Duskfarrow's own 300-PR golden set, checked against their real internal conventions, it only produces a diff that passes without a rewrite 74 percent of the time. Desmond's choice, lower on the public score, passes 92 percent of the time on that same real test.
Monthly cost build-up, by model
Direct inference cost is the sliver at the bottom of each bar. Rewrite time is almost the whole thing.
At its worst, engineers spend more hours fixing a "smarter" model's suggestions than they would have spent writing the code themselves, while the monthly bill still looks small because it only ever counted the tokens.
The token bill was never the real cost. The real cost was every engineer-hour spent rewriting a diff that looked right and wasn't.
The choice I would take back
Duskfarrow never kept a shared, standing record comparing model performance on their own real work, only informal impressions from whoever tried a demo. That made sense when only one model was ever seriously considered. It stopped making sense the moment two people had two different, unverifiable opinions about which model was better.
What I would leave alone: I wouldn't build this same cost model for a low-stakes internal script generator with no real users, since a failed suggestion there costs a shrug, not an engineer's afternoon.
The lesson: a preference defended with adjectives loses to a preference defended with numbers, but only if somebody actually builds the numbers first.
Now here is the same thing as a story
The short version above is what you'd say in the room with Piotr. Read this one for what it felt like the eight months before anyone built the numbers at all.
For eight months, Desmond's model choice was uncontested. Then Piotr got a look at the benchmark.
Desmond had picked PatchWright's model after running it against a handful of sample requests during evaluation, and it had shipped clean: engineers liked the speed, and nobody complained. For months, code review caught the occasional odd suggestion and moved on, the way it always had.
The fourth step is where a public benchmark's whole promise either holds up or quietly doesn't.
Piotr, newer to the platform team, pulled up a public leaderboard during a planning meeting and pointed out that a bigger, more expensive model scored 8 points higher. "You picked the worse model because it's cheaper, not because it's better," he said, not unkindly, just plainly, in front of the team.
Knowledge spark: why would a higher benchmark score not mean a better fit?
A public coding benchmark tests generic problems with no house style behind them. A model can solve those cleanly and still write code that ignores your team's own naming conventions, error handling patterns, or internal libraries, failures a public score was never built to catch.
Desmond didn't have a ready number. He said something about "it felt more reliable in our testing," which was true and also nothing anyone could check. Piotr, unconvinced, quietly set up a personal routing wrapper that sent his own team's PatchWright requests to his preferred model instead, behind a feature flag nobody else knew existed.
Same word, two different questions, and only one of them was ever actually tested.
Two months later, a bug pattern started showing up only in PRs from Piotr's team, a specific internal error-handling convention getting silently ignored in generated code. Nobody connected it to the model until someone noticed his team's diffs looked stylistically different from everyone else's.
The wrapper wasn't dishonesty. It was the only move available with nowhere shared to actually check.
The real question was never whether Piotr's preferred model was more capable in general. It was whether Duskfarrow had ever built a way to check, on their own real work, which model actually cost less once a failed suggestion needed a human hour to fix.
Four parts, and the argument in that planning meeting had only ever touched one of them, price per token.
When PatchWright's model was first picked, someone said, "let's just go with what tested well and move fast," and it sounded reasonable, since at the time, nobody had reason to think a second opinion was coming.
What moves the cost gap most, if the assumption changes
Rewrite time, the number nobody usually estimates carefully, turns out to matter more than the fail rate itself.
Rerun the same planning meeting with the golden set and the cost equation already built: Desmond states the equation, owns the 3,000-token and 40,000-request assumptions from real usage logs, gives a range on rewrite time, and shows the $124,560-a-month gap before Piotr ever reaches for the leaderboard. The shadow wrapper never gets built, because there's already a shared place to check.
What I'd tell myself, hearing "you picked the worse model" land in that meeting: a preference with no number behind it isn't a defense, it's an invitation for someone else to build their own workaround instead.
BOUND, the defense that turns a disagreement into a numberNot a script for winning every argument with math. BOUND is what tells you exactly which number the disagreement is actually about.
B
Break it down. State the equation out loud.
Total monthly cost equals output tokens times price per token, plus failed suggestions times the engineer time each one costs to rewrite.
This is the hardest step, and the one that turns a felt disagreement into something checkable.
O
Own the numbers. State each one, and where it came from.
3,000 output tokens and 40,000 monthly requests, from real usage logs. 12 minutes to rewrite a failed diff, from PR review data. 26 percent versus 8 percent fail rate, from the 300-PR golden set.
Naming the source of each number is what makes the defense verifiable, not just confident.
U
Use a range. A low and a high, not false precision.
Rewrite time realistically runs 8 to 16 minutes, so the monthly cost gap lands between about 120 and 240 thousand dollars, not one exact figure.
A range survives the first "that number seems too precise" objection before it's even raised.
N
Nail the sanity check. Does it survive a smell test?
$124,560 a month is more than two engineers' full salaries, which sounds wrong for picking one model over another, until you remember the benchmark gap never tested our own conventions, which is exactly where the fail-rate gap comes from.
Naming the "that can't be right" reaction yourself gets there before the engineer does.
D
Direction. Which assumption would change the answer most?
Rewrite time moves the gap by about $85,000, more than fail rate itself. If the preferred model gets fine-tuned on Duskfarrow's own PRs and its fail rate drops, the whole calculation is worth rerunning.
Naming what would change your mind is what separates a real estimate from a fixed position.
The recap, one line per letter: break it down is tokens times price plus failures times rewrite time, own the numbers is stating where the 3,000 tokens and 12 minutes came from, use a range is the $120k to $240k gap instead of one number, nail the sanity check is explaining the huge total before anyone else questions it, and direction is naming rewrite time as the assumption most worth watching.
And if you want to be sure it really works, try it somewhere elseSame five letters, a textile mill instead of a codebase. The engineer disagreeing changes, the missing golden set doesn't.
Ingeborg Vasquez runs product at Cascade Mills, where ThreadScope flags likely fabric defects on the line for a quality inspector to confirm. A vendor's newer vision model scores higher on a public fabric-defect benchmark, and a process engineer wants to switch immediately. Mapped onto BOUND: break it down is cost per bolt of fabric equals inspection time saved minus the cost of a missed defect that reaches a customer. Own the numbers means pulling Cascade's own 4,000 tagged photos from their specific looms, not the vendor's demo set. Use a range covers the cost of a missed defect, which varies by fabric type. Nail the sanity check means explaining why the vendor's higher public score doesn't show up as fewer missed defects on Cascade's own looms. Direction names the one thing that would flip the pick: if the vendor's model gets tuned on Cascade's own defect photos.
Different factory floor entirely, same missing half of the comparison.
Four steps, and skipping straight to the last one is exactly what invites a shadow workaround instead.
Swap the trigger and it still runs.
Speed: an interviewer caps you at sixty seconds. Say "defend it with the cost of a failed suggestion on our own work, not a public score," and stop.
Cost: no time to build a full golden set before the meeting. Say so honestly, and bring even 30 real examples instead of zero, rather than defending with adjectives alone.
The preferred model really is better, for real: if the numbers actually favor Piotr's pick once tested on the golden set, that's the answer, and saying so out loud is what makes the whole method trustworthy instead of a way to always win.
Where people run it wrong.
They defend a model choice with confidence instead of a number the other person can check themselves.
They quote a public benchmark score as if it settles a question it was never built to test.
They let a disagreement fester with no shared place to check it, until someone builds a private workaround instead.
How to use it live. The moment an engineer prefers a different model, ask yourself: what does a wrong suggestion actually cost, in hours and dollars, on our own real work? Build that number, own where it comes from, and the rest of the defense follows on its own.
Flashcards (tap any card to flip it)
1 · THE FLIP FAMILY
What flip family is this?
Tap to flip
ANSWER
Workaround flip: unconvinced by an unbacked defense, Piotr quietly built a private routing wrapper to his preferred model instead of raising it through any shared process.
2 · THE PERSON
Who is this answer about?
Tap to flip
ANSWER
Desmond Achterberg, the AI PM at Duskfarrow Systems, who built a cost-based defense of PatchWright's model choice after Piotr Zielinski challenged it.
3 · THE HABIT
What did Desmond stop doing after the model shipped clean for months?
Tap to flip
ANSWER
He stopped keeping a ready, checkable justification for the choice, relying on "it felt more reliable" instead of a number anyone could verify.
4 · THE FLIP, IN THIS STORY
What's the two setting switch here?
Tap to flip
ANSWER
Raising a disagreement against a shared, checkable process versus building a private workaround when no shared process exists. There was no visible middle ground for Piotr to work within.
5 · THE OLD DECISION
What decision would you take back?
Tap to flip
ANSWER
Never building a shared, standing record comparing model performance on Duskfarrow's own real work, leaving every opinion about model quality unverifiable.
6 · THE NUMBER
Fill in the blank: on Duskfarrow's own golden set, Piotr's preferred model fails ___ percent of the time, versus ___ percent for the chosen model.
Tap to flip
ANSWER
26 percent versus 8 percent.
7 · THE REPLAY
Same planning meeting, cost equation already built. What changes?
Tap to flip
ANSWER
Desmond shows the $124,560-a-month gap before Piotr reaches for the leaderboard, and the shadow wrapper never gets built, since there's already a shared place to check the numbers.
8 · CROSS PRODUCT TRANSFER
Section 4 runs this again for a different product. Which one, and what stays the same?
Tap to flip
ANSWER
Cascade Mills' ThreadScope. The same missing piece stays: a public benchmark score that was never tested against the company's own real work.
Check yourself Score: 0 / 0
Multiple choice
1. Why did the model with the higher public benchmark score end up costing more overall?
A. It charged a higher price per output token, which alone explains the gap.
B. It failed to match Duskfarrow's own coding conventions much more often, and the engineer time spent rewriting those failures far outweighed the token savings.
C. Duskfarrow's engineers refused to use it out of habit.
D. It was slower to respond, which cost more in server time.
Show hint
Look at the stacked bar chart, "monthly cost build-up, by model."
Show answer
B. Direct token cost was the smaller part of the bill. Rewrite time from a much higher fail rate on real conventions was almost the whole cost.
True or false
2. True or false: this answer argues that public coding benchmarks are worthless and should never be looked at.
True
False
Show hint
Look at "swap the trigger" and what happens if the numbers actually favor Piotr's pick.
Show answer
False. The answer says to test both models on your own golden set, and to actually change your recommendation if the real numbers favor the other model.
Fill in the blank
3. Fill in the blank: varying the ___ assumption swings the monthly cost gap the most, by about $85,000, more than the fail-rate assumption itself.
Show hint
Look at the horizontal bar chart, "what moves the cost gap most."
Show answer
Rewrite time. The number most defenses never carefully estimate turns out to matter more than the headline fail-rate gap.
Short answer, where it wouldn't matter
4. Name a situation where building this full cost-comparison equation would NOT be worth the effort, and say why.
Show hint
Look at "what I would leave alone."
Show answer
Model answer: A low-stakes internal script generator with no real users. A failed suggestion there costs a shrug, not an engineer's afternoon, so the full analysis isn't worth the time it takes to build.
Short answer, apply it yourself
5. Think of a time you disagreed with a coworker about which tool or approach was better. What number, checkable by both of you, could have settled it instead of opinions?
Show hint
Think about what each side's opinion was actually a proxy for.
Show answer
Model answer: Disagreeing over two project-management tools, settled by timing how long it actually took five people to complete the same real task in each one, instead of arguing over which interface "felt" better.
Short answer, work the number
6. If Duskfarrow's monthly request volume doubled to 80,000, would the dollar gap between the two models also roughly double?
Show hint
Look at which parts of the equation scale directly with request volume.
Show answer
Model answer: Yes, roughly. Both the direct token cost and the failed-diff rewrite cost scale directly with request volume, so doubling volume should roughly double the total gap to around $250,000 a month.
Before you close the answer
Why this works
Tests whether you'll defend a model choice with a checkable number, or fall back on confidence and force the disagreement to fester into something worse, like a shadow system.
Follow-up traps
"Isn't 12 minutes to rewrite a diff just a guess?" Response: it's an estimate from real PR review data, given as a range, 8 to 16 minutes, specifically so it doesn't pretend to be more precise than it is.
"What if Piotr just doesn't believe your golden set is representative?" Response: then we grow it together, adding PRs he thinks are missing, since the point isn't to win, it's to have a number both of us trust enough to check again later.
If pressed
The golden set gets a fresh 20 PRs added every month from real merged work, specifically so a model that improves over time gets credit for it the next time this comparison runs, instead of being judged forever on one snapshot.
From U2xAI Academy
From answering questions to owning outcomes.
A live workshop where you ship a working AI agent, defend a launch decision, and walk away with a portfolio recruiters can't wave off, not just more questions to study.