This guide shows how AI agents and LLMs can dramatically improve developer productivity through structured workflows. The key insight: LLMs excel at structured thinking, repetition, and documentation — but only when you give them the right scaffolding.
Traditional approaches fail because developers:
- Jump straight into "make this code" prompts without planning
- Lose context across sessions and days
- Repeat the same planning work for similar features
- Don't preserve decisions and assumptions anywhere
- Let the LLM make choices without tracking them
- Use the wrong model for the task
The solution isn't better prompts — it's a better workflow and choosing the right tool.
Not all models are equal. Using the wrong model has real consequences:
| Wrong Choice | Consequence |
|---|---|
| Cheap model for complex architecture | Subtle bugs, tech debt, hours of debugging |
| Expensive model for boilerplate | Wasted budget, no quality improvement |
| Any model without references | Generic output that doesn't match your patterns |
Rule of thumb:
- Flagship models (Claude Opus / Sonnet 4.5, GPT-4o, Gemini 2.0 Pro) → Planning, architecture, debugging, novel problems
- Mid-tier models (Claude Sonnet 3.5, GPT-4o-mini, Gemini 2.0 Flash) → Implementation with clear patterns and references
- Fast models (Claude Haiku, GPT-4.1-mini/nano, Gemini Flash Lite) → Boilerplate, syntax questions, simple tasks
See the Choosing the Right Model page for detailed guidance, cost analysis, and a selection checklist.
Idea / Requirement
↓
LLM creates plan/ ← Use flagship model
↓
LLM creates prompts/ ← Use flagship model
↓
LLM scaffolds work-notes/
↓
LLM executes tasks ← Mid-tier usually sufficient
↓
Commit after each completed task
Each artifact reduces cognitive load and prevents context loss. The LLM becomes your planning partner, prompt engineer, implementer, and technical scribe.
For small tasks (hours to 1-2 days):
- Create a single
PLAN.md - Execute with session notes
- Commit after each logical unit
For medium tasks (1-2 weeks):
- Create
plan/directory with phase files - Generate matching
prompts/files - Maintain
work-notes/per phase - Commit per phase or sub-task
For large tasks (multi-week / system-level):
- Break into sub-phases (1a, 1b, 2a, 2b)
- Keep each file under ~200 lines
- Consider parallelizing across agents
- Commit frequently with clear messages
- Plan before you prompt — Spend 10 minutes planning to save hours of rework
- Match model to task — Don't use a cheap model for complex work; the "savings" will cost you
- Keep session notes — The LLM can't remember what you don't write down
- Commit after each task — Small commits are reviewable commits
- Use reference implementations — Show the LLM what "good" looks like in your codebase
- Phase large work — Break it down until each piece fits in one session
Treat your LLM like a senior engineer who never forgets — but only if you give it structure and pick the right one for the job.