ConceptIntermediateModel Fluency & the AI PM Role / AI PM role variants: platform, applied, infra, research / #13

How does the AI PM role differ at a company that trains its own models versus one that calls an API?

TRACE · what genuinely splits the AI PM job, tested on a local-language refund bug at Coracle

Coracle sells a customer-support chat box that answers online shoppers in their own language, and ships it two ways: a model it fine-tunes itself, and a thin layer over someone else's API. Ferelith Hawksmoor owns both tiers. This is the six weeks she learned those are not two versions of the same job.

The direct answer
The job doesn't get lighter just because a company calls an API instead of training its own model. What changes is who controls the fix and whose clock it runs on: a trains-its-own-model PM owns data curation and training-run decisions on a fixed infra cost and their own deprecation schedule, while an API-calling PM owns prompt, integration, and vendor-relationship decisions on a variable per-call cost and someone else's deprecation schedule. Ask one question to tell them apart: when a quality regression hits, who has to be in the room, and do they open a training pipeline or a vendor's status page.
Do this, in order
  1. Judge the role by who controls the fix and whose clock it runs on, not by "trains its own model" vs "calls an API."Why: that's the one axis that actually predicts a PM's week, not the label on the company's stack.
  2. Ask, for any AI PM role: when quality breaks, who's in the room, and what do they reach for.Why: this single evidence-test question separates a training-data decision from a prompt-and-vendor decision faster than any resume line.
  3. Map the day-to-day by responsibility type, not job title.Why: data curation and training-run work versus prompt, integration, and vendor-relationship work is the real split, and both are genuine AI PM work.
  4. Never treat the API-calling role as the easy one.Why: that PM still decides which provider, which model version, and what happens when a provider's dialect handling drifts, real model-behavior calls.
  5. Price the two roles' risk differently: fixed cost and your own roadmap, versus variable cost and someone else's roadmap.Why: a trains-its-own-model team schedules its own retraining; an API team can get an unplanned migration forced on it by a vendor's changelog.
  6. Leave the actual quality bar alone.Why: both roles ship against the same kind of threshold and eval set; the difference is only who moves the needle, and how fast they're allowed to.

How to answer this, stage by stage

Nobody is grading whether you can define "trains its own model." They're grading whether you can say, out loud, what that actually changes about a Tuesday.

1
Scope it to one company, one regression
Say it like this
"Let's ground this in one real company. Coracle sells local-language customer support chat to online sellers across Southeast Asia. It ships two ways: Coracle Core, a model it fine-tunes and hosts itself, for its biggest sellers, and Coracle Flash, a thin layer over a third-party API, for smaller ones. Ferelith Hawksmoor owns both."
Why this works
Naming one real setup stops "how does the role differ" from turning into a debate about job titles in the abstract.
2
Say your structure out loud
Say it like this
"I'll run this as TRACE. Timeline: track the same kind of regression at each tier and watch how differently her job unfolds. Recut: slice her actual week by responsibility type, not by the surface label. Assume nothing: don't assume the API tier is the lighter job. Cause candidates: the real axes that separate them. Evidence test: the one question that tells you which room you're in."
Why this works
Two seconds of structure tells the interviewer you have a method, not a hot take you walked in with.
3
Reframe the question
Say it like this
"This isn't really 'which company has the harder AI PM job.' It's 'when the same kind of model failure hits, who controls the fix, and whose clock does that fix run on.' That's the axis that actually splits the role, not whether the company owns a GPU cluster."
Why this works
This line is the whole answer in miniature. Skip it and the rest sounds like a comparison of job titles.
4
Give the decision, committed
Say it like this
"So here's what I'd actually say. Owning the model doesn't make the job harder, and calling an API doesn't make it lighter. It changes who's in the room and what they reach for: a trains-its-own-model PM reaches for a fine-tuning set and a retrain button, an API-calling PM reaches for a prompt diff and a vendor's changelog."
Why this works
This is the direct answer to the question, said out loud before a single job title gets discussed.
5
Prove it with the real case, numbers first
Say it like this
"Here's what actually happened. Both tiers serve chats in Aduna, a regional dialect. Over the same six weeks, wrong-refund replies in Aduna went from 2% to 14% on Core, and from 2% to 11% almost overnight on Flash. Company-wide the number barely moved, 1.8% to 2.6%, because Aduna is a small slice. Ferelith's Core fix took nineteen days: new training examples, a retrain, a re-eval. Her Flash fix took one day: pin the old model version, patch the prompt."
Why this works
Two real numbers, on two different clocks, beat any description of which job sounds more technical.
6
Name the evidence test before the interviewer does
Say it like this
"The question that actually separates the two isn't 'who's more technical.' It's: when this breaks, who has to be in the room, and what tool are they reaching for. On Core, that's Ferelith and a data lead, staring at a training set. On Flash, that's Ferelith and a vendor's support queue, staring at a changelog she doesn't control."
Why this works
Naming the test yourself is stronger than waiting for the interviewer to force it out of you.
7
Say what stays the same, then close
Say it like this
"One thing that doesn't change: the actual bar for shipping. Both tiers still ship against a threshold on an eval set, never a promise that it's always right. So: the substance of the role changes with who trains the model. The rigor doesn't. Judge a candidate by whether they've stood in one of those rooms, either one, not by which one sounds more impressive on a resume."
Why this works
Naming a constant shows judgment, and the close restates the decision in one line.

