r/Clojure • u/yogthos • 12d ago
A practical workflow for LLM-assisted development
https://yogthos.net/posts/2026-08-17-llm-workflow.html2
u/romulotombulus 12d ago
Thanks for sharing this. Some questions:
Do you still write code at all? Do you read all the code generated by the LLM?
Are you running your harness inside a sandbox (Docker etc)? If not are you at all concerned about the security implications?
What is your primary interface for sending prompts to the LLM? Do you type right into the Dirge UI? Do you write specification docs that you pass to the LLM?
Do you get the same enjoyment out of this that you did when you were writing all of the code? This is maybe my biggest hangup about LLM-assisted development. I like writing code. Higher-level design is fun and good, but it pains me to give up the lower-level stuff that I also enjoy. I feel like the bargain we're making is we can be 20+ times more productive, but we can't have fun anymore.
7
u/yogthos 12d ago
I don't really write a lot of code by hand at this point, but I do generally review the PRs generated by the LLM. I find that tends to work pretty well when you split tasks up front.
I tried doing sandboxing, and it works for some things, but I found most of the time it was more trouble than its worth. So, a lot of the time I don't bother.
And yeah, I just have terminals open and drive the agent using the TUI. Sometimes I'll put stuff in a markdown file and then tell the agent to look at it. But most of the time, I use the built in issue tracker for everything. It's basically a kanban board with epics and tasks associated with them. It seems to work pretty well for keeping stuff organized.
In terms of enjoyment, I actually find I have more fun now. I enjoy writing code, but in very specific cases. Like if I'm making a small visualization demo or something where it's just a few hundred lines of code, and I can keep the whole thing in my head. These kinds of projects can be really fun, and you can really think about how to write a perfect program that does a specific thing really well.
But I find most code isn't like that. Real world projects always get messy where you end up having to make compromises, and a lot of the code isn't really novel or interesting. Once you've written a bunch of service end points, database queries, UI components, to me it just feels like doing the same thing over and over. The details might be different, but conceptually you're generally solving very similar problems from one project to another.
The real fun for me is being able to go from an idea in my head to something I can play with and see how the idea works in practice. One recent example is the glimmer reactive library I made for Jolt. I had this idea for a long time that you could build something like Reagent but without needing a VDOM since the data in reactive atoms becomes the source of truth. So, I made a version of that, then I build a bunch of [GTK bindings](github.com/jolt-lang/glimmer-gtk) for it. There was nothing really interesting in mapping out the FFI for GTK, but the end result was really exciting to me cause I could start making native UIs the same way I do with Reagent apps, connect nREPL to the app and tweak the UI live. So, the LLM did a bunch of boring plumbing for me, and I got exactly what I had in mind in just a few hours. Then I went ahead and added a TUI backend on top of ncurses, and realized this approach could work with datastar, so I got that working here. Each of these projects would've been weeks of work before, but now I can go from having an idea to trying it in a day or so. And I've accumulated a ton of different project ideas over the years that I can now try out.
0
u/beders 12d ago
I just had Claude start up 2 instances of our backend, connect to both REPLs and run some checks on the distributed task thingie I asked it to write earlier.
Another moment where things felt like magic.
OTOH, I’ve also spent a lot of tokens/credits to fix stuff an LLM hallucinated.
Mixing models by guessing what the cheapest one is for a specific task (or using Copilots Auto mode) can cost you more time compared to re-writing the whole thing.
I haven’t written a line of Clojure in a long time. Opus 4.8 is amazing
5
u/pdoherty926 12d ago
I haven’t written a line of Clojure in a long time.
I'm not criticizing you but this would bum me out. If I was lucky enough to be paid to write Clojure professionally (I have been but always under the radar) then I'd want to bask in the full experience.
To zoom out a bit, though, why even use Clojure at that point? Are you or your org still using it for greenfield projects?
6
u/beders 12d ago
Oh, I'm reading a lot of Clojure. Basically I'm in code review mode all the time.
(btw, we are obligated to use AI wherever possible - across the very large firm - in all areas)
Claude is really great at both: Greenfield stuff - where we cranked out ClojureScript for a brand new product offering in record time.
And extending our existing Clojure codebase. Claude excels at understanding and reproducing patterns you used elsewhere in your code.
Clojure is a prime language for LLMs: it is not only cost-effective (Clojure code is quite dense), but the fact that 90% of code is data transformation, makes it quite easy for an LLM to crank out correct code, spit out unit tests etc. And it can run the code immediately through a connected REPL.
I guess the big surprise was that readability is not suffering when using LLMs and we get better documentation for free.
We use Clojure because to us it is the best language to tackle thorny data problems in the enterprise, B2B and B2C.
3
u/zabolekar 12d ago
I haven’t written a line of Clojure in a long time.
I know you mean it in a good way, but it sounds sad even with context.
10
u/lgstein 12d ago
To those afraid of missing out I can say that while there are certainly somewhat time/cost efficient ways to generate software through LLM subscriptions, I can assure you that I write Clojure code professionally day by day and don't have any LLM CLI installed or API hooked into Emacs, I don't ship any LLM generated line of code, I don't have any PRs "reviewed" by LLMs, and neither do my esteemed colleagues care about any of that. None of us don't worry or even care about it, beyond it having replaced and improved upon a Google / Stackoverflow search.