Hey, project lead here. I'm happy to answer any questions you have about Agent-o-rama or its technical internals.
Can you compare it with JetBrains' Koog, if you are familiar with it? https://www.jetbrains.com/koog/
I see you're still using Clojure since writing Apache Storm!
I'm only somewhat familiar with Koog, but these these are major differences according to my understanding:
- Execution model: Koog is a library for defining agents that run within a single process. AOR agents execute across a distributed cluster, whether one node or thousands.
- Deployment and scaling: Koog provides no deployment or scaling mechanisms. That's something you need to figure out on your own. AOR includes built-in deployment, updating, and scaling.
- Integration complexity: Koog must be combined with other tools (monitoring tool, databases, deployment tools, etc.) to approximate a complete agent platform. AOR is fully integrated, including built-in high-performance, durable storage for any data model.
- Experimentation and evaluation: Koog has no features for experimentation or online evaluation. AOR includes extensive support for both.
- Scalability: AOR scales horizontally for both computation and storage. With Koog, you'd need to design and operate that infrastructure yourself.
- Observability: Koog's observability is limited to traces and basic telemetry exposed via OpenTelemetry. AOR provides a much broader set of telemetry, including "time to first token" and online evaluation charts. You can also split all time-series charts automatically by any metadata you attach to your runs (e.g. see how agent latency differs by the choice of model used). Plus, it's all built-in and automatic.
Please correct me if I'm wrong on any aspect of Koog.