Writing with AI: the professional workflow
Writing with AI is not a prompt, it is five stations: brief, draft, fact pass, voice pass, publish. What professionals do differently is not writing a better prompt; it is that at each station everyone knows whether the decision belongs to a person or to the model.
- Lesson 6 of 8
- Intermediate
- Free, no signup
Five stations, and who owns each
The order of the stations is fixed. What changes is whether the decision at each one belongs to a person or to the model.
-
1
Brief
Human. The reader, what they should be able to do, the allowed sources, and what only you know.
-
2
Draft
The model. Assembling and rearranging, under negative constraints and with the seams marked.
-
3
Fact pass
Human, tool assisted. Every claim is tied to a sentence from a closed source pack, or it goes.
-
4
Voice pass
Shared. Rhythm, cutting the empty opening, adding first-hand experience. No new claims here.
-
5
Publish
Human. One named person stands behind the accuracy, and the checked date goes on the page.
This order says nothing about duration. On a short text all five stations may take twenty minutes and on a technical guide several days, and the proportions are not fixed either.
Last checked: Facts and tool names in this lesson are re-checked against their sources on this date.
Which part of the job is the model and which is you
Every text written with AI passes through five stations, whether you name them or not: brief, draft, fact pass, voice pass, publish. Where it goes wrong is almost always the third one, and the reason is not technical: nobody owns it. The model assumes you will check, you assume that fluent means correct, and neither assumption is written down anywhere a person would read it.
So the first thing a professional workflow does is not produce a better output. It gives every station an owner. Two of them never leave human hands at any price: deciding what is worth saying, and deciding what is true. Two others, assembling and rearranging, are what the model is genuinely good at. The voice station is shared, and most of your time goes there.
That division has one consequence that runs against instinct: the cleaner the draft, the harder the fact pass. A text written confidently and without seams does not show you where to look, so you have to read all of it at one uniform level of suspicion, which in practice means reading none of it. That is why at the second station we deliberately ask the model to leave its seams showing.
One boundary is worth stating up front: this workflow is about assistance, not bulk production. We looked at the difference against the text of Google's own policies in the lesson on AI content and SEO, and the position here is the same one: assisted and verified gets published and stays, bulk and unchecked gets published and dies.

