How Engineers Should Research Technical Decisions in the AI Era
A six-stage process for finding reliable answers, testing critical claims, and making technical decisions you can defend
Engineers research constantly and almost never call it that.
Evaluating a library, deciding between two designs, figuring out why a system behaves the way it does, learning a technology the team just adopted, working out whether a vendor’s claim is true: all of it is research, and most of it gets done the same ad hoc way.
A search, a few tabs, an AI question, a Stack Overflow answer from 2019, and then a decision made on whatever stuck. It works often enough that nobody examines it, and it fails in ways that are hard to trace back to the process, because there was no process.
The failures are specific.
A shallow answer gets accepted because it sounded right and nothing contradicted it.
A claim from the model’s memory gets treated as documentation.
A decision gets made twice, six months apart, because nobody wrote down why it went the way it did the first time.
None of these are knowledge problems. They are process problems, and they are fixable with a workflow that takes barely more time than the ad hoc version and produces work you can actually stand behind.
This post lays out that workflow: 6 stages, what AI is genuinely good for at each, and the stage most people skip.
Why Ad Hoc Research Fails
Three failure modes account for most of it, and they are worth naming because the workflow is built to address them specifically.
The first is stopping at the first plausible answer.
Search returns something that fits, and the search ends, because the feeling of having found an answer is indistinguishable from the feeling of having found the right one.
The second answer, the one that would have complicated the picture, never gets looked for. This is efficient right up until the first answer was wrong or outdated, and by then it is in the design.
The second is confusing recall with sourcing.
An AI tool asked a technical question answers from its training, which means it is reciting a plausible version of documentation it saw at some point, possibly several versions ago. It sounds exactly as confident when it is describing a flag that was removed two releases back as when it is describing current behavior. Treating that recall as a source is how teams end up building against APIs that do not exist.
The third is not capturing anything.
The research gets done, the decision gets made, and the reasoning evaporates.
Six months later someone asks why the system works this way, and nobody knows, so the question gets researched again from scratch, often reaching a different answer.
The work was real and the artifact was thrown away.
The Workflow
Six stages. They are not heavy, and small questions collapse several of them into a minute of work, but the structure is the same regardless of scale.
1. Frame the question against the decision it serves
Start by naming what you are actually trying to decide, not what you are trying to learn. These are different, and the difference determines everything downstream.
“How does this caching library work” is a learning question with no end. “Will this caching library hold up for our read pattern at our volume, and what does it cost us to adopt” is a decision question, and it tells you exactly what to look for and when to stop.
The first invites an unbounded tour.
The second has a finish line.
A useful prompt here:
“I need to decide [decision]. What specific questions would I need to answer to make that call well? Sort them by which ones would actually change my decision. Ignore anything that’s interesting but wouldn’t change the outcome.”
The output is your research scope. Anything not on that list is a tangent, and tangents are most of what makes research take longer than it should.
2. Map the space before you commit to a path
Before going deep, get a wide, cheap view: what the options are, what the standard approaches look like, what vocabulary the domain uses, what the well-known tradeoffs are. This is the one stage where AI’s breadth is genuinely the right tool, because you are not yet asking for facts you will build on.
You are asking for a map so you know where to look.
“I’m evaluating approaches for [problem]. What are the realistic options, including ones I might not know about? For each, what is it good at, what is it bad at, and what kind of situation makes it the right pick? Don’t recommend one. Flag anything you’re uncertain about or that may have changed recently.”
Treat every specific in the output as a lead, not a finding.
The value here is the shape of the space and the names of things you did not know to search for.
The names are the point: half of research difficulty is not knowing the term that leads to the good sources, and this is the cheapest way to get it.
3. Ground everything in real sources
This is the stage that separates research from vibes.
Every claim you are going to rely on gets traced to something authoritative: the official documentation, the source code, the RFC, the changelog, the benchmark methodology. Not the model’s recollection of any of those.
The rule is simple. If a claim will shape the design, it needs a source you could show someone. If it will not shape the design, you did not need it anyway.
AI helps here in a specific and limited way: it is good at telling you where to look and at reading sources you point it at. It is not a source.
Pointing a tool at the actual documentation and asking it to answer from that is a genuinely different activity from asking it what it remembers, and only one of them is research.
Anything grounded in a document you supplied can be checked; anything grounded in recall cannot.
The version-check is worth making a reflex. Fast-moving tools change behavior between releases, and the single highest-yield question in technical research is “is this still true in the version I’m actually on?”
4. Cross-check and find the disagreements
Once you have several sources, the interesting content is where they disagree. Agreement mostly confirms what you already believed. Disagreement is where the real complication lives, and it is invisible unless you deliberately look for it.
“Here are my sources on [topic]. Where do they agree, where do they contradict each other, and where does only one of them raise something? For each disagreement, tell me whether it’s a real conflict, a difference in context or version, or the same thing described differently.”
That last distinction does most of the work. Sources conflict for boring reasons far more often than interesting ones: different versions, different workloads, different definitions of the same word.
Sorting the boring conflicts from the real ones is what turns a pile of contradictory pages into a clear picture, and it is exactly the sorting that is tedious by hand.
The disagreements that survive that sorting are the things to test.
5. Test the claim against reality
This is the stage that makes engineering research different from research in general, and it is the one that makes the whole workflow trustworthy.
At some point, you stop reading and check.
Write the 20-line spike.
Run the query against a realistic dataset. Reproduce the bug. Read the actual source of the function you are unsure about.
Time the thing you were told is fast. This does not need to be elaborate; it needs to touch reality once, on the claim your decision most depends on.
The reason this stage is non-negotiable is that documentation describes intent and reality reports behavior, and they diverge more than anyone would like.
An hour spent verifying the load-bearing claim is cheap against a design built on a claim that was true in theory, true in the docs, and false in your environment.
AI is useful for building the test quickly and useless for the result. It can write the spike in a minute. It cannot tell you what your system does, because it has never seen your system. Run it yourself and believe the output over anything you read.
6. Write down the decision and why
The stage everyone skips, and the one with the longest payoff.
When the research is done, capture the outcome in a few paragraphs: what you decided, what the real options were, what you found, what evidence you actually verified, what you are still uncertain about, and what would make you revisit it.
“Here’s my research and what I decided. Draft a short decision record: the decision, the options considered, the reasoning, the evidence I verified, the open uncertainties, and what would change my mind. Keep it factual and short. Flag anything I asserted without evidence.”
That last instruction earns its place. Asked to distinguish what you verified from what you assumed, the draft usually surfaces one or two claims you were treating as established that you never actually checked, and finding those while the work is fresh is much cheaper than finding them in an incident.
The record does not need a template or a process around it.
A short document next to the code, or a page in the team wiki, is enough. Its value is entirely in existing: it turns a decision into something the next person can understand, argue with, or revisit deliberately, instead of rediscovering by archaeology.
Where AI helps and where it doesn’t
The pattern across the 6 stages is consistent, and it is worth stating plainly because it is the whole logic of the workflow.
AI is strong at breadth: options you did not think of, vocabulary you did not have, angles you would have missed, the shape of a space you are new to.
AI is strong at reading what you give it: summarizing, cross-referencing, and comparing sources you supplied, grounded in those sources.
AI is strong at drafting: the spike, the decision record, the summary, the structure you then edit.
AI is weak as a source: its recall of documentation is confident, plausible, and undated, which is the worst possible combination for technical facts.
AI is weak at your context: it has never seen your system, your data, your constraints, or your traffic, so it cannot tell you what will happen when you run it.
AI is weak at judgment: which tradeoff matters here, what risk is acceptable, what the team can maintain. That is the decision, and it is the part that is actually yours.
Every stage above puts AI where it is strong and keeps it out of where it is weak. That is all the workflow is doing.
Scaling it down
The full 6 stages are for decisions that deserve them: adopting a dependency you will live with for years, choosing a design that is expensive to reverse, diagnosing something that keeps recurring.
Most questions do not deserve them, and running the full workflow on a question about syntax would be its own kind of malpractice.
The rule of thumb is to scale the workflow to the cost of being wrong. For a quick question, stages 1 and 3 collapse into “what am I deciding” and “check the docs,” and that is the whole thing.
For a decision you will live with, run all 6, and take stage 5 seriously.
The judgment about which mode a question deserves is itself part of the skill, and it is not a hard one: ask what it costs if this turns out wrong, and let that set the depth.
The stage that actually matters
If only one stage survives, make it stage 5. Everything else improves the odds. Verification is the thing that catches the error before it ships.
The reason is simple. Stages 1 through 4 make you better informed, and better informed is a probabilistic improvement: you are more likely to be right, and you can still be confidently wrong in a way that feels exactly like being right.
Stage 5 is categorical. Either the thing did what you expected when you ran it, or it did not. That is the only step in the workflow that can tell you your carefully-researched conclusion is false, which makes it the only one that is doing real work against the failure mode that actually hurts, which is being certain and mistaken.
The rest of the workflow is how you get to a claim worth testing.
The test is how you find out whether you were right.
An engineer who does nothing else but reliably verify the load-bearing claim before committing to it will outperform one who researches thoroughly and never checks, and it is not close.


