dragon.ai.agent.config.agent_config.AgentConfig
- class AgentConfig[source]
Bases:
objectImmutable configuration for a single Dragon agent.
Parameters
- agent_id:
Unique identifier for this agent within the pipeline.
- name:
Human-readable display name for the agent.
- role:
System-prompt role description sent to the LLM.
- input_queue:
Dragon Queue populated after the agent starts via
reply_queue. Users should not set this directly.- inference_queue:
Dragon Queue feeding the inference pipeline backend. When set, the agent auto-creates a
DragonQueueLLMProxyinternally — no pre-built proxy needs to be passed. Different agents can point to different inference pipelines.- max_concurrent_requests:
Maximum number of concurrent in-flight LLM requests this agent can have at once.
None(default) uses the proxy’s built-in default (32).- summarizer_inference_queue:
Optional inference queue for a separate summarizer pipeline. When set, a summarizer proxy is auto-created and wired into the agent’s context manager.
- node_affinity:
Optional node placement hint (e.g. hostname or node index).
- approval_filter:
HITL gating predicate. When set, tool calls matching the filter are paused for human approval before execution.
None(default) = no gating.- max_tool_call_iterations:
Maximum number of tool-call iterations in the agentic loop. Each iteration = one LLM call that may produce a tool request or final answer. Increase for agents that need many tool calls or multiple HITL feedback rounds. Defaults to
20.- memory:
Memory management — controls how conversation history is managed during the tool-call loop.
None(default) keeps everything. Pass aMemoryConfig(...)for explicit strategy and tuning parameters.
- __init__(agent_id: str , name: str , role: str , input_queue: Queue = None, inference_queue: Any = None, max_concurrent_requests: int | None = None, summarizer_inference_queue: Any = None, node_affinity: str = '', approval_filter: Callable [[str , dict ], bool ] | None = None, max_tool_call_iterations: int = 20, memory: MemoryConfig | None = None) None
Methods
__init__(agent_id, name, role[, ...])Attributes
- memory: MemoryConfig | None = None
- __init__(agent_id: str , name: str , role: str , input_queue: Queue = None, inference_queue: Any = None, max_concurrent_requests: int | None = None, summarizer_inference_queue: Any = None, node_affinity: str = '', approval_filter: Callable [[str , dict ], bool ] | None = None, max_tool_call_iterations: int = 20, memory: MemoryConfig | None = None) None