Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
453e404
Add agent configuration documentation and examples
mrlee-amazon Sep 12, 2025
64d956e
Fix model ID format in documentation to align with Strands expectations
mrlee-amazon Sep 12, 2025
2f97b66
Fix tool names to match strands-agents/tools specifications
mrlee-amazon Sep 12, 2025
14c6e34
Update documentation to show correct tool usage
mrlee-amazon Sep 12, 2025
b27683d
feat: add experimental AgentConfig and ToolPool documentation
mrlee-amazon Sep 23, 2025
ec5d627
refactor: update experimental docs per feedback
mrlee-amazon Sep 23, 2025
ce1dad0
docs: update experimental AgentConfig with latest enhancements
mrlee-amazon Sep 24, 2025
0da957a
docs: add examples using default tools from strands_tools
mrlee-amazon Sep 24, 2025
5414454
docs: clarify ToolPool configuration requirement
mrlee-amazon Sep 24, 2025
879eed1
fix: update coding-assistant.json with correct tools
mrlee-amazon Sep 24, 2025
be10716
docs: update experimental docs for ToolPool to ToolBox rename
mrlee-amazon Sep 24, 2025
da4e62f
docs: fix method name from toAgent to to_agent
mrlee-amazon Sep 24, 2025
dd7cf0e
docs: update experimental features to use ToolRegistry instead of Too…
mrlee-amazon Sep 25, 2025
71346a7
Update docs/user-guide/concepts/experimental/agent-config.md
mr-lee Sep 25, 2025
7f5c711
Update docs/user-guide/concepts/experimental/agent-config.md
mr-lee Sep 25, 2025
b58b7fe
Update docs/user-guide/concepts/experimental/agent-config.md
mr-lee Sep 25, 2025
22a420c
Update docs/user-guide/concepts/experimental/agent-config.md
mr-lee Sep 25, 2025
3205434
Apply suggestions from code review
mr-lee Sep 25, 2025
37bc11a
docs: comprehensive improvements to experimental AgentConfig document…
mrlee-amazon Sep 25, 2025
9e5dc85
docs: fix Using Default Tools example to use pirate agent without tools
mrlee-amazon Sep 25, 2025
1f47b0f
docs: add model provider documentation reference
mrlee-amazon Sep 25, 2025
af49e96
docs: move agent config JSON examples inline
mrlee-amazon Sep 25, 2025
c3627fd
docs: add GitHub links to default tools in AgentConfig
mrlee-amazon Sep 25, 2025
fb93065
docs: fix invalid Agent parameters in AgentConfig examples
mrlee-amazon Sep 25, 2025
a7e747d
docs: update line 112 to use file_read and editor tools
mrlee-amazon Sep 25, 2025
dc17712
docs: consolidate Default Tools Behavior into Using Default Tools sec…
mrlee-amazon Sep 25, 2025
0705376
docs: fix inaccurate description of default tools behavior
mrlee-amazon Sep 25, 2025
c6e8ae0
docs: update agent example to use file_read tool
mrlee-amazon Sep 25, 2025
71af36a
docs: add back experimental caveat to tool list note
mrlee-amazon Sep 25, 2025
241830d
docs: remove duplicate Selecting from Default Tools section
mrlee-amazon Sep 25, 2025
c74ad9a
docs: update error handling sections for raise_exception_on_missing_t…
mrlee-amazon Sep 25, 2025
4795a6f
Update docs/user-guide/concepts/experimental/agent-config.md
mr-lee Sep 26, 2025
3091714
Update docs/user-guide/concepts/experimental/agent-config.md
mr-lee Sep 26, 2025
8af8cd9
Update docs/user-guide/concepts/experimental/agent-config.md
mr-lee Sep 26, 2025
bbb0c02
Apply suggestion from @Unshure
mr-lee Sep 26, 2025
5158db9
Apply suggestion from @Unshure
mr-lee Sep 26, 2025
80b61d0
Apply suggestion from @Unshure
mr-lee Sep 26, 2025
331d6a2
Apply suggestion from @Unshure
mr-lee Sep 26, 2025
f7e5831
Apply suggestion from @Unshure
mr-lee Sep 26, 2025
329f57f
Apply suggestion from @Unshure
mr-lee Sep 26, 2025
04175f0
docs: remove Example: Complete Workflow section
mrlee-amazon Sep 26, 2025
4e271cb
docs: update agent-config.md for new config_to_agent function
mrlee-amazon Sep 26, 2025
71dd104
docs: limit config_to_agent supported keys to core configuration
mrlee-amazon Sep 26, 2025
7edf636
docs: add JSON schema validation documentation
mrlee-amazon Sep 26, 2025
6a66da0
docs: clarify tool limitations and add validation details
mrlee-amazon Sep 27, 2025
a895d25
update docs to match updated pr
Unshure Oct 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 124 additions & 0 deletions docs/user-guide/concepts/experimental/agent-config.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
# Agent Configuration [Experimental]

