AI is incredibly useful.
But it is often plausible
when it is wrong.
AI sounds confident even when it is wrong. It doesn’t show uncertainty — and may invent APIs, libraries, or features that don’t exist.
# AI generated — 100% confident:
def connect_database():
import mysql.connector
# ⚠️ Deprecated library!
conn = mysql.connector.connect(...)
Always verify:
Treat AI output as a draft, not as truth.
AI generates code that doesn’t match your project’s architecture.
# Your project: Repository Pattern
class UserRepository:
def __init__(self, db_session):
self.db = db_session
# AI suggests: Active Record ❌
class Product:
def save(self):
db.session.add(self)
Fix it once — in your rules files:
.cursorrules / CLAUDE.md / copilot-instructions.mdEncode: architecture patterns, naming, tech stack, security requirements, testing expectations.
Fix the instruction layer, not just the output.
Developers use AI as a hiding place instead of a tool.
❌ “The AI did this, I don’t know why it works”
❌ Copy-paste without reading
❌ Debugging by “asking AI” instead of investigating
❌ Accepting code you could not explain in a code review
“If you feel like a fraud because you genuinely don’t understand the code you’re submitting, that’s not imposter syndrome — that’s a sign you need to slow down and learn the fundamentals.”
Mimo Blog
AI regularly generates code with security issues.
# ❌ SQL Injection
query = f"SELECT * FROM users WHERE name = '{username}'"
# ❌ Hardcoded secret
API_KEY = "sk-proj-abc123..."
# ❌ PII in logs (GDPR violation)
logger.info(f"User {email} performed {action}")
Privacy pitfalls:
Security is NOT delegable.
If code touches identity, payments, or personal data — treat AI output as untrusted until proven otherwise.
Before merging AI-assisted code:
AI makes code look finished before it’s exercised. It generates the happy path and forgets what breaks production: empty arrays, null values, race conditions, malformed input.
Better workflow:
| Tool | Typical Cost |
|---|---|
| GitHub Copilot | 10/mo(Business19/user) |
| Cursor | $20/mo |
| Claude API | ~$15/M tokens |
How to keep costs down:
Some tools tie you to specific platforms:
| Tool | Lock-in |
|---|---|
| Cursor | Cursor IDE + cloud |
| v0 | Vercel + Supabase |
| Amazon Q | AWS-optimized |
Before adopting a tool, ask:
AI can generate code that works today but is expensive to maintain tomorrow.
Warning signs:
Better habits:
Before accepting AI-generated code, ask:
| Problem | Mitigation |
|---|---|
| Trust & hallucinations | Review every line, verify docs |
| Context | Rules files |
| Fundamentals | Understand first |
| Security & privacy | SAST + human review |
| Problem | Mitigation |
|---|---|
| Missing tests | Tests first |
| Cost | Minimize context |
| Vendor lock-in | Keep code portable |
| Maintenance | Small, modular changes |