Let's learn

For ten months, Ferelith watched one number on both of Coracle's tiers: how often the chat box gave a wrong answer about a refund. It stayed under 2 in 100. Good enough that Coracle promised its biggest sellers a 97% accuracy floor, and kept it without much drama.

Hand sketched comparison diagram titled Two tiers, one regression. Left panel, a gauge icon labeled Coracle Core, caption self-hosted model, trained in house. Right panel, a question mark icon labeled Coracle Flash, caption thin layer over a third party API.
Coracle Core fine-tunes and hosts its own model. Coracle Flash wraps a third-party API. Same chat box, from the outside, to a shopper.

Then, in the same six weeks, both tiers picked up the same kind of mistake at once, for two completely different reasons. Company-wide, the number barely moved: 1.8% wrong to 2.6% wrong. Nobody on the leadership team blinked at that. But Coracle serves eleven languages and dialects, and one of them, Aduna, spoken by a small slice of southern sellers, told a different story. Wrong-refund replies in Aduna climbed from 2% to 14% on Core, and jumped from 2% to 11% almost overnight on Flash.

Wrong-refund replies to Aduna-dialect chats, six weeks, Core vs Flash
15% 10% 5% 0 14% 11% Wk 0 Wk 2 Wk 4 Wk 6
Core, gradual climbFlash, overnight jump in week 2
Company-wide the number barely moved. Sliced to just Aduna, both tiers cratered, in shapes that point at completely different causes.
The extra wrong replies were never the real problem. The real problem was which decision Ferelith personally had to make, and how fast she was allowed to make it.

On Core, she spent nineteen days finding four hundred real Aduna refund chats, checking them by hand, folding them back into the training set, retraining, and re-running the eval before she trusted the fix enough to ship it. On Flash, she spent one day: pin the model back to the version from two weeks earlier, and patch the prompt to spell out the refund rule in plain language.

Knowledge spark: what is model version pinning? A provider ships new model versions on its own schedule, sometimes without much warning. Pinning means telling the API "always use version 4.2," so an update never reaches you until you choose it. It buys you time. It also means you're now the one who has to notice when that pinned version gets retired.

What it costs at its worst: Coracle's biggest Aduna-speaking seller, a phone-repair marketplace, nearly lost its storefront rating over those nineteen days, because eleven wrongly denied refunds turned into public complaints before anyone thought to escalate past the chat box. On Flash, the quick patch held for three months. Then the vendor announced it was retiring the pinned model version, on sixty days' notice Ferelith had no say in, and she lost eleven more days to an unplanned second migration.

