框架与应用分层设计
框架层 (agent/): 核心代码、内置预设,可作为独立包发布
应用层 (项目根目录): 项目特定配置,覆盖或扩展框架
agent/)agent/
├── core/ # 核心引擎
│ ├── runner.py # AgentRunner
│ └── config.py # AgentConfig, CallResult
├── execution/ # 执行追踪
│ ├── models.py # Trace, Step
│ ├── protocols.py # TraceStore
│ ├── fs_store.py # FileSystemTraceStore
│ └── tree_dump.py # 可视化
├── memory/ # 记忆系统
│ ├── models.py # Experience, Skill
│ ├── protocols.py # MemoryStore, StateStore
│ ├── stores.py # 存储实现
│ └── skill_loader.py # Skill 加载器(自动加载内置 skills)
├── tools/ # 工具系统
│ ├── builtin/ # 内置基础工具
│ ├── advanced/ # 高级工具(第三方适配)
│ └── adapters/ # 外部集成
├── llm/ # LLM 相关
│ ├── gemini.py
│ ├── openrouter.py
│ └── prompts/ # Prompt 工具
├── skills/ # 框架内置 Skills(自动加载)
│ ├── core.md # 核心 skill,每次运行自动加载
│ └── browser_use/ # 浏览器自动化 skill
└── subagents/ # 内置 Sub-Agent 定义
实现:
agent/core/runner.pyagent/execution/agent/memory/(Skills 自动加载)agent/tools/agent/llm/agent/skills/core.md(自动加载)+ agent/skills/browser_use/(按需加载)agent/subagents/项目特定配置(可选):
your-project/
├── skills/ # 项目特定 Skills
├── subagents/ # 项目特定 Sub-Agents
└── tools/ # 项目特定工具
| 资源 | 框架预设 | 项目配置 | 优先级 |
|---|---|---|---|
| Skills | agent/skills/ |
./skills/ |
项目优先(agent/skills/core.md 总是自动加载) |
| Sub-Agents | agent/subagents/ |
./subagents/ |
项目覆盖 |
| Tools | agent/tools/builtin/ |
./tools/ |
手动注册 |
实现:
agent/memory/skill_loader.py:load_skills_from_dir()
agent/skills/ 中的所有 skills(包括 core.md)skills_dir 参数指定的额外自定义 skillsagent/tools/builtin/skill.py - 搜索路径 ./skills/ → ./agent/skills/from agent import AgentRunner
from agent.llm import create_gemini_llm_call
# Skills 自动加载
# - agent/skills/core.md 总是自动加载
# - agent/skills/ 中的其他 skills 也会自动加载
runner = AgentRunner(
llm_call=create_gemini_llm_call(),
# skills_dir 可选:加载额外的自定义 skills
)
# 加载项目特定的自定义 skills
runner = AgentRunner(
llm_call=create_gemini_llm_call(),
skills_dir="./skills", # 额外加载项目自定义 skills
)
# 结果:agent/skills/ + ./skills/ 中的所有 skills 都会被加载
Skills 加载机制:
agent/skills/ 中的所有 skills(包括 core.md)总是自动加载skills_dir 参数额外加载项目自定义 skillsskill 工具运行时按需加载特定 skill