Curious if there are any other LLM application developers who use Clojure here? I'm wondering if I should continue or give up and switch to Python. I've been developing in Clojure using LLMs since 2023. At the time it was a net win because LLM application development is closer to just application development than anything else, and Clojure is really good for application development for many reasons. It meant giving up on frameworks and libraries in Python (or if absolutely necessary using Python bindings), but most frameworks were pretty meh anyway so it wasn't a big deal given all the benefits Clojure has. Now, frameworks and SDKs are getting much better. I've done a lot of voice agent development in Clojure, for example, but https://www.pipecat.ai/ is quite good compared to what came before it. I'm wondering if the cost benefit analysis I made two years ago still holds.
Agent loops are a very small part of my code. Whenever possible, I use a single-agent router, which makes things more reliable.
How do you use functions if agent loops aren't a big part of your code?
you know how router works? you feed it text and it tells you which function to call and it will give you args in json. this is single-agent design, most reliable.
https://github.com/shipclojure/voice-fn >> Voice-fn takes heavy inspiration from pipecat. Differences: >> > voice-fn uses a graph instead of a bidirectional queue for frame transport > voice-fn has a data centric implementation. The processors in voice-fn are pure functions in the core.async.flow transform syntax
I use Clojure for RAGs and Agents. And some deep research, recently. I think that big frameworks like pipecat are overkill.
Cool, did you find yourself spending a lot of time setting up basic infra (e.g., agent loops) that you might get nearly for free in Python?