The choice I would take back Coracle ran both tiers off one dashboard and one on-call playbook: check the eval set, retrain if it's below bar. That was fine while both tiers behaved the same. It stopped being fine the day one regression needed a data scientist and a training run, and the other needed a phone call to a vendor who owed Coracle nothing.

What I would leave alone: the chat widget itself, the box a shopper actually types into, and the handoff to a real person when the bot gives up. Both are identical no matter which tier answers, on purpose, because a shopper should never be able to tell which one they got.

The lesson: training your own model and calling someone else's aren't two difficulty settings on the same job. They're two different jobs that happen to share a title. Staff, page, and interview for the one you're actually running, not the one that sounds more technical on a slide.

Now here is the same thing as a story

Say the short version out loud in an interview. Read this one when you want to feel exactly how two rooms can hold the same bug and demand two completely different afternoons.

Ferelith Hawksmoor has run product at Coracle for three years, and before that she spent four years doing localization QA by hand, reading machine-translated support tickets in eleven languages and marking which ones would embarrass the company if a shopper ever saw them. She can tell a genuinely wrong answer from an oddly-phrased right one in about the time it takes to read one sentence.

She built Coracle's two-tier structure herself, eighteen months ago. Core for the sellers big enough to want a model trained on their own return policies and product names. Flash for the sellers who just needed something live by Friday. For most of that year and a half, the two tiers behaved so much alike that Ferelith ran one weekly review for both: pull the eval scores, glance at the wrong-refund rate, ship a fix if either one dipped below bar. It worked well enough that she stopped splitting her attention between them. One dashboard, one Tuesday-morning half hour, done.

Then, over six weeks in the spring, the wrong-refund rate on both tiers started climbing, and Ferelith's first instinct was the one anyone would have: something in her own logging must have changed.

Hand sketched icon list titled What Ferelith ruled out first. Four rows. One, company wide rate barely moved, 1.8 to 2.6 percent. Two, support ticket volume stayed flat all six weeks. Three, neither team's logging or language tags had changed. Four, this row emphasized in red orange, Aduna chats alone had cratered, hidden inside the average.
None of the easy explanations held up. That's exactly what made the real one worth digging for.

It hadn't. She checked the language tags, checked the ticket volume, flat, checked whether some new hire had touched the eval pipeline. Nothing. The company-wide number was barely worth a Tuesday meeting, up from 1.8% to 2.6%. It was a support lead, forwarding three angry emails from one Aduna-speaking seller, that made Ferelith slice the number by language instead of trusting the average. Aduna alone: 14% wrong on Core, 11% wrong on Flash. Hidden entirely inside a number that looked almost fine.

Hand sketched horizontal timeline titled Six weeks, two different curves. Four milestones. Baseline, caption Aduna errors 2 percent. Core trims its data, caption week 2, looked cheaper. Flash gets v.2, caption week 2, vendor update. It cracks open, this milestone emphasized in red orange, caption week 6, 14 percent versus 11 percent.
Two things shipped in the same week, and both were described, honestly, as improvements.

She opened Core's training pipeline first, the way she always had. What she found took her by surprise: three months earlier, to cut a rising GPU bill, an engineer had trimmed the fine-tuning set, dropping older, rarely-used examples to shrink the retrain time. Buried in the cut: most of Coracle's Aduna refund examples, a small, unevenly-labeled corner of the data nobody had flagged as load-bearing. The model hadn't broken. It had quietly forgotten something it used to know, one merchant onboarding wave at a time.

Flash told a completely different story, and it took a day to find, not three months. The vendor's release notes for that week said, in exactly these words, "improved reasoning and multilingual handling." It was a real update, and by every metric Coracle didn't track, probably a genuine one. It also, for reasons the vendor never fully explained, made Flash worse at exactly one thing: telling a valid Aduna refund complaint from a scam attempt, a distinction that hinges on two words that sound almost identical in that dialect.

