Skip to content

TheZero0-ctrl/agent_loop

Repository files navigation

AgentLoop

AgentLoop is a work-in-progress Ruby agent runtime.

It is inspired by Jido, with a similar focus on:

  • data-first agents
  • explicit command boundaries
  • clear separation between state transitions and side effects
  • mailbox-backed AgentServer runtime hosts
  • delayed signals that replay back through runtime

The core model is:

  • AgentLoop::Agent decides through cmd
  • AgentLoop::AgentServer owns one live instance and processes signals serially
  • AgentLoop::Runtime acts as the shared execution kernel
  • Effects::Schedule uses your job backend for delayed replay
  • Effects::Spawn starts real child servers

Quick start:

server = AgentLoop::AgentServer.start(agent: CounterAgent)

server.call(
  AgentLoop::Signal.new(type: "counter.increment", source: "readme", data: { by: 1 })
)

This project is still evolving and APIs may change.

Start here:

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

Contributing

Bug reports and pull requests are welcome.

About

Ruby agent framework for data first agents, explicit state transitions, and effect driven execution

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors