Recently AI seems to be speeding up even more, with constant new releases and many more models and tools π€―
But, once again like previous weeks, I am not sure how much is left to implement, really π€
At the same time, my timeline is starting to show the first signs of issues on people doing "too much AI" π¬
Well, not everything needs to steal your attention. Here is how I am approaching this π
Code details may not be that important anymore
A recent trend:
How much better AI needs to be before you stop reading the code it writes? π€
My answer to this question is less on the actual quality of the code itself, and instead on the quality of your configuration and checks π
I noticed the below suffice for me to not read the code:
- Extensive custom linting setup for all sort of conventions
- Strict type checking rules
- Complete unit testing for public API
- At least one full end-to-end (local) QA pass
Yep, this is a lot (is it?).
The strictness also depends (a lot) from the project, how many users, reversibility, and more.
If all the above checks pass, the details of how the code is implemented mostly won't matter (outside of performance, optimizations etc.) π
Less code, more architecture
Instead of code, the focus shifts to your configuration and setup.
I am focusing less on "how good is the AI", and more on "how good is my project for the AI to work with" ποΈ
In practice:
- Collect a set of reusable custom linting rules I use everywhere
- Always provide the source code of core dependencies as git subtrees (e.g.
effect,xstateetc.) - Provide example of good patterns from other repositories
- Be more strict in reviews for new projects to avoid bad patterns
- Provide clean and concise references and assumptions in
AGENTS.md
As the project grows:
- Collect more rules
- Run periodic prompts to correct possible bad patterns creeping in
- Keep all dependencies up to date
Understand your AI
You don't need to test all AI models out there.
Other people are focused on doing this for you, don't stress too much yourself ππΌββοΈ
Instead, you should know your AI. Well. It's a requirement, otherwise you won't know "how to prompt".
Example: ChatGPT tends to be strict in following your instructions exactly. So, try not to be too prescriptive. 5.6 will also tend to do a lot (aka overengineer).
Knowing that allows you to better define your input, and better check the output βοΈ
There is always more to know and more to do. But, again, you don't always need to do it all, all the times.
A few principles I am following:
- Be more strict with what's worth implementing, and what to ignore
- Intentionally stop prompting, no need to run AI 24/7
- Follow mostly major practical trends and new tools
Remember, many things (that matter) don't need AI ππΌββοΈ
See you next π