We did not get one bug. We got two bugs wearing the same symptom, and Ferelith needed a completely different toolkit for each one.

Here's what I mean by two different toolkits. To fix Core, she needed a data lead, four hundred real chats, and nineteen days she had to defend in a planning meeting. To fix Flash, she needed a vendor support contact and one afternoon, and the fix she shipped that afternoon was the rougher of the two: an older model version, not a corrected one, held together by a prompt patch until the vendor could explain what changed.

Hand sketched full page metaphor scene titled Whose hand is on the dial. Left panel, a gauge icon labeled Own the data, caption trains its own model, calibrates the dial itself. Right panel, a question mark icon labeled Ask someone else, caption calls an API, has to request the change.
On Core, Ferelith could turn the dial herself. On Flash, she had to ask, and wait for someone else's answer.

I want to say the real story is that the Flash fix was cheap and the Core fix was expensive. It wasn't really about cost. Ferelith never had a single number that told her these were different kinds of problems. She had a feeling: on Core, the fix lived inside Coracle's own walls. On Flash, the fix lived on someone else's calendar. Two settings. No dial between them.

The decision she'd take back sat in a planning meeting eighteen months earlier, the one where she built one dashboard and one on-call playbook for both tiers, because at launch they behaved identically and splitting the review felt like busywork. It made sense then. A tier is a tier, she remembers thinking, until it very much isn't one.

Run the same six weeks again, with two playbooks instead of one. Core's still slow, because a training-data problem is always going to be slow: nineteen days, no faster, because a rushed retrain is how you trade one bad regression for a different one. But Flash gets caught in three days instead of six weeks, because a second, smaller dashboard tracks provider release notes against Coracle's own eval set every time the vendor ships anything, and "improved reasoning" stops being a claim anyone takes on faith.

What I'd tell myself, back in that first planning meeting: I built two products that would only ever look the same until the day they didn't, and I picked a review process that assumed they always would.

TRACE, run twice on the same bug

Not a way to prove owning the model is harder. TRACE is what forces you to name what actually splits two jobs wearing the same title, instead of guessing from the label on the company's stack.

TTimeline. Track the incident at each kind of company.
On Core, the trigger was invisible for three months: a routine-looking cost cut quietly thinned the training data, and the model drifted with each new onboarding wave. On Flash, the trigger was a single Tuesday: the vendor shipped v.2, called it an improvement, and the failure mode changed overnight. Same six weeks, same dialect, two different shapes of clock.
The Core regression started three months before anyone noticed it. The Flash regression started, and finished starting, in one release.
RRecut. Slice the role by responsibility type, not by the label.
Not "trains its own model" versus "calls an API." What Ferelith actually decides. On Core, her real week is data curation and training-run decisions: which chats go in the fine-tuning set, when a retrain is worth the compute, when an eval score is good enough to ship. On Flash, her real week is prompt, integration, and vendor-relationship decisions: which provider, which model version, how the fallback behaves when this provider's dialect handling drifts.
This is the cut that actually separates the two jobs. The label on the company's stack does not.
Hand sketched icon list titled Four reasons, two real causes. Four rows. One, bad luck, one rough patch of chats. Two, Coracle's own logging quietly changed. Three, this row emphasized in green, Core's training set lost its Aduna refund examples. Four, this row emphasized in red orange, Flash's vendor shipped a new model version overnight.
Two of the four reasons were dead ends. The other two needed completely different fixes.
AAssume nothing. Don't let "calls an API" mean lighter.
Flash still made Ferelith own real model-behavior decisions: which provider Coracle trusts with an Aduna-speaking shopper's refund, which version of that provider's model is live, and what the chat box falls back to the moment this provider's dialect handling drifts again. None of that disappears just because nobody at Coracle trains the model.
Rule out the easy read before the hard one: "lighter job" is a guess about the label, not a fact about the decisions.
CCause candidates. Name the real axes.
Who controls the fix: Core needs a training-data or fine-tuning decision, Flash needs a prompt or provider-switch decision. Cost structure: Core carries a fixed training and hosting cost win or lose that week, Flash carries a variable per-call cost that moves with every chat. Deprecation risk: Core answers to its own roadmap, Flash answers to the vendor's, on the vendor's sixty-day notice.
All three are real. Naming all three, instead of picking the one that sounds most dramatic, is what makes the pick defensible.
Days from detection to a shipped fix, by tier and cause
20 d 10 d 0 19 Core: retrain 1 Flash: first patch 11 Flash: forced migration
Core, training-data fixFlash, quick prompt patchFlash, vendor-forced migration
Flash's first fix was fast and rough. Three months later, a deprecation notice Ferelith never chose cost her nearly as many days as the Core retrain did.
EEvidence test. The one question that separates them.
When a quality regression hits, who has to be in the room, and what do they reach for. Core: Ferelith and a data lead, reaching for a training set. Flash: Ferelith and a vendor's support queue, reaching for a changelog she does not control.
This is the strongest move in the whole framework. It's checkable against what actually happened, not a guess about which job sounds harder.
Hand sketched decision tree titled Who's in the room when it breaks. Root box reads An Aduna refund reply goes wrong, branching into two conditions. It's the Core tier leads to Ferelith plus a data lead, open the training set. It's the Flash tier leads to Ferelith plus the vendor, open a support ticket.
One question, two very different answers. That's the whole evidence test in one picture.

