Study 70 files ยท 12 subfolders
Copy to Workspace 14_CONFIGURATION Shared from "Study" on Inkdown
Configuration - Comprehensive Deep Dive
Overview
Configuration in the OpenAI Agents SDK controls how agents and runs behave. Think of Configuration as "settings" or "preferences" that you can set at different levels - globally, per-run, or per-agent. These settings control everything from which model to use to how many turns are allowed, from tracing behavior to sandbox configuration.
Core Concepts
Configuration Hierarchy
Configuration flows from most specific to most general:
Agent-level - Settings on the Agent instance (highest priority)
RunConfig-level - Settings for a specific run
Global defaults - Default settings for the SDK (lowest priority)
This means:
Agent settings override RunConfig settings
RunConfig settings override global defaults
If not set, the next level down is used
Why Configuration Matters
basic-ques
Flexibility - Adjust behavior without code changes
Environment Differences - Different settings for dev/staging/prod
A/B Testing - Test different configurations
Cost Control - Manage token usage and costs
Safety - Configure guardrails and approvals
Performance - Optimize for speed or quality
RunConfig
RunConfig Overview RunConfig is the main configuration class for agent runs:
Model Configuration
Model Selection
Force a specific model for all agents
Test different models without changing agent code
A/B test models
Model Provider
Use multiple model providers
Provide fallback providers
Test different providers
Model Settings
Set global model parameters
Override agent-specific settings
Tune model behavior
Handoff Configuration
Handoff Input Filter
Control what information is passed between agents
Reduce token usage in handoffs
Filter sensitive information
Nested Handoff History
Reduce token usage in deep handoff chains
Simplify context for nested agents
Optimize for long conversations
Handoff History Mapper
Custom history transformation
Filter specific message types
Add summary messages
Guardrail Configuration
Input Guardrails
Apply guardrails to all agents
Global safety checks
Global validation rules
Output Guardrails
Apply output validation to all agents
Global safety checks
Global formatting rules
Tracing Configuration
Disable Tracing
Improve performance
Reduce overhead
Privacy requirements
Tracing Config
Fine-grained tracing control
Custom tracing behavior
Integration with tracing systems
Sensitive Data
Privacy compliance
Security requirements
Reduce trace size
Workflow Name
Identify runs in traces
Organize traces by workflow
Analytics and reporting
Trace ID
Link to external systems
Custom trace identification
Distributed tracing
Group ID
Link related traces
Group traces by conversation
User-level tracking
Trace Metadata
Add custom metadata
Filter traces by metadata
Analytics integration
Session Configuration
Session Settings
Control session behavior
Manage conversation history
Optimize token usage
Session Input Callback
Custom history combination
Special input processing
Context window management
Model Input Filter
Call Model Input Filter
Modify input before model call
Stay within token limits
Add system prompts dynamically
Filter sensitive information
Tool Configuration
Tool Error Formatter
Customize error messages
Provide user-friendly errors
Translate errors
Reasoning Configuration
Reasoning Item ID Policy
None or "preserve" - Keep reasoning IDs as-is
"omit" - Strip reasoning IDs from model input
Reduce token usage
Privacy for reasoning content
Compatibility issues
Sandbox Configuration
SandboxRunConfig
Configure sandbox execution
Set concurrency limits
Sandbox-specific options
Agent Configuration
Agent-Level Settings Agents have their own configuration:
Configuration Priority Agent settings override RunConfig:
Model Settings Merging Model settings are merged:
Global Configuration
Default OpenAI Key
Default OpenAI API
Default Tracing
Default Agent Registration
Harness ID
Verbose Logging
Environment Variables
OpenAI API Key
Tracing Settings
Verbose Logging
Configuration Patterns
1. Environment-Based Configuration Different configs for different environments:
2. User-Based Configuration Different configs for different users:
3. Task-Based Configuration Different configs for different tasks:
4. Cost-Optimized Configuration
5. Performance-Optimized Configuration
Configuration Validation
Validating RunConfig Validate configuration before use:
Configuration Errors Handle configuration errors:
Configuration Best Practices
1. Use Configuration Files Store configuration in files:
2. Use Environment Variables Use environment for sensitive data:
3. Document Configuration Document configuration options:
4. Use Configuration Validation Validate configuration early:
5. Keep Configuration Simple Don't over-engineer configuration:
Configuration and Testing
Test Configuration Test with different configurations:
Configuration Fixtures Use fixtures for common configurations:
Configuration and Deployment
Configuration in Production Use production-specific configuration:
Configuration in Development Use development-specific configuration:
Summary Configuration controls agent and run behavior. Key takeaways:
RunConfig is the main configuration class
Configuration hierarchy - Agent > RunConfig > Global
Model configuration - model, provider, settings
Handoff configuration - filters, history, mappers
Guardrail configuration - input and output guardrails
Tracing configuration - enable/disable, sensitive data
Session configuration - settings, input callbacks
Model input filter - filter before model call
Tool configuration - error formatting
Reasoning configuration - item ID policy
Sandbox configuration - client, concurrency limits
Agent configuration - agent-specific settings
Global configuration - API keys, defaults
Environment variables - external configuration
Configuration patterns - environment, user, task-based
Configuration validation - validate before use
Configuration files - store in files
Documentation - document configuration options
Testing - test with different configs
Deployment - different configs for different environments
Configuration is essential for flexible, maintainable, and environment-aware agent systems.