Chris Dzombak • Public Bookmarks
Each coding session became its own contained exploration:
Start fresh: New directory of docs in a new git branch
Write a spec.md: A couple hundred words of "here's what I actually want"
Get a plan.md: Ask the AI to turn my vague intentions into concrete steps
Iterate on the plan: Edit it, have the AI critique it, answer questions, repeat until it's actually coherent
Let the agent loose: "Okay, enact the plan"—or, sometimes "Make it so"
Babysit appropriately: Review the code as it emerges, redirect when it goes off the rails
Wrap up with notes.md: Have the AI reflect on what we built and what we learned
I think from a UI/UX perspective there is some room for improvement, but to answer your question they behave fundamentally different:
AI Chat/AI Assistant is more of a one-off interaction with an LLM
- so it's comparatively fast
- but the scope of the task is limited comparatively
Junie is our AI Agent - I like to think about it in a way that Idea and the LLM have more of an automated conversation till it comes to the best result for your original prompt
So, to your question, when to use what, I think patterns will manifest here more clearly over the next weeks and months but the way I use it:
- for simple tasks (generate a test, generate a method) => AI Assistant
- for broader scoped tasks (entire feature development, refactorings, tests for a complete feature, UI design etc) => Junie
- for explaining the current state of the software (functions, git commits, etc.) => AI Assistant
Both of them have their use case and noone get's phased our or similar, they both have different use cases with some overlay. I personally would like to see a more seamless integration (share context from AI Assistant with Junie) but those are things that based on the patterns identified over the next week we can polish and improve.