Using AI well means knowing where it breaks - not just what it is good at. This is the difference between a developer who uses AI responsibly and one who ships confidently wrong output.
Hallucination: confident, plausible-sounding wrong answers
Because a model generates statistically plausible text rather than looking up verified facts, it can produce specific-sounding details - a citation, a function name, a statistic - that are entirely made up, stated with exactly the same confidence as correct information. Never trust an AI-generated fact without verifying it independently, especially for anything that matters.
No true understanding of numbers or precise logic
Language models are far less reliable at exact arithmetic and precise multi-step logic than they are at language tasks - they can make basic mathematical errors that a calculator never would. For anything requiring exact computation, use real code, not the model's own generated answer.
Training data has a cutoff
A model only knows about events, libraries, and information up to whenever its training data was collected - it does not automatically know about anything newer, unless it is specifically given that information as part of the prompt or connected to a live tool that can look things up.
Bias from training data
Models can reproduce biases present in the huge amount of text they were trained on. This matters directly if you are building anything that makes or influences decisions about real people - screening resumes, for example - where unchecked bias in an AI system's output can cause real harm.
The practical takeaway
Use AI for what it is genuinely good at - drafting, summarizing, explaining, brainstorming, generating boilerplate code you will review - and keep a human (or real verification, like tests and calculations) in the loop for anything where being wrong actually costs something. This mindset is exactly what the next course, AI Agents in Practice, builds on when giving AI systems the ability to take real actions.