!!! warning "Experimental Feature"
This feature is experimental and may change in future versions. Use with caution in production environments.

The experimental `config_to_agent` function provides a simple way to create agents from configuration files or dictionaries.

## Overview

`config_to_agent` allows you to:

- Create agents from JSON files or dictionaries
- Use a simple functional interface for agent instantiation
- Support both file paths and dictionary configurations
- Leverage the Agent class's built-in tool loading capabilities

## Basic Usage

### Dictionary Configuration

```python
from strands.experimental import config_to_agent

# Create agent from dictionary
agent = config_to_agent({
"model": "us.anthropic.claude-3-5-sonnet-20241022-v2:0",
"prompt": "You are a helpful assistant"
})
```

### File Configuration

```python
from strands.experimental import config_to_agent

# Load from JSON file (with or without file:// prefix)
agent = config_to_agent("/path/to/config.json")
# or
agent = config_to_agent("file:///path/to/config.json")
```

#### Simple Agent Example

```json
{
"prompt": "You are a helpful assistant."
}
```

#### Coding Assistant Example

```json
{
"model": "us.anthropic.claude-3-5-sonnet-20241022-v2:0",
"prompt": "You are a coding assistant. Help users write, debug, and improve their code. You have access to file operations and can execute shell commands when needed.",
"tools": ["strands_tools.file_read", "strands_tools.editor", "strands_tools.shell"]
}
```

## Configuration Options

### Supported Keys

- `model`: Model identifier (string) - see [model provider documentation](https://strandsagents.com/latest/user-guide/quickstart/#using-a-string-model-id)
- `prompt`: System prompt for the agent (string)
- `tools`: List of tool specifications (list of strings)
- `name`: Agent name (string)

### Tool Loading

The `tools` configuration supports Python-specific tool loading formats:

```json
{
"tools": [
"strands_tools.file_read", // Python module path
"my_app.tools.cake_tool", // Custom module path
"/path/to/another_tool.py", // File path
"my_module.my_tool_function" // @tool annotated function
]
}
```

The Agent class handles all tool loading internally, including:

- Loading from module paths
- Loading from file paths
- Error handling for missing tools
- Tool validation

!!! note "Tool Loading Limitations"
Configuration-based agent setup only works for tools that don't require code-based instantiation. For tools that need constructor arguments or complex setup, use the programmatic approach after creating the agent:

```python
import http.client
from sample_module import ToolWithConfigArg

agent = config_to_agent("config.json")
# Add tools that need code-based instantiation
agent.process_tools([ToolWithConfigArg(http.client.HTTPSConnection("localhost"))])
```

## Function Parameters

The `config_to_agent` function accepts:

- `config`: Either a file path (string) or configuration dictionary
- `**kwargs`: Additional [Agent constructor parameters](https://strandsagents.com/latest/api-reference/agent/#strands.agent.agent.Agent.__init__) that override config values

```python
# Override config values with valid Agent parameters
agent = config_to_agent(
"/path/to/config.json",
name="Data Analyst"
)
```

## Best Practices

1. **Override when needed**: Use kwargs to override configuration values dynamically
2. **Leverage Agent defaults**: Only specify configuration values you want to override
3. **Use standard tool formats**: Follow Agent class conventions for tool specifications
4. **Handle errors gracefully**: Catch FileNotFoundError and JSONDecodeError for robust applications

2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,8 @@ nav:
- Graph: user-guide/concepts/multi-agent/graph.md
- Workflow: user-guide/concepts/multi-agent/workflow.md
- Multi-agent Patterns: user-guide/concepts/multi-agent/multi-agent-patterns.md
- Experimental:
- AgentConfig: user-guide/concepts/experimental/agent-config.md
- Safety & Security:
- Responsible AI: user-guide/safety-security/responsible-ai.md
- Guardrails: user-guide/safety-security/guardrails.md
Expand Down
Loading