What you hand the model and what you never do
Never hand over
- the decision about what is worth saying
- the decision about what is true
- a contract, a price, or a client's unpublished data
- the last word on anything your name will sit under
Hand over
- ordering and rearranging what you already have
- compressing a long text down to its points
- finding the places where a point repeats
- matching each claim against sentences in a source pack
The second column is not about what the model can do. It is about where responsibility sits: the model can do all four and can answer for none of them.
The brief: the one thing the model cannot write for you
A brief is a page, not a sentence, and every decision in the text is made there. If the brief is empty the model guesses, and you mistake editing its guesses for writing. That is the worst case, because it costs time and it feels like work.
A brief that earns its keep holds six things:
- Who the reader is and what they already know.
- What they should be able to do after reading.
- What you can actually deliver. Anything outside that is not a promise.
- The terms you use, and the terms you refuse to use.
- The sources the text is allowed to take numbers and claims from. Only those.
- The thing only you know, which is in no source.
The fifth item does more work than the rest and gets written least often. With a closed source list the fact pass turns from a judgement job into a matching job: every claim is either inside that pack or it is not. With an open list the model writes from memory and you have to verify every claim from scratch.
The sixth is what separates your text from every other text on the topic, and it is the only line no model can fill. If it stays empty, the piece is not ready to be written and the problem is somewhere else.
There is a simple test. Read the second item out loud. If you cannot say in one sentence what the reader can do afterwards, no model solves that, and asking for a draft is only postponing the decision.
The draft pass: get a text you can actually edit
Two decisions get made at this station: which class of model, and which constraints.
The class follows the kind of work, not the budget. Assembling, rearranging and compressing something you already have is mechanical, and a fast cheap model of the Flash class handles it. Where judgement is required, like choosing an angle or spotting where an argument gives way, a frontier model earns its cost. Which model sits in which class today is written up with sources in the AI section of this site, and we do not print a version name here, because any name we print will be wrong in six months.
The constraints are a different matter, and the ones that work are negative. Three that genuinely do: do not write any number that is not in the brief; mark anything you added yourself in brackets; and do not use these words, followed by your own list.
The second constraint is what makes the next pass possible, and almost nobody uses it. A draft with its seams marked is ugly, and that is exactly why it is useful: you know where to look. A clean seamless draft hands you an invisible checklist that you will never work through.
There is one habit that visibly improves the output and is written down almost nowhere: instead of asking for the text, ask for the structure first and wait for approval. A wrong structure is visible in thirty seconds and invisible inside two thousand words. Every time we have skipped that step, a second draft has been needed.
The fact pass: where did each number come from
This is the station where AI writing usually fails, and it fails quietly. The model writes a number, a date, a quotation and even the name of a source with exactly the confidence it uses for true things, because statistically that is what usually appears in that position. A text with one invented number is a text where, once somebody catches it, no other sentence carries weight either. The damage is not proportional to the size of the error.
The rule is simple and it is written into our own content law: a number without a source does not get written. If a number would strengthen the piece and you do not have it, you leave a marked placeholder and declare it at handover; something that looks like a number does not take its place. The difference between those two moves is zero on the page and total in the outcome.
Four things the model invents without warning, and this pass hunts all four: a number, a date, a quotation, and a source. The last is the most dangerous, because a fabricated source looks more respectable than a fabricated number and fewer people click it.
The method is mechanical and should stay mechanical. You pull every checkable claim out of the text, write next to it which source in the brief pack it came from, and quote the exact sentence from that source. A claim with no sentence behind it is deleted or kept with a mark. This takes patience and no skill, which is precisely why it is the best candidate for handing to a machine. The recipe is further down.
Four things the model invents without warning
The fact pass hunts these four, not "errors" in general. You can see a broken argument on your own; these four you cannot.
-
A number
A percentage, a rate, a duration. Usually round and presentable, and it lands exactly where the text needed a number.
-
A date
The year a feature shipped or a change began. One year out, and the whole time argument of the piece is wrong.
-
A quotation
A sentence a real company or person said, in a voice that genuinely sounds like theirs, with words they did not use.
-
A source
The dangerous one. Title, publisher and even the address look plausible, and the page does not exist. Few people click a source.
These four classes come from working on our own texts, not from a study. We have not measured it and we claim no rate.
The voice pass: where the text starts sounding like you
Voice is not adjectives. Voice is what you decline to say, where you admit you do not know, and what rhythm your sentences have. The model has none of those three of its own, and if you ask it to make the text "more human" it adds decoration: more adjectives, more similes, the same skeleton underneath.
Three specific moves happen at this station. First, break up the rhythm, because uniform sentence length is the loudest signal of machine text. Second, delete the opening that could sit on any article about anything. Third, put in at least one first-hand thing only you know. All three are worked through, with method, in the next lesson of this path, on humanising AI text.
There is a boundary here that sounds rigid and is not: you are not allowed to add new claims during the voice pass. If you realise mid-edit that a new claim is needed, you go back to the fact pass and bring its source. The reason is experimental: a claim added during the voice pass never gets checked, because every checking station finished before it.
Publishing: what must be settled before you press the button
One thing: the name of the person standing behind the text. The editorial policy of this site puts it in a sentence: no content is published without review and approval by a human specialist, and responsibility for accuracy and final judgement sits with the human author, not the machine. It sounds strict and in practice it is the easiest part of the job, because it asks only one question: if somebody objects to a sentence in this text tomorrow, who answers.
Whether to declare the use of the tool is a second question, and our answer is this: more important than declaring the tool is that a specific person stands behind the accuracy of the text. The practical test is simple. If a reader would feel misled on learning something about how the text was made, write that thing down. If not, declaring it is one more paragraph and nothing else.
And one small thing that works better than it looks: print the date the facts were last checked. A text that says it was checked on a given day lets the reader judge for themselves which part may have gone stale, and that is exactly what an undated machine text never gives anybody.
The fast path, with AI
What beginners do is ask the model to "check" the text, and the model happily changes sentences while you never learn what moved. The professional move is the reverse: the model is not allowed to fix anything, it only builds a table of claims and you decide. The recipe below is that table.
- Close the source pack. Everything the text is allowed to take claims from, side by side in one file or one message. With an open pack the rest of this recipe means nothing.
- A cheap fast model of the Flash class is enough. This pass is matching, not judging, and an expensive model here mostly increases the temptation to fix things. Today's class for each model is in the AI section of this site.
- Run the recipe below with the text and the source pack. Its three core constraints: no fixing, an exact quoted sentence from the source for every claim, and a separate list of everything it could not find.
- Read the last column, not the first. That the model wrote "found" means nothing; what matters is whether the quoted sentence actually says what the claim says. This is where the model gets it wrong repeatedly.
- Settle the "not found" list one by one: bring a source, delete the claim, or leave a marked "to confirm" and declare it at handover. There is no fourth option.
Copy-ready recipe
The text below is a draft, and the source pack follows it.
--- TEXT ---
{draft text}
--- SOURCE PACK ---
{source 1, with its address}
{source 2, with its address}
What you do:
1) Fix nothing, rewrite nothing, suggest no wording. Only build the table.
2) Pull every checkable claim out of the text. A checkable claim is one carrying a number, a date, a name or a quotation. Leave opinions out.
3) For each claim make a row with four columns: the claim, the sentence in the text where it appears, the source number, and the exact sentence from that source which supports it. Quote the source sentence word for word.
4) If a claim is in no source, leave the fourth column empty for that row and write not found.
5) After the table, write a separate list of every claim that was not found.
6) If the source sentence supports only part of the claim, write in the fourth column which part is not supported.
7) Add no claims to the text and use no source outside the pack above.
Before you trust the output: The model builds the table and you approve it, and there is one specific place the model keeps getting wrong: it quotes a sentence that genuinely exists in the source but does not say what the claim says. That is the one column you must read yourself. For sources you did not write, open at least those and see the sentence where it lives.
AI in this kind of work
Our position on this workflow is plain: the model is genuinely good at two stations and dangerous at exactly the one everybody hands it. Assembling and matching are its job; deciding what is true is not, and will not become so. The tools below are picked for those first two stations.
Tools that actually help
- NotebookLM Built for the fact pass, because it answers from the source pack you uploaded yourself. Google's own help says it works in the same regions as the Gemini app, and Iran is not on the Gemini app availability list.
- Claude It holds negative constraints across a long output, and the whole recipe above is built on that: no fixing, no adding, no source outside the pack. Iran is on neither of Anthropic's two supported-countries lists; we read that on Anthropic's own page.
- Gemini It reads Persian natively, so a Persian brief and draft can go in without a translation step. Google's own page says the Gemini web app runs in over 230 countries and territories and over 70 languages, and Iran is not on that list.
- ChatGPT The most common choice and acceptable for the draft pass. We make no claim here about access or payment: OpenAI's supported-countries page returns 403 to our server, and we do not write what we could not read ourselves.
Where it backfires
Two risks, and the first is the one least thought about. Anything you paste into a chatbot stays on the vendor's server and may be read by a human reviewer; Google's own help page says a conversation a human reviewer has read is kept for up to three years, and deleting your history does not bring it back. So a client brief with prices, a contract and unpublished data does not belong there. The second risk is what this whole lesson is about: a text that has not been through the five stations is published faster, not better. Google's position is not about the tool either, it is about bulk production of low value content, which we went through against the policy text in the AI content and SEO lesson.
Sources: Google: Gemini Apps Privacy Hub Anthropic: is my data used for model training (consumer plans) Google Search Central: Google Search and AI-generated content Google Search Central: spam policies for Google web search Anthropic: supported countries and regions Google: where Gemini Apps are available
Where this advice stops
This workflow does not make anyone a writer. It compresses the mechanical work and makes the human work visible; if the brief is empty, the empty output only arrives faster. It has two more boundaries. First, it does not pay off on short texts: for a caption or a two hundred word note, five stations cost more than writing it yourself, and we write those by hand. Second, this lesson says nothing about whether the topic is worth writing at all; that decision sits upstream, in the lesson on what content production is and where to start.
From our own work
The fact pass is the station that disappears under deadline, so we built a separate tool whose job is to make its disappearance visible. This site's content law does not allow a number without a source; instead it tells you to leave a marked "to confirm" and declare it at handover. But a marker nobody hunts for is the same as no marker, so the command line tool for this section has one command that does exactly this: it finds and counts every such marker across all lesson files, and handover does not happen while the count is above zero. Today, across every lesson file in this section, the count is zero. That is the only thing that turns "every number has a source" from a slogan into something checkable.
Real follow-up questions
How is this different from prompt engineering?
Prompt engineering is about one request; this is about the order of the work. An excellent prompt at the second station, with nobody owning the third, just delivers a better looking wrong text. If you want the prompt itself to improve, the AI section of this site has its own lesson for that.
Which model is better for Persian text?
We do not publish a ranking here, because any ranking we write is wrong a few months later and its only source is us. What actually works: give the identical brief to two models and see which output needs less Persian repair. The answer is not the same for a technical text and a promotional one.
What share of the final text should be mine?
Percentage is a useless measure. A text where ninety percent of the words came from the model and the other ten percent is the part only you know is a good text; a text you typed entirely yourself with nothing new in it is not. What has to be yours is two stations, not a share of the words.