What problem does it solve?
When building request-handler style services on Golem, the default durable agent model persists state across calls, which is unnecessary overhead for pure functions, transformers, and stateless HTTP endpoints. This Skill guides you through creating ephemeral agents that get a fresh instance for every invocation, with no shared state, no replay, and no persistence.
Core Features & Use Cases
- Ephemeral Agent Definition: Add the
ephemeral flag to the #[agent_definition] attribute to make every invocation start from a clean new() call.
- HTTP Endpoint Mounting: Combine ephemeral agents with
mount and route attributes like #[post] to build stateless REST APIs, converters, and proxies.
- Decision Guidance: Clear criteria for when ephemeral agents fit (stateless transformers, validators, webhook forwarders) versus when durable agents are required (counters, sagas, workflows).
- Use Case: Imagine building a case-conversion HTTP API where each request is independent. An ephemeral agent mounted at
/api/convert/{name} handles to-upper and to-lower requests without persisting anything between calls.
Quick Start
Ask the AI to create an ephemeral stateless agent in a Rust Golem project that handles HTTP requests without persisting state between invocations.