I tend to find that I use Gemini for the first pass, then switch to Claude for the actual line-by-line details.
Claude is also far superior at writing specs than Gemini.
I tend to find that I use Gemini for the first pass, then switch to Claude for the actual line-by-line details.
Claude is also far superior at writing specs than Gemini.
I know in Cursor and others I can just switch models between chats, but it doesn't feel intentional the way aider does. You chat in architecture mode, then execute in code mode.
The idea is that some models are better at reasoning about code, but others are better at actually creating the code changes (without syntax errors, etc). So Aider lets you pick two models - one does the architecting, and the other does the code change.
"tl:dr; Brainstorm spec, then plan a plan, then execute using LLM codegen. Discrete loops. Then magic."
I am excited to try out this new model. I actually want to stay brand loyal to antropic because I like the people and the values they express.
Not sure why Claude is more thorough and complete than the other models, but it's my go-to model for large projects.
The OpenAI model outputs are always the smallest - 500 lines or so. Not very good at larger projects, but perfectly fine for small fixes.
You then ask LLMs to first write features for the individual apps (in Markdown), giving it some early competitive guidelines.
You then tell LLMs to read that features document, and then write an architectural specification document. Tell it to maybe add example data structures, algorithms, or user interface layouts. All in Markdown.
You then feed these two documents to individual LLMs to write the rest of the code, usually starting with the data models first, then the algorithms, then the user interface.
Again, the trick is to partition your project to individual apps. Also an app isn't the full app. It might just be a data schema, a single GUI window, a marketing plan, etc.
The other hard part is to integrate the apps back together at the top level if they interact with each other...
Edit- Except maybe TDD? Which kind of makes me wonder if TDD was a good paradigm to begin with. I'm not sure, but I'm picturing an LLM writing pretty shitty/hacky code if its goal is just passing tests. But I've never really tried TDD either before or after LLM so I should probably shut up.
… whaaaaat?