Skip to content

AgentConfig

type AgentConfig = {
model?: | Model<BaseModelConfig>
| string;
messages?: | Message[]
| MessageData[];
tools?: ToolList;
systemPrompt?: | SystemPrompt
| SystemPromptData;
state?: Record<string, JSONValue>;
printer?: boolean;
conversationManager?: HookProvider;
hooks?: HookProvider[];
structuredOutputSchema?: z.ZodSchema;
sessionManager?: SessionManager;
traceAttributes?: Record<string, AttributeValue>;
name?: string;
agentId?: string;
};

Defined in: src/agent/agent.ts:68

Configuration object for creating a new Agent.

optional model:
| Model<BaseModelConfig>
| string;

Defined in: src/agent/agent.ts:91

The model instance that the agent will use to make decisions. Accepts either a Model instance or a string representing a Bedrock model ID. When a string is provided, it will be used to create a BedrockModel instance.

// Using a string model ID (creates BedrockModel)
const agent = new Agent({
model: 'anthropic.claude-3-5-sonnet-20240620-v1:0'
})
// Using an explicit BedrockModel instance with configuration
const agent = new Agent({
model: new BedrockModel({
modelId: 'anthropic.claude-3-5-sonnet-20240620-v1:0',
temperature: 0.7,
maxTokens: 2048
})
})

optional messages:
| Message[]
| MessageData[];

Defined in: src/agent/agent.ts:93

An initial set of messages to seed the agent’s conversation history.


optional tools: ToolList;

Defined in: src/agent/agent.ts:98

An initial set of tools to register with the agent. Accepts nested arrays of tools at any depth, which will be flattened automatically.


optional systemPrompt:
| SystemPrompt
| SystemPromptData;

Defined in: src/agent/agent.ts:102

A system prompt which guides model behavior.


optional state: Record<string, JSONValue>;

Defined in: src/agent/agent.ts:104

Optional initial state values for the agent.


optional printer: boolean;

Defined in: src/agent/agent.ts:110

Enable automatic printing of agent output to console. When true, prints text generation, reasoning, and tool usage as they occur. Defaults to true.


optional conversationManager: HookProvider;

Defined in: src/agent/agent.ts:115

Conversation manager for handling message history and context overflow. Defaults to SlidingWindowConversationManager with windowSize of 40.


optional hooks: HookProvider[];

Defined in: src/agent/agent.ts:120

Hook providers to register with the agent. Hooks enable observing and extending agent behavior.


optional structuredOutputSchema: z.ZodSchema;

Defined in: src/agent/agent.ts:124

Zod schema for structured output validation.


optional sessionManager: SessionManager;

Defined in: src/agent/agent.ts:128

Session manager for saving and restoring agent sessions


optional traceAttributes: Record<string, AttributeValue>;

Defined in: src/agent/agent.ts:134

Custom trace attributes to include in all spans. These attributes are merged with standard attributes in telemetry spans. Telemetry must be enabled globally via telemetry.setupTracer() for these to take effect.


optional name: string;

Defined in: src/agent/agent.ts:138

Optional name for the agent. Defaults to “Strands Agent”.


optional agentId: string;

Defined in: src/agent/agent.ts:142

Optional unique identifier for the agent. Defaults to “default”.