The AI agent by itself
has read lots of documentation,
and it’s pretty good at Googling the answers to questions
and picking something to try.
(I often get a bit of analysis paralysis
when trying to choose a library.)
It can be surprisingly good
at translating sample usage
of some JavaScript library
it finds into a simple bit of ClojureScript.
In my experience,
it’s sometimes bad at matching parentheses,
so I just fix them myself.
Recently,
it may be getting better,
and some Clojure MCP projects
can cleanup parentheses automatically.
I only ask it to do small tasks,
and I closely review and test
the code it generates.
When it looks good,
I commit and push the code,
but I know I can always
easily go back to a previous working version
when the AI goes off the rails.
I don’t have to worry too much
about it getting too confused
or destroying something.
I tell it to forget what we were doing,
/clear the context,
or just restart the agent completely,
and recover my known good state from git.
I find that even if it fails to complete a task,
I at least learn a little from what it did,
and often have an initial direction or two
to explore.
It’s pretty good at keeping my momentum
when working and keeping me from spinning my wheels,
like pairing with another programmer.