- Регистрация
- 1 Мар 2015
- Сообщения
- 1,481
- Баллы
- 155
Most developers using LLM tools today are unknowingly following a loose version of test-driven development (TDD).
1. TDD and LLM prompting work surprisingly similar
a) Start with failure
Many developers claim to hate TDD ("too much overhead!") but end up doing something similar because:
This mirrors TDD:
If you avoid TDD but use LLMs... surprise! You're basically doing TDD-ish style of work without calling it that.
Skilled developers use LLMs like TDD - they plan, test, and refine.
Junior developers use LLMs like supercharged Stack Overflow - copy, paste, and pray.
In the end, any tool just amplifies your existing thought process.
1. TDD and LLM prompting work surprisingly similar
a) Start with failure
- TDD: You define an interface and write a failing test first. Now you know what needs fixing.
- LLMs: You write a vague prompt, get bad results, and think "I need to explain this better." Same basic concept.
- TDD: You write code until the test passes.
- LLMs: You tweak the prompt, add details, and retry until you get good output. Same iterative approach.
- TDD: "Okay, now let's clean this up."
- LLMs: "This works but looks messy - needs polishing." Same final step.
Many developers claim to hate TDD ("too much overhead!") but end up doing something similar because:
- They have to think through requirements first (or the AI won't help)
- They iterate repeatedly (just with prompts instead of tests)
- They refine the AI's output (which is rarely perfect on first try)
- Beginners: Ask AI → Copy → Paste → Breaks → Gets stuck
- Experienced devs: Plan → Experiment → Debug → Verify results
This mirrors TDD:
- Weak developers write tests that don't actually help
- Strong developers write tests that improve code and serve as documentation
If you avoid TDD but use LLMs... surprise! You're basically doing TDD-ish style of work without calling it that.
- TDD is structured (test → fail → code → refine)
- LLM prompting is more ad-hoc (ask → adjust → accept → maybe improve later)
Skilled developers use LLMs like TDD - they plan, test, and refine.
Junior developers use LLMs like supercharged Stack Overflow - copy, paste, and pray.
In the end, any tool just amplifies your existing thought process.