programming · Level 2
Vibe coding: what it is, what it's good for, and where it breaks
Name the trend honestly, learn where it fits, and build a habit of checking AI-written code before you trust it.

Your next step
Start this course online
Register your start, then work through the lessons and exercises at your own pace. You can download the PDF separately. Where a scored exam is available, you will find it after the lessons.
Register or resume your course
Start with the essentials
The short answer
Vibe coding means describing what you want in plain words and accepting the AI's code with little or no review, a term coined by Andrej Karpathy in February 2025. It suits small, low-stakes, throwaway work. Most developers do not always check AI-written code before using it. This workbook teaches a responsible middle path: a plain checklist, your own test examples, and guardrails that hold regardless.
What you will learn
- You will be able to explain what vibe coding means and place a real example of your own work on the spectrum from careful review to full vibe coding.
- You will be able to describe the trust gap between how much people use AI coding tools and how often they actually check what the tools produce.
- You will be able to judge when vibe coding is a reasonable trade-off and when the stakes call for a full review.
- You will be able to review code you did not write and do not fully understand, using a plain checklist rather than deep language knowledge.
- You will know the guardrails worth keeping every time: what never to paste, where to work, and when to test before you trust the result.
- You will have a short set of personal rules for using AI coding tools responsibly, ready to use on your next real task.
Who it is for
Anyone who uses, or is thinking about using, an AI tool to write code, formulas, macros or scripts, from a complete beginner trying a one-off script to someone building small tools for work. No programming background is assumed.
Before you start
- Some comfort asking an AI assistant for things in plain words, as in the Your first prompts workbook. No coding experience is needed; the examples are explained as they appear.
Learn in your browser · Chapter 01 of 05
Naming the trend: what vibe coding actually is
Vibe coding has a name, a real origin and a real trade-off. Knowing all three stops the word being either a compliment or an insult.
Vibe coding means describing what you want in plain words and accepting the code an AI produces with little or no line-by-line review. The name was coined by the AI researcher Andrej Karpathy in a widely shared post in February 2025, where he described handing the small details to the AI and moving on rather than reading every line it wrote. Within months the phrase had spread far beyond programmers, used loosely for almost any AI-written code.
Vibe coding is not a single act, it sits on a spectrum. At one end, an editor suggests the next few words and you approve them one at a time. At the other end, you describe a whole feature and never open the file it lives in. The UK's National Cyber Security Centre (NCSC) frames this as a spectrum rather than a switch: prototypes and throwaway experiments can sit safely towards the vibe-coding end, while anything touching secrets, credentials or other people's data needs a much closer look.
Scroll sideways to see every column.
| Point on the spectrum | Who decides each line | A fair use |
|---|---|---|
| Autocomplete | You, one suggestion at a time | Any code, since you approve each line |
| Paired review | The AI drafts a block, you read and edit it | Most everyday scripts and small tools |
| Vibe coding | The AI decides, you barely look | A one-off prototype you would throw away tomorrow |
Try it yourself · Activity 01
10 minPlace your last three AI-written scripts
Think of the last three times you, or someone you work with, used an AI to write code, a formula, a macro or a script.
- For each one, write down what it was for and roughly how much of it you actually read before it ran.
- Place each one on the spectrum table: autocomplete, paired review or vibe coding.
- Note what would have happened if that piece of code had been quietly wrong.
Which of the three worries you most now that you have named it honestly?
Worked answer
There is no single right placement, the point is honesty. A formula you typed yourself with AI suggesting the syntax is autocomplete. A short script an assistant wrote from a two-line request, skimmed once, is paired review at best. A whole automation asked for in one sentence and run straight away, file unopened, is vibe coding. The consequence matters more than the label: a wrong formula shows a wrong number for a day, a wrong script that deletes files cannot be undone.
- Q1: What does vibe coding actually mean?
- A: Describing what you want in plain words and accepting the AI's code with little or no line-by-line review.
- Q2: Who coined the term, and when?
- A: Andrej Karpathy, in a widely shared post in February 2025.
- Q3: Is vibe coding always reckless?
- A: No. On a low-stakes prototype you would throw away, it can be a fair trade-off. The risk rises with the stakes, not the label.
- Q4: What is the one question that tells you whether you are vibe coding?
- A: Did a person read this before it ran? If not, you are vibe coding, whatever the tool calls itself.
Learn in your browser · Chapter 02 of 05
The real trust gap
Almost everyone uses these tools now. Hardly anyone fully trusts what they produce, and fewer still check it every time. That gap is the whole reason this workbook exists.
Adoption of AI coding tools is now close to universal among professional developers. Stack Overflow's 2025 Developer Survey found that 84% of developers said they use, or plan to use, AI tools in their work, up from 76% the year before. Trust in the results has not kept pace: only 29% of respondents said they trusted the accuracy of what these tools produce, 46% said they actively distrusted it, and just 3% reported high trust.
Trust is one thing, checking is another, and the two do not line up. Sonar's State of Code developer survey found that only 48% of developers said they always verified AI-assisted code before committing it, which means most developers ship at least some AI-written code without their own full check, at least some of the time. That gap between what people use and what they actually review is the trust gap this workbook is named for, and it applies just as much to a spreadsheet macro or a small business tool as it does to a professional codebase.
Try it yourself · Activity 02
10 minRate your own review habit
Think honestly about the last piece of AI-written code, formula or script you actually used for something that mattered, even a little.
- Did you read every line, some of it, or none of it before you used it?
- Did you test it with an example where you already knew the right answer?
- If it had been quietly wrong in one place, how long would it have taken you to notice?
Where do you sit: closer to the 48% who always check, or the majority who do not?
Worked answer
Most people sit closer to the majority who do not always check, especially for small tasks, which is exactly the trust gap the survey data describes. The point of this exercise is not guilt, it is knowing which of your tasks deserve the extra ten minutes a proper check takes, based on how long a quiet mistake could run before you noticed it.
- Q1: What does the Stack Overflow 2025 survey say about trust in AI-written code?
- A: 84% of developers use or plan to use AI tools, but only 29% trust the accuracy of what those tools produce, and 46% actively distrust it.
- Q2: What is the trust gap, in one sentence?
- A: The distance between how much people use AI coding tools and how often they actually check what those tools produce.
- Q3: Why can a wrong answer look just as confident as a right one?
- A: An AI model predicts likely-looking text, it does not know whether the answer is correct, so a mistake can read just as smoothly as the right result.
- Q4: According to the Sonar survey, how many developers always verify AI-assisted code before committing it?
- A: Only 48%, meaning most developers ship at least some AI-written code without a full check of their own.
Learn in your browser · Chapter 03 of 05
When vibe coding is a reasonable choice, and when it isn't
The right question is never whether vibe coding is good or bad, it is what happens if this particular piece is wrong.
Stakes, not skill, decide whether vibe coding is reasonable. A prototype you will delete tomorrow carries almost no risk if it is wrong. A tool that touches money, personal data, other people's work or anything you cannot easily undo carries a real one. Ask what would actually happen if this exact piece of code were quietly wrong for a week before anyone noticed.
- Can I undo it? A throwaway script you can delete is lower stakes than one that changes real records.
- Does it touch money or personal data? Even a small business invoice or a list of customer names raises the stakes.
- Does anyone else rely on the result? Code only you will ever see is lower stakes than a tool colleagues or customers use.
- How would I even notice it was wrong? A mistake that would show up immediately is safer than one that could hide for weeks.
Scroll sideways to see every column.
| Task | Reasonable to vibe code? | Why |
|---|---|---|
| A one-off script to rename 40 holiday photos | Yes | Low stakes, mistakes are obvious and easy to undo |
| A personal budget tracker for your own use | Mostly, with a light check | You are the only one relying on the numbers |
| An invoicing tool for a small business | No, review properly | Touches money and other people's records |
| A script that emails a client list | No, review properly | Touches personal data and cannot easily be undone once sent |
Try it yourself · Activity 03
15 minSort five tasks of your own
List five real or likely tasks where you might ask an AI to write code, a script or a formula for you.
- For each, answer the four questions above.
- Decide: fair to vibe code, or needs a proper review.
- For the ones that need a review, note in one line what you would check first.
Did any task surprise you by landing on the wrong side of where you first guessed?
Worked answer
A common surprise is a task that felt small, such as a file-renaming script, touching more than expected, for example if it deletes the originals rather than copying them. The undo question usually does the most work: a script's stakes often come from what it removes or overwrites, not from what it creates.
- Q1: What is the main factor that decides whether vibe coding is a reasonable choice?
- A: The stakes of the task, not your skill level: what would happen if this exact piece of code were quietly wrong for a while.
- Q2: Name two of the four questions used to place a task on the spectrum.
- A: Any two of: can I undo it, does it touch money or personal data, does anyone else rely on the result, how would I notice if it were wrong.
- Q3: Why is an invoicing tool for a small business a poor fit for full vibe coding?
- A: It touches money and other people's records, and a quiet mistake could run for a while before anyone noticed it.
- Q4: What should you do when you are not sure which side of the line a task falls on?
- A: Treat it as the higher-stakes case and review it properly. A ten-minute check is cheaper than fixing a mistake later.
Learn in your browser · Chapter 04 of 05
How to review code you don't fully understand yourself
You do not need to read every symbol to review AI-written code well. You need to ask the right questions and test the answers.
You can review code you cannot fully write yourself. The checklist below works whatever the language, because it asks about behaviour, not syntax. Your editor's or notes app's find tool can help you spot the words in the right-hand column even in code you do not read fluently.
Scroll sideways to see every column.
| Ask | Look or ask for |
|---|---|
| What does it touch? | Which files, accounts, folders or data it reads or changes |
| What does it send, and where? | Any email, message, upload or request to another address |
| What happens with bad input? | An empty box, a huge number, the wrong kind of answer |
| Does it match my brief? | Read your own written request back against what it built |
| Can I test it against an answer I already know? | At least one example where you worked out the right result yourself first |
A flawed example, in plain words. An AI was asked to work out a 20% deposit on a booking and refuse any booking of £10 or under. Here is what it actually did, written out step by step rather than as code, so you can review it without reading a line of syntax:
EXAMPLE ONLY. Read it, do not build from it.
1. It reads the booking amount typed into the box.
2. It works out 20 per cent of that amount as the deposit.
3. It emails the customer's address and the booking amount to a logging address, without being asked to.
4. It refuses a booking only when the amount is exactly 10 or under, so a booking of 10.50 is allowed, which is correct, but a booking of 9.99 is also allowed, which should have been refused.
5. If the amount box is left empty, it shows the deposit as NaN (not a number) instead of a clear message.Try it yourself · Activity 04
15 minSpot the four problems
Read the plain-words description of the booking-deposit script above using the checklist.
- Say in your own words what the script is meant to do.
- Using the checklist, find four things wrong with what it actually does.
- For each, write one sentence on how you would ask for it to be fixed.
Which of the four would have been hardest to spot without the checklist?
Worked answer
1. Sending: it emails the customer's address and amount to a logging address nobody asked for, worth removing without a clear, agreed reason. 2. Bad input: an empty box shows NaN instead of a clear message. 3. The brief: a booking of 9.99 should have been refused but was allowed, because the check only catches exactly 10 or under, not anything under 10. 4. Testing: none of this shows up without trying a normal amount, an empty box and an amount right at the 10 line, each checked against a hand-worked answer first.
- Q1: Do you need to read every line of code to review it well?
- A: No. A checklist that asks about behaviour, what it touches, sends, does with bad input and whether it matches your brief, works whatever the language.
- Q2: Why is an AI's own explanation of its code not proof that the code is right?
- A: The explanation is generated the same way the code was, so it can sound fluent and still be wrong. Your own test against an answer you already know is the real proof.
- Q3: What is the single most useful test you can run on AI-written code?
- A: An example where you worked out the correct answer yourself first, then checked the code against it.
- Q4: In the booking example, why did the 10 check cause a problem?
- A: It only caught bookings of exactly 10 or under, so an amount just under that line was wrongly allowed instead of refused.
Learn in your browser · Chapter 05 of 05
Guardrails to keep, and a workflow you'll actually use
A handful of habits turn vibe coding from a gamble into a reasonable, repeatable way of working.
Keep secrets and personal data out. Never paste passwords, keys, account numbers or other people's details into an AI tool or the code it writes. What you type usually leaves your device, and OWASP's guidance for AI systems warns that sensitive information you provide may later be exposed elsewhere. Use made-up example data instead, and if a real secret slips in by mistake, treat it as exposed and replace it at the service that issued it.
Work on a copy, not the original. Keep a saved, working copy of anything before an AI tool changes it, so a bad result costs you a few minutes, not a rebuild. If a tool can act on its own, give it the least access it needs for the one job, a habit OWASP frames as addressing excessive agency, and ask for a dry run, a list of what it would do without doing it, before anything that changes real files or sends anything.
Check the terms before you use or share the result. Tool terms and code licences vary, and this is not legal advice. GOV.UK notes that copyright protects original work, including software, automatically in the UK, and that an owner can license others to use it. Before you rely on AI-written code for something that matters, or share or sell it, check your tool's terms and the licence of anything it reproduces.
- Write a short brief: what it is for, what goes in, what comes out, and one or two examples worked out by hand.
- Ask for it in one small piece at a time, not the whole thing at once.
- Review with the checklist: what it touches, sends, does with bad input, and whether it matches your brief.
- Test it against the examples you worked out by hand, not against the tool's own account of itself.
- Check the guardrails: no secrets pasted, a saved copy kept, terms checked if it matters.
Try it yourself · Activity 05
15 minWrite your five-step card
Turn the five-step habit above into a short card you would actually keep next to your keyboard.
- Write each of the five steps in your own words, short enough to fit on an index card.
- Add one guardrail you personally are most likely to skip when you are in a hurry.
- Say where you will keep this card so you actually see it next time.
Which single step, if you only kept one, would catch the most mistakes for the least effort?
Worked answer
For most people it is testing against a hand-worked example, because it catches a wrong result even when everything else looks fine, and it takes only a few minutes. The brief comes a close second, since a lot of quiet mistakes trace back to something never actually specified, which the AI then had to guess.
- Q1: Name one thing you should never paste into an AI coding tool.
- A: Any of: a password, a key, an account number or another person's personal details. Use made-up example data instead.
- Q2: What is a dry run, and why ask for one?
- A: A list of what a tool would do without actually doing it. It lets you check a plan before anything real changes.
- Q3: Why work on a copy rather than the original file?
- A: So a bad result costs a few minutes to undo instead of a rebuild, since you can go back to the saved copy.
- Q4: What is the single most useful habit for catching a quiet mistake?
- A: Testing the result against an example you worked out by hand yourself, not against the tool's own explanation of what it did.
You can now name vibe coding honestly, see the real gap between how much people use these tools and how often they check them, judge when the trade-off is fair, review code you did not write using a plain checklist, and keep the guardrails that matter regardless of how good the tools get.
This PDF is yours to keep. Print it, write in it, and keep the five-step card somewhere you will actually see it.
Ready to prove it? Take the exam for this workbook. Score 81% or higher and you earn a certificate with your own name on it.
https://trust-agent.ai/exam/vibe-coding-explainedThis is free educational content published by Mickai LTD, not professional, legal, financial or compliance advice, and Mickai accepts no liability for how you use it.
Checking code before you trust it is a small, personal version of a bigger idea: a human stays in control of what an AI system does, which is at the centre of how Trust Agent and Mickai think about trustworthy AI.
Keep learning
The complete workbook
This workbook names vibe coding honestly: giving an AI a high-level instruction and shipping what it produces with little review. You will learn where that trade-off is reasonable, how to review AI-written code even when you cannot write it yourself, and the guardrails worth keeping regardless of how good your tools get.
- 01Naming the trend: what vibe coding actually isRead here · 1 exercise
Vibe coding has a name, a real origin and a real trade-off. Knowing all three stops the word being either a compliment or an insult.
- 02The real trust gapRead here · 1 exercise
Almost everyone uses these tools now. Hardly anyone fully trusts what they produce, and fewer still check it every time. That gap is the whole reason this workbook exists.
- 03When vibe coding is a reasonable choice, and when it isn'tRead here · 1 exercise
The right question is never whether vibe coding is good or bad, it is what happens if this particular piece is wrong.
- 04How to review code you don't fully understand yourselfRead here · 1 exercise
You do not need to read every symbol to review AI-written code well. You need to ask the right questions and test the answers.
- 05Guardrails to keep, and a workflow you'll actually useRead here · 1 exercise
A handful of habits turn vibe coding from a gamble into a reasonable, repeatable way of working.
Also inside: a 10-point checklist, a glossary of 10 terms and 10 questions and answers to test yourself. 5 hands-on exercises, each with a worked answer at the back where the workbook gives one.
The PDF is free. We ask for your name and email before downloading. Read the privacy notice at the download form. Free to download and use for personal learning, study groups and inside your own team. Please do not resell the workbooks or republish them as your own. Link people to trust-agent.ai instead.
Get your free PDF workbook
Enter your name and email, then download the complete workbook. This form also works without JavaScript.
Test yourself
Questions and answers
What is vibe coding?
Vibe coding means describing what you want in plain words and accepting the AI's code with little or no line-by-line review. The term was coined by Andrej Karpathy in a widely shared post in February 2025. It sits at one end of a spectrum that runs from approving one suggestion at a time to never opening the file at all.
Is vibe coding always a bad idea?
No. On a low-stakes prototype you would happily throw away, it can be a fair trade-off. The real question is not whether vibe coding is good or bad, it is what would happen if this exact piece of code were quietly wrong.
How many developers actually trust AI-written code?
Stack Overflow's 2025 Developer Survey found 84% of developers use or plan to use AI tools, but only 29% trust the accuracy of what those tools produce and 46% actively distrust it. Use has grown far faster than trust.
Do most developers check AI-written code before using it?
Not always. Sonar's State of Code developer survey found only 48% of developers said they always verified AI-assisted code before committing it, meaning most ship at least some of it unchecked, at least some of the time.
How do I decide whether a task is safe to vibe code?
Ask what would happen if this exact piece of code were quietly wrong: can you undo it, does it touch money or personal data, does anyone else rely on it, and how would you even notice a mistake? The higher the stakes, the more it deserves a full review.
Do I need to understand code deeply to review it?
No. A checklist that asks about behaviour, what the code touches, sends, does with bad input, and whether it matches your brief, works whatever the language, without you needing to read every symbol.
If an AI explains its own code, does that prove the code is right?
No. The explanation is produced the same way as the code, so it can sound fluent and still be wrong. Testing the result against an example you worked out yourself first is the real proof.
What should I never paste into an AI coding tool?
Passwords, keys, account numbers or other people's personal details. Use made-up example data instead, and if a real secret slips in by mistake, treat it as exposed and replace it where it was issued.
What is a dry run, and why does it matter?
A dry run is a list of what a tool would do without actually doing it. Asking for one before anything that changes real files or sends anything lets you check the plan while it still costs nothing to change your mind.
What is the single most useful habit for catching a quiet AI coding mistake?
Testing the result against an example you worked out by hand yourself, rather than trusting the tool's own account of what it did. It is the one step that catches a wrong answer even when everything looks fine.
Write as you go
My notes
Use this scratchpad for your own notes, working or answers as you read. Notes are saved in this browser on this device. Downloading makes a local copy; it does not send your notes to Mickai.
Consolidate your learning
Review your work
Work through the exercises and questions, then compare your reasoning with the worked answers. A scored exam and verifiable certificate are not yet available for this course.
Review the questionsLearn the language
Key terms
- Vibe coding
- Describing what you want in plain words and accepting the AI's code with little or no line-by-line review.
- Trust gap
- The distance between how much people use AI coding tools and how often they actually check what those tools produce.
- Code review
- Reading and checking code, your own or an AI's, before you trust or run it.
- Hallucination
- A confident answer that is wrong or unfounded, such as code that behaves as if a library, function or rule exists when it does not.
- Blast radius
- How much damage a mistake could do and how hard it would be to undo, used here to judge how carefully a task needs reviewing.
- Sandbox
- A working copy or a set-aside folder where an AI tool can make changes without touching your real files.
6 of the workbook's 10 terms. The complete glossary is in the workbook.
Follow the evidence
Sources and checks
Facts last checked: .
These workbooks use AI assistance. See how the workbooks are made.
- There's a new kind of coding I call vibe codingAndrej Karpathy, posted on X
- 2025 Stack Overflow Developer Survey: AIStack Overflow
- State of Code: the current reality of AI codingSonar
- The 'vibe coding spectrum' approach to AI-assisted software developmentNational Cyber Security Centre (NCSC)
- LLM02:2025 Sensitive Information DisclosureOWASP Gen AI Security Project
- LLM06:2025 Excessive AgencyOWASP Gen AI Security Project
- LLM09:2025 MisinformationOWASP Gen AI Security Project
- How copyright protects your work: OverviewGOV.UK
Created by Mickarle Wagstaff-Irons - Micky Irons with the Mickai team. Published by Mickai LTD. Last updated 29 September 2026.
NextKeep going
Where to go next
Recommended for you
Build your first app with an AI coding assistant
Build a small bill-splitting web page with any AI coding assistant while staying in control: brief it, build in steps, review the code, test edge cases and keep safe copies.
Recommended for you
Test-driven development with an AI coding assistant
Use failing examples to guide an AI coding assistant, test boundary cases, catch deliberate defects and hand over a small Python change with clear evidence.
Recommended for you
Git for AI builders: commits, branches and pull requests
Learn Git from your first commit to a reviewed pull request, with safe habits for AI-written code: read every diff, commit small, undo safely and keep secrets out.