Three things worth saying plainly, since interviewers push here. Ferelith considered a second option before splitting the playbook: hire a dedicated vendor-relationship PM to own Flash full time, separate from whoever owns Core. She rejected it, because the two jobs still need the same eval set and the same definition of "wrong," and splitting them fully just moves the coordination problem instead of solving it. The AI-specific failure worth naming by name is silent model-version drift: a provider ships an update it calls an improvement, and the failure only shows up on a language or segment small enough to hide inside the aggregate. The guardrail is unglamorous: diff any new model version against your own eval set, by segment, before you let it serve real traffic, never trust a vendor's changelog as the eval. And the trade-off is real and accepted on purpose: Flash's same-day fix used the rougher tool, an older model version patched with a prompt, not a properly corrected one, because a fix that ships that afternoon beats a perfect one that ships in three weeks while shoppers keep getting denied refunds they're owed.

And if you want to be sure it really works, try it somewhere else

Same five letters, a livestock triage line instead of a refund chat box, and this time the thing nobody separates is a vet co-op's own model from a telehealth vendor's quiet cost cut.

Cloverhoof triages livestock health calls for smallholder farmers, in the farmer's own dialect, and decides whether a case waits for a morning vet visit or gets flagged urgent tonight. Ptolemy Braunfels runs product there, and hit Ferelith's exact split eleven months into the job: Cloverhoof Ground, a triage model the co-op trains and hosts itself, for the regions with the compute to support it, and Cloverhoof Relay, a thin layer over a telehealth API, for the regions that came online too recently to justify their own model.

Hand sketched comparison diagram titled Cloverhoof's own version of the same regression. Left panel, a gauge icon labeled Cloverhoof Ground, caption trains its own triage model. Right panel, a question mark icon labeled Cloverhoof Relay, caption wraps a telehealth API.
Different reading room, same shape of split. Only one of the two answers to Cloverhoof's own roadmap.

A bloat symptom, described in a regional dialect Cloverhoof serves, started getting under-triaged on both tiers within the same fortnight, sent to "wait for morning" instead of "urgent tonight." Ground's version came from six weeks of new dialect audio slowly diluting an already-thin fine-tuning set. Relay's version came from the telehealth API's provider swapping in a cheaper, faster default model to cut its own costs, a change it announced as a "speed improvement" in a release note nobody at Cloverhoof read closely.

