XAgent 源码学习
以任务树、计划迭代、反思和工具服务器为中心的自主任务执行框架。这不是 API 速查表,而是一条可以重复走的源码路线:每天用 30 分钟,从一个真实相对路径出发,先用类比建立直觉,再把它接回整条运行链路。
开篇 · 这是个什么项目
XAgent 可以先想成一间项目经理带着执行小队。它的代码不是一堆孤立文件:入口接到需求,核心对象做判断,工具或模型完成工作,状态把结果交给下一个环节。
架构全景(动起来看)
发光扫过的每一层都是一次任务可能经过的站点。不同仓库命名不同,但「接入 → 编排 → 核心能力 → 资源」的责任边界很相似。
怎么使用这份教程
每天 30 分钟
6 讲,每讲先问问题,再给本质和大白话。
真实相对路径
所有路径都从项目根目录算,不把你的机器路径写进源码引用。
先验证再推理
每页都有可复制 bash 命令;文件版本变化时以本地实际内容为准。
可迁移方法
学会从入口、数据结构、循环和扩展点读任何 AI 项目。
run.py 的任务启动参数
run.py:认识 task、模型、计划树限制等运行参数。
全局配置读取
XAgent/config.py:理解 YAML 配置如何驱动模型和工作流。
任务请求对象
XAgent/workflow/base_query.py:查看用户任务如何变成内部 Query。
XAgentCoreComponents 装配
XAgent/core.py:沿 register_all 建立系统地图。
Agent Dispatcher 能力派工
XAgent/agent/dispatcher.py:理解能力标签到 Agent 类的映射。
运行记录器
XAgent/recorder.py:理解任务状态、计划和工具结果为何被持久化。
Plan 与任务树
XAgent/data_structure/plan.py:学习父子任务、遍历和状态推进。
任务节点数据
XAgent/data_structure/node.py:理解节点关系与任务属性。
生成初始计划
XAgent/workflow/plan_exec.py:跟踪 PlanAgent 和 function-call 拆解。
计划生成 Agent
XAgent/agent/plan_generate_agent/agent.py:理解提示词、函数 schema 和解析结果。
任务处理主流程
XAgent/workflow/task_handler.py:阅读取任务、执行、更新状态的主线。
工具执行 Agent
XAgent/agent/tool_agent/agent.py:理解任务上下文如何变成工具调用。
函数与工具桥接
XAgent/function_handler.py:查看工具 schema 汇总与分发。
ToolServer 客户端接口
XAgent/toolserver_interface.py:理解工具服务连接、执行和文件回收。