It's not meant as just a demo of what Rama can do. It's a fully featured tool that supports the end-to-end workflow of building and maintaining robust LLM agents. It has an easy-to-learn API and you don't need to learn how to program Rama itself.
Rama isn't open source, but it's far from a black box. All data structures and computation are fully visible in the UI. You can inspect depots, topologies, and PStates, and see exactly what's stored and how it changes over time. Everything is also accessible through the Rama client API for direct querying. The PState schemas used by Agent-o-rama are defined here: https://github.com/redplanetlabs/agent-o-rama/blob/master/sr...
Backups are easy: you configure a “backup provider” (we provide one for S3) and a schedule for incremental backups. The free version can also be backed up with a short maintenance window. Full details are here: https://redplanetlabs.com/docs/~/backups.html
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.
The best documentation on the mental model of using Rama is the last page of the tutorial, linked below. However, I would recommend going through the whole tutorial rather than starting there.
All the examples in rama-demo-gallery have both Java and Clojure versions, including tests. There's also the introductory blog post for the Clojure API which builds a highly scalable auction application with timed listings, bids, and notifications in 100 LOC.
Indeed, we're in private beta and aren't publicizing much about what we're doing. We'll eventually be releasing many case studies on how our private beta users are using Rama.
A fragment itself is a generic programming construct that serves the same purpose as a function (just more general). When used in Rama topologies, they serve a similar role as observables in terms of reacting to new data as it flows through and sending any amount of information downstream to any number of output streams.
The chronological timeline at Twitter fans out on write. This makes sense when you consider that the most important application metric is the latency to load the timeline. That latency is a lot lower when you only need one query on the materialized timeline rather than a ton of queries for everyone you follow.
We released the public build last August, which can be used to experiment with Rama. Details on that are at the link below. Otherwise, we're still in private beta and access to the full Rama release to run real clusters is just for private beta users.
Check out twitter-scale-mastodon, which is an implementation of Mastodon's backend from scratch that scales to Twitter scale. It's more than 40% less code than Mastodon's backend and 100x less code than Twitter wrote to build the equivalent.
Rama isn't open source, but it's far from a black box. All data structures and computation are fully visible in the UI. You can inspect depots, topologies, and PStates, and see exactly what's stored and how it changes over time. Everything is also accessible through the Rama client API for direct querying. The PState schemas used by Agent-o-rama are defined here: https://github.com/redplanetlabs/agent-o-rama/blob/master/sr...
Backups are easy: you configure a “backup provider” (we provide one for S3) and a schedule for incremental backups. The free version can also be backed up with a short maintenance window. Full details are here: https://redplanetlabs.com/docs/~/backups.html