The decision Ptolemy would take back Cloverhoof launched Relay on the vendor's default model, with no policy to review release notes before they took effect, because the pilot region needed something live inside a month. Revisiting that policy kept getting pushed to "once Ground proves itself." Ground kept proving itself. Nobody ever came back for the policy.

Mapped onto TRACE: the timeline shows Ground drifting for six weeks and Relay breaking in one release. The recut shows the same split, data curation and training-run decisions against prompt and vendor-relationship decisions. The assumption Ptolemy had walked in with, that the co-op's own trained model was obviously the safer of the two because Cloverhoof controlled it, held up on drift speed but not on stakes, since Relay's sudden change hit more farmers per day simply because it served more regions. The cause candidates were the same three axes, reworded for livestock instead of refunds. The evidence test gave the same answer: on Ground, the vet-data lead and Ptolemy retrain; on Relay, Ptolemy and the vendor argue about a changelog.

Swap the trigger and it still runs.
Speed: an interviewer caps you at ninety seconds. Skip straight to it: the difference isn't how technical the job is, it's who controls the fix and whose clock it runs on, test that directly.
Cost: no budget to interview four backgrounds this quarter. Ask whoever's already in the room one question: last time something broke, did you open a training pipeline or a support ticket?
The model got better, for real: say Flash's vendor genuinely improves Aduna handling next quarter. The deprecation risk doesn't shrink, because Coracle still doesn't control when that model gets replaced again.

Where people run it wrong.
They treat "calls an API" as shorthand for "less technical," and stop checking what that PM actually decides.
They let a flat company-wide average retire the question of whether one segment is quietly cratering underneath it.
They fix the coordination gap by hiring a second, fully separate role, and end up with two people who can each blame the other's changelog.

How to use it live. When an interviewer asks how the AI PM job differs by company type, ask one thing back before answering: "when quality breaks, who's in the room, and what do they reach for, a retrain button or a support ticket?" That question is usually exactly what a TRACE-shaped question like this one is listening for.

Flashcards (tap any card to flip it)

1 · THE FRAMEWORK
What framework fits a question asking whether a job's substance really changes once you strip away a company's surface label?
Tap to flip
ANSWER
TRACE: timeline, recut, assume nothing, cause candidates, evidence test. Built for ruling out the obvious-sounding explanation before trusting it.
2 · THE PEOPLE
Who is this answer about?
Tap to flip
ANSWER
Ferelith Hawksmoor, who owns both of Coracle's chat tiers, and the Aduna-dialect refund bug that hit Core and Flash the same six weeks, for two different reasons.
3 · THE ASSUMPTION
What did people assume about the API-calling tier, that TRACE rules out?
Tap to flip
ANSWER
That it's the lighter, less technical job. Flash still made Ferelith own real model-behavior calls: which provider, which version, what the fallback does when it drifts.
4 · THE RECUT
How does TRACE slice the AI PM role once you recut it by responsibility type?
Tap to flip
ANSWER
Not by the "trains vs calls" label. By what Ferelith actually decides: data curation and training-run calls on Core, prompt, integration, and vendor-relationship calls on Flash.
5 · THE OLD DECISION
What decision would Ferelith take back?
Tap to flip
ANSWER
Running both tiers off one dashboard and one on-call playbook, because at launch they behaved identically. It made sense then; it stopped making sense the day one regression needed a retrain and the other needed a vendor call.
6 · THE NUMBER
Fill in the blank: Aduna wrong-refund replies went from 2% to ___ on Core over six weeks, and from 2% to ___ almost overnight on Flash.
Tap to flip
ANSWER
14% on Core. 11% on Flash. Company-wide the number barely moved, 1.8% to 2.6%, because Aduna was a small slice.
7 · THE EVIDENCE TEST
What's the one question that actually separates the two roles?
Tap to flip
ANSWER
When a quality regression hits, who has to be in the room, and what do they reach for. A training set on Core. A vendor's changelog on Flash.
8 · CROSS-PRODUCT TRANSFER
Section 4 runs TRACE again on a different product. Which one, and what's the equivalent split?
Tap to flip
ANSWER
Cloverhoof, a livestock telehealth triage line run by Ptolemy Braunfels. Cloverhoof Ground's own training data drifting, against Cloverhoof Relay's vendor quietly swapping in a cheaper default model.

