Special Considerations¶
Async Context Managers¶
AgentPool and Agents use async context managers - always use async with:
async with AgentPool(manifest) as pool:
async with pool.get_agent("name") as agent:
result = await agent.run("prompt")
MCP Server Lifecycle¶
MCP servers are spawned as subprocesses - pool cleanup handles termination.
Use ProcessManager from anyenv for external process management.
UPath for File Operations¶
Use UPath (universal_pathlib) not Path - supports remote filesystems (s3://, gs://, etc.)
Model Configuration¶
Prefer string shorthand in YAML: model: "openai:gpt-4o"
Fallback models: type: fallback, models: [primary, backup]
Entry Points¶
The project uses entry points for extensibility:
- agentpool_toolsets - Register custom toolsets
- fsspec.specs - Filesystem implementations (ACP)
- universal_pathlib.implementations - Path implementations