Anti Patterns
Common failures that waste time and money. Extracted from AI Engineering Anti-patterns by Chip Huyen
⛔️ Using GenAI Unnecessarily
Teams adopt generative AI for status, not solutions. Companies want bragging rights: "we use AI."
Example: Energy startup built GenAI for optimisation. A simple algorithm checking cheap hours works better.
⛔️ Premature Complexity
Teams rush to complex solutions first. "I must climb that mountain" mentality. Some common mistakes
Vector databases before basics
Agent frameworks too early
Fine-tuning before prompting
⛔️ Bad Product or Bad AI? or Both?
💡 Technical excellence ≠ product success.
Meeting summaries example:
❌ Summary length (3 vs 5 sentences)
✅ Action items from meetings
LinkedIn job recommendations example:
❌ Match accuracy scores
✅ Skill gap identification
Tax chatbot example:
❌ Users don't know what to ask
✅ Suggest relevant FAQs
⛔️ Not Understanding Users
User experience means understanding human behaviour.
💡 Users want help, not judgment.
⛔️ Overcomplicating RAG Systems
Teams rush to vector databases.
Start here: Keyword search, clean data, smart chunking
Data prep matters: Add context, include titles and keywords
⛔️ Using Agent Frameworks too early
Agent frameworks create hidden complexity.
❌ Framework bugs become your bugs
❌ Starter prompts contain typos
❌ Performance fluctuates with framework changes
❌ Hard to diagnose root causes
Direct API calls for simple tasks beat frameworks.
Build core logic with direct API calls
Measure performance with 100+ test cases
Identify specific bottlenecks frameworks solve
Only then evaluate if framework complexity is worth it
⛔️ Lack of Human Evaluation
AI judges help but have limits. Add human evaluation.
Limitations:
Models change
Hard to track progress
Teams lose touch with users
Tools score differently
⛔️ Not Localising Failures
Multi-step AI needs failure isolation.
❌ Resume extraction fails. Which step? PDF to text? Text to data?
✅ Debug each step separately.
⛔️ Overindexing on Early Success
Weekend demos don't predict launch timelines. Demo = 20% of total work.
Production needs:
Error handling
User testing
Performance tuning
Infrastructure
Security
Monitoring
...and more
⛔️ Giving Up Too Early
Teams quit after first failures. Find root causes. Fix them. Common causes:
Bad product design
No user research
Poor evaluation
🤓Issues
Teams couldn't update without breaking changes on 0.0.* versions
One team built POC with LangChain, couldn't update without major code changes
Syntax errors in framework scripts cause unpredictable failures
Direct API calls outperform LangChain by 25% on average
Frameworks add layers that make systems slower and harder to manage
Multi-step task failures due to complex state handling
When frameworks fail, you debug framework code instead of your logic
Framework updates modify starter prompts without notice, breaking performance
Excessive abstraction obscures rather than simplifies
Last updated