AgentConfig
type AgentConfig = { model?: | Model<BaseModelConfig> | string; messages?: | Message[] | MessageData[]; tools?: ToolList; systemPrompt?: | SystemPrompt | SystemPromptData; appState?: Record<string, JSONValue>; printer?: boolean; conversationManager?: ConversationManager; plugins?: Plugin[]; structuredOutputSchema?: z.ZodSchema; sessionManager?: SessionManager; traceAttributes?: Record<string, AttributeValue>; name?: string; description?: string; id?: string;};Defined in: src/agent/agent.ts:79
Configuration object for creating a new Agent.
Properties
Section titled “Properties”model?
Section titled “model?”optional model?: | Model<BaseModelConfig> | string;Defined in: src/agent/agent.ts:102
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.
Example
Section titled “Example”// 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 configurationconst agent = new Agent({ model: new BedrockModel({ modelId: 'anthropic.claude-3-5-sonnet-20240620-v1:0', temperature: 0.7, maxTokens: 2048 })})messages?
Section titled “messages?”optional messages?: | Message[] | MessageData[];Defined in: src/agent/agent.ts:104
An initial set of messages to seed the agent’s conversation history.
tools?
Section titled “tools?”optional tools?: ToolList;Defined in: src/agent/agent.ts:109
An initial set of tools to register with the agent. Accepts nested arrays of tools at any depth, which will be flattened automatically.
systemPrompt?
Section titled “systemPrompt?”optional systemPrompt?: | SystemPrompt | SystemPromptData;Defined in: src/agent/agent.ts:113
A system prompt which guides model behavior.
appState?
Section titled “appState?”optional appState?: Record<string, JSONValue>;Defined in: src/agent/agent.ts:115
Optional initial state values for the agent.
printer?
Section titled “printer?”optional printer?: boolean;Defined in: src/agent/agent.ts:121
Enable automatic printing of agent output to console. When true, prints text generation, reasoning, and tool usage as they occur. Defaults to true.
conversationManager?
Section titled “conversationManager?”optional conversationManager?: ConversationManager;Defined in: src/agent/agent.ts:126
Conversation manager for handling message history and context overflow. Defaults to SlidingWindowConversationManager with windowSize of 40.
plugins?
Section titled “plugins?”optional plugins?: Plugin[];Defined in: src/agent/agent.ts:130
Plugins to register with the agent.
structuredOutputSchema?
Section titled “structuredOutputSchema?”optional structuredOutputSchema?: z.ZodSchema;Defined in: src/agent/agent.ts:134
Zod schema for structured output validation.
sessionManager?
Section titled “sessionManager?”optional sessionManager?: SessionManager;Defined in: src/agent/agent.ts:138
Session manager for saving and restoring agent sessions
traceAttributes?
Section titled “traceAttributes?”optional traceAttributes?: Record<string, AttributeValue>;Defined in: src/agent/agent.ts:144
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:148
Optional name for the agent. Defaults to “Strands Agent”.
description?
Section titled “description?”optional description?: string;Defined in: src/agent/agent.ts:152
Optional description of what the agent does.
optional id?: string;Defined in: src/agent/agent.ts:156
Optional unique identifier for the agent. Defaults to “agent”.