Check yourself Score: 0 / 0

Multiple choice
1. Which of these is the real axis that splits the AI PM role between a company that trains its own model and one that calls an API?
  • A. How technical the PM's resume looks.
  • B. Who controls the fix, and whose clock it runs on.
  • C. How many people report to the PM.
  • D. Whether the company is a startup or a big enterprise.
Show hint
Check Stage 3 in the walkthrough, the reframe.
Show answer
B. Both roles can be genuinely technical. The real split is who owns the fix and on whose schedule that fix has to happen.
True or false
2. True or false: Ferelith's Flash-tier fix was the better fix, because it shipped in one day instead of nineteen.
  • True
  • False
Show hint
Look at the closing paragraph after the E step, on the quality and speed trade-off.
Show answer
False. The Flash fix was faster and rougher, an older model version held together by a prompt patch, not a proper correction. Speed and quality were traded, not both won for free.
Fill in the blank
3. Ferelith's Core-tier fix took ___ days. Her first Flash-tier patch took ___ day, but the vendor's later deprecation cost her ___ more days.
Show hint
Check the bar chart under the C step, "Days from detection to a shipped fix."
Show answer
19. 1. 11. Flash looked cheap for three months, until a deprecation notice Ferelith never chose came due.
Short answer, name the reversal
4. What old decision would Ferelith take back, and why did it make sense when she first made it?
Show hint
Look at the key point box titled "The choice I would take back," in Let's learn.
Show answer
Model answer: Running one dashboard and one on-call playbook for both tiers. It made sense at launch, because both tiers behaved identically then, and splitting the review felt like unnecessary overhead.
Short answer, apply it yourself
5. Think of an AI product you use that might be built on a trained-in-house model or a third-party API, you may not know which. What's one clue in how they fix a mistake that would tell you which kind of company owns it?
Show hint
Look for the difference between a fast, prompt-level patch and a slower, genuine behavior change.
Show answer
Model answer: A mistake patched within hours, but only at the config or prompt level, and the underlying behavior stays a little off, smells like an API-calling company reaching for a vendor lever. A slower fix that comes with a real, lasting behavior change smells like a company retraining its own model.
Short answer, work the logic
6. If Coracle's Flash-tier vendor had never deprecated the pinned model version at all, would the direct answer to this question change? Why or why not?
Show hint
Separate what actually happened this time from the structural claim about who controls the schedule.
Show answer
No. Whether deprecation happened this time isn't the argument. The argument is structural: an API-calling company never controls its own deprecation schedule, whether or not a given vendor happens to use that power.
Before you close the answer
Why this works
Tests whether you'll default to "API means easier" or actually name what a PM in each seat personally decides. Most candidates describe the tech stack instead of the job.
Follow-up traps
"Isn't the API-calling role obviously less senior, since there's no ML work?" Response: no, it still owns provider choice, version pinning, and fallback design, real model-behavior calls with real consequences when they're wrong.

"What if a company trains its own model but barely ever retrains it?" Response: then judge that specific team against the evidence test directly, who's in the room when it breaks. A company can hold the label "trains its own model" and still behave like an API shop if nobody actually retrains.
If pressed
The Flash-tier patch pinned Coracle to a model version the vendor only guaranteed support for sixty more days, which is exactly the deprecation clock that forced the second, eleven-day migration three months later.
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.

  • A live AI agent you actually shipped
  • A launch decision you can defend under pressure
  • An interview-ready portfolio, not more flashcards
Know more