Inheritance
AgentPool supports YAML file inheritance using Yamling, making configurations more reusable and maintainable.
YAML File Inheritance¶
Using Yamling's inheritance system, entire YAML files can inherit from other files:
Remote File Inheritance¶
Yamling supports UPath, allowing inheritance from remote files:
# Inherit from remote sources
INHERIT:
- base.yml
- https://example.com/base_config.yml
- s3://my-bucket/configs/agents.yml
- git+https://github.com/org/repo/config.yml
Inheritance Resolution¶
- Load all inherited files in order
- Merge configurations:
- Later files override earlier ones
- Lists and dictionaries are merged
- Complex fields use smart merging
Reusing Agent Definitions¶
For reusing agent configurations, use file agents - define an agent in a markdown file and reference it multiple times:
config.yml
file_agents:
worker_1: agents/worker.md
worker_2: agents/worker.md # Same definition, different instance
worker_3: agents/worker.md
agents/worker.md
---
model: openai:gpt-5-nano
tools:
- type: file_access
---
You are a file processing worker.
This creates three separate agent instances with identical configurations, which is cleaner than inheritance for simple duplication.
Inheritance in AgentPool helps maintain DRY (Don't Repeat Yourself) configurations while allowing for flexible customization.