Lux.Agent behaviour (Lux v0.3.0)
View SourceA Agent defines an autonomous agent's capabilities, behaviors and goals. The actual execution and supervision is handled by the Lux runtime.
Summary
Types
@type collaboration_protocol() :: :ask | :tell | :delegate | :request_review
@type scheduled_action() :: {module(), pos_integer(), map(), map()}
@type t() :: %Lux.Agent{ accepts_signals: [Lux.SignalSchema.t()], beams: [Lux.Beam.t()], description: String.t(), goal: String.t(), id: String.t(), lenses: [Lux.Lens.t()], llm_config: map(), memory_config: memory_config() | nil, memory_pid: pid() | nil, module: module(), name: String.t(), prisms: [Lux.Prism.t()], scheduled_actions: [scheduled_action()], signal_handlers: [signal_handler()] }