乐于分享
好东西不私藏

AI超载 | 第7章:Subagent军团——一人公司的「AI雇佣兵团队」

AI超载 | 第7章:Subagent军团——一人公司的「AI雇佣兵团队」

章节关键词:多 Agent 协作、Task Tool、父子会话、并行动任务、General Agent

章节字数:8,000+

阅读时间:约 25 分钟

///

PART 01

开篇:一个人能做的事有限,一群人能做的事无限

想象一下:

你是公司里唯一的工程师。老板说:「下周一要上线新功能。」

你一个人,既要写代码,又要 review 代码,又要写测试,又要部署上线。你忙得焦头烂额,但时间还是不够用。

你多么希望有一个人能帮你分担——

  • 一个人专门写代码
  • 一个人专门 review 代码
  • 一个人专门写测试
  • 一个人专门部署上线

可惜你请不起这么多人。

但你可以创建一个「AI 雇佣兵团队」。

///

PART 02

7.1 为什么一个人需要「Agent 团队」?

7.1.1 一个人的瓶颈

一个人的时间和精力是有限的。

当你独自工作时,你会发现:

瓶颈一:上下文切换

写代码写到一半,被叫去 review 代码。review 到一半,又要回来写代码。

每一次切换,你的大脑都需要重新加载上下文。这叫「认知负荷」。

传统工作流程的上下文切换:

┌─────────┐   ┌─────────┐   ┌─────────┐

│ 写代码  │ → │ Review  │ → │ 写测试  │

│ 45分钟  │   │ 30分钟  │   │ 45分钟  │

└─────────┘   └─────────┘   └─────────┘

     ↑                                    ↑

     └──── 每次切换损失 10-15 分钟 ────┘

瓶颈二:串行执行

一个人一次只能做一件事。写代码的时候不能 review,review 的时候不能测试。

串行执行:

时间线 ──────────────────────────────────→

        ↓写代码↓review ↓写测试↓部署

        1小时  1小时   1小时  1小时

        = 总共 4 小时

瓶颈三:能力单一

一个人不可能同时是:

  • 代码高手
  • 安全专家
  • 测试专家
  • DevOps 专家
  • 文档专家

但 AI Agent 团队可以——每个 Subagent 可以是各自领域的专家。

7.1.2 Agent 团队的优势

并行执行:

时间线 ──────────────────────────────────→

  Agent A:写代码 ████████████

  Agent B:review        ████████████

  Agent C:写测试              ████████████

  Agent D:部署                      ████████████

        = 总共 1 小时(并行)

优势一:并行工作

多个 Agent 同时工作,总时间大幅缩短。

优势二:专业化分工

每个 Agent 专注自己的领域,成为「专家」。

优势三:无限扩展

只要你愿意,可以创建任意数量的 Agent。

///

PART 03

7.2 多 Agent 协作的三种经典模式

7.2.1 模式概览

在 OpenCode 中,多 Agent 协作有三种经典模式:

模式图示适用场景
顺序执行A → B → C任务有依赖,必须按顺序
并行执行A // B // C任务独立,同时进行
层级委托主 → 子 → 孙复杂任务,多层分解

7.2.2 模式一:顺序执行

planner → executor → reviewer

  ↑        ↑          ↑

规划者    执行者     审查者

流程

  1. Planner Agent 制定计划
  2. Executor Agent 执行计划
  3. Reviewer Agent 审查结果

适用场景

  • 代码实现(写 → review → 修改)
  • 文档创作(写 → 审阅 → 修订)
  • 架构设计(评估 → 决策 → 实施)

示例

任务:实现用户登录功能

步骤 1:Planner Agent 制定计划

「需要:

1. 创建用户模型

2. 实现认证服务

3. 创建登录 API

4. 添加单元测试」

步骤 2:Executor Agent 执行

「按照计划实现:创建用户模型...」

步骤 3:Reviewer Agent 审查

「发现安全问题:密码明文存储,需要加密」

7.2.3 模式二:并行执行

Agent A ──┐

Agent B ──┼──→ 汇总

Agent C ──┘

流程

  1. 主 Agent 分解任务
  2. 多个 Subagent 并行执行
  3. 主 Agent 汇总结果

适用场景

  • 多个独立模块同时开发
  • 代码审查多个文件
  • 探索多个代码库
  • 批量生成内容

示例

任务:审查 10 个核心文件的质量

分解:

- 文件 1-3 → Subagent A

- 文件 4-6 → Subagent B

- 文件 7-10 → Subagent C

并行执行:

Subagent A:「文件 1-3 审查完成,发现 5 个问题」

Subagent B:「文件 4-6 审查完成,发现 3 个问题」

Subagent C:「文件 7-10 审查完成,发现 7 个问题」

汇总:

主 Agent:「共发现 15 个问题,其中 3 个严重问题...」

7.2.4 模式三:层级委托

主 Agent(CEO)

    ↓ 委托任务

┌─── Subagent A(部门经理)

│        ↓ 委托子任务

│    ┌─ Subagent A1(员工)

│    └─ Subagent A2(员工)

└─── Subagent B(部门经理)

         ↓ 委托子任务

     ┌─ Subagent B1(员工)

     └─ Subagent B2(员工)

流程

  1. 主 Agent 分配任务给 Subagent
  2. Subagent 再分解任务给更小的 Subagent
  3. 结果逐层上报汇总

适用场景

  • 大型系统开发
  • 多团队协作项目
  • 复杂的多层次任务

示例

任务:重构整个电商系统

主 Agent 分配:

→ Subagent A:「负责订单模块重构」

    → Subagent A1:「负责订单服务」

    → Subagent A2:「负责订单数据库」

→ Subagent B:「负责用户模块重构」

    → Subagent B1:「负责用户服务」

    → Subagent B2:「负责用户认证」

→ Subagent C:「负责支付模块重构」

    → Subagent C1:「负责支付服务」

    → Subagent C2:「负责支付网关」

结果逐层汇总,最终主 Agent 输出完整的重构方案

///

PART 04

7.3 Task Tool:创建 Subagent 的核心机制

7.3.1 Task Tool 是什么?

Task Tool 是 OpenCode 中用于创建 Subagent 的核心工具。

它的本质是:

Task Tool 工作原理:

1. 主 Agent 定义任务

   「帮我分析 src/users/ 模块」

2. Task Tool 创建 Subagent Session

   分配独立环境,启动 AI

3. Subagent 执行任务

   读取文件,分析代码

4. Subagent 返回结果

   主 Agent 接收摘要

5. 主 Agent 继续处理

   基于结果继续工作

7.3.2 Task Tool 的基本语法

在 OpenCode 中,使用 Task Tool 创建 Subagent:

> [Task Tool]

> 任务描述:分析 src/users/ 模块的架构

> 输出格式:架构报告

> 输出路径:.opencode/explore/user-module.md

7.3.3 50 次调用限制的理解

每个主 Session 最多创建 50 个 Subagent。

这个限制让很多人困惑:「50 个?太少了吧?」

但实际上,50 个已经非常足够了。

❌ 错误理解:

50 个 Subagent = 只能做 50 件事

✅ 正确理解:

50 个 Subagent = 50 个「大型任务槽」

正确用法:

1 个 Subagent 做 1 件大事

= 50 件大事

错误用法:

50 个 Subagent 各做 1 件小事

= 50 件小事(浪费了 Subagent 的能力)

7.3.4 Task Tool 的三大限制

限制一:无历史记忆

Subagent 没有之前对话的记忆,每次任务都需要完整信息。

❌ 错误示范:

主 Agent → Subagent:「继续上次的工作」

(Subagent 完全不记得上次是什么)

✅ 正确示范:

主 Agent → Subagent:「请分析 src/orders/ 模块,输出架构报告到指定路径」

(任务明确,完整描述)

限制二:有限上下文

Subagent 的上下文窗口比主 Agent 小,不能处理超大型任务。

Subagent 适合:

- 分析单一模块(10-50 个文件)

- 实现单个功能(1-5 个文件)

- 执行单一操作(1 次工具调用)

Subagent 不适合:

- 分析整个系统(1000+ 文件)

- 实现完整系统(100+ 文件)

- 多轮对话(需要上下文保持)

限制三:需要明确任务描述

Subagent 不能理解模糊的任务,必须给出精确的指令。

❌ 模糊任务:

> 帮我看看这个代码有什么问题

✅ 明确任务:

> 请审查 src/orders/order.service.ts 中的以下内容:

> 1. 是否有 SQL 注入风险

> 2. 是否有空指针异常

> 3. 错误处理是否完善

> 输出格式:检查清单 + 问题列表

///

PART 05

7.4 Subagent 的三大限制详解

7.4.1 限制一:无历史记忆

Subagent 每次运行都是从「空白」开始。

主 Agent Session:

用户:「我们讨论过...」

Agent:「我记得,上次你说...」

Subagent Session:

用户:「我们讨论过...」

Agent:「抱歉,我不记得之前发生了什么」

为什么这是限制?

如果你的任务需要「记住之前的上下文」,Subagent 无法胜任。

❌ Subagent 无法处理:

「继续上次没写完的代码...」

(Subagent 不记得上次是什么)

✅ Subagent 擅长处理:

「分析这个模块,输出报告」

(每次都是完整的新任务)

如何克服?

将需要「记忆」的内容写入文件,Subagent 通过读取文件来获取上下文。

解决方案:

1. 主 Agent 把上下文写入文件

2. Subagent 读取文件

3. Subagent 基于文件内容执行任务

7.4.2 限制二:有限上下文

Subagent 的上下文窗口比主 Agent 小。

主 Agent:完整上下文窗口(如 200K tokens)

Subagent:减半的上下文窗口(如 100K tokens)

为什么这是设计意图?

Subagent 被设计用来处理「单一、明确」的任务,不需要大量上下文。

✅ Subagent 的正确打开方式:

任务足够小,Subagent 能完整处理

= 主 Agent 分配一个「明确的小任务」

❌ Subagent 的错误打开方式:

任务太大,Subagent 上下文装不下

= 应该用主 Agent 而不是 Subagent

7.4.3 限制三:需要明确任务描述

Subagent 不能理解隐含的意图,必须有清晰的指令。

❌ 模糊指令:

> 帮我看看这个代码

✅ 清晰指令:

> 请审查 src/users/user.service.ts 的代码质量,

> 检查以下方面:

> 1. 代码可读性(命名、注释、结构)

> 2. 错误处理(异常捕获、日志记录)

> 3. 安全性(输入验证、权限检查)

> 4. 性能(数据库查询、循环优化)

> 输出格式:问题列表 + 严重程度评级

///

PART 06

7.5 General Agent:擅长复杂研究、多步骤任务

7.5.1 什么是 General Agent?

与 Subagent 不同,General Agent 是主会话中的「全能型」Agent。

General Agent(主会话):

✅ 完整上下文

✅ 完整历史记忆

✅ 可以多轮对话

✅ 可以读写文件

✅ 可以执行命令

✅ 知道所有之前的操作

Subagent(Task Tool 创建):

✅ 独立 Session

❌ 无历史记忆

❌ 有限上下文

❌ 任务单一明确

❌ 专注执行

7.5.2 什么时候用 General Agent?

任务类型推荐
复杂架构设计General Agent
多步骤调试General Agent
需要回顾上下文General Agent
开放性研究General Agent
单一模块分析Subagent
独立任务执行Subagent
并行批量操作Subagent × N

7.5.3 General Agent vs Subagent 的协作

最佳实践:General + Subagent 协作

General Agent(主)

├── 规划任务

├── 分解任务

├── 分派给 Subagent

└── 汇总结果

    │

    ├── Subagent A → 并行执行独立任务

    ├── Subagent B → 并行执行独立任务

    └── Subagent C → 并行执行独立任务

///

PART 07

7.6 Task Tool 的委托策略

7.6.1 委托策略矩阵

根据技术底稿,不同任务应该委托给不同类型的 Agent:

任务类型                    → 委托对象

─────────────────────────────────────────────────────

复杂功能规划                → planner

代码刚写完需要审查          → code-reviewer

Bug 修复或新功能开发         → tdd-guide

架构决策                    → architect

安全敏感代码审查            → security-reviewer

自主循环执行/监控停滞        → loop-operator

Harness 配置调优            → harness-optimizer

探索/搜索代码库             → Subagent(Haiku)

简单编辑                    → Subagent(Haiku)

多文件实现                  → 主 Agent(Sonnet)

复杂架构                    → 主 Agent(Opus)

安全分析                    → 主 Agent(Opus)

7.6.2 模型选择策略

Subagent 可以使用不同的模型,以优化成本:

{

  "model": "sonnet",                    // 主 Agent:日常默认

  "env": {

    "MAX_THINKING_TOKENS": "10000",     // 控制思考 token

    "CLAUDE_CODE_SUBAGENT_MODEL": "haiku"  // Subagent:80% 便宜

  }

}

推荐配置说明

配置默认推荐效果
modelopussonnet60% 成本降低
CLAUDE_CODE_SUBAGENT_MODELopushaiku80% Subagent 成本降低

为什么 Subagent 用 Haiku?

因为 Subagent 处理的任务通常比较简单,不需要 Opus 的深度推理能力。

Haiku 适合 Subagent:

- 快速搜索文件

- 简单代码分析

- 单一模块理解

- 格式化输出

Haiku 不适合:

- 复杂架构设计

- 安全漏洞分析

- 多文件重构

///

PART 08

7.7 实际案例:用 4 个 Agent 并行完成代码审查 + 重构 + 测试

7.7.1 项目背景

你负责的订单模块需要进行以下工作:

  • 代码审查:检查现有代码的质量问题
  • 功能重构:优化订单状态机
  • 单元测试:补充测试覆盖率
  • 性能优化:解决 N+1 查询问题

按照传统方式,你需要 4 个小时(每项 1 小时)。

用 Agent 团队,你只需要 1 小时

7.7.2 第一步:主 Agent 规划任务

> 我需要对订单模块进行以下改进:

> 1. 代码审查(发现质量问题)

> 2. 状态机重构(优化设计)

> 3. 单元测试(补充覆盖率)

> 4. 性能优化(解决 N+1)

>

> 请用 Subagent 并行处理这些任务。

7.7.3 第二步:创建 4 个 Subagent 并行执行

主 Agent 创建 4 个 Subagent:

Subagent A(代码审查):

「审查 src/modules/order/ 目录下的所有文件,

输出:问题列表 + 严重程度评级 + 建议修复方案」

Subagent B(状态机重构):

「分析 src/modules/order/state-machine.ts,

输出:当前设计问题 + 优化方案 + 实施步骤」

Subagent C(单元测试):

「分析 src/modules/order/ 的代码,

输出:缺失的测试用例清单 + 建议的测试覆盖点」

Subagent D(性能优化):

「分析 src/modules/order/ 的数据库查询,

输出:N+1 查询问题清单 + 优化 SQL + 预期性能提升」

7.7.4 第三步:Subagent 并行执行

时间线(并行):

0分钟 ──────────────────────────────────→ 60分钟

  │

  ├─ Subagent A:审查代码 ████████████ ✓

  ├─ Subagent B:分析状态机 ████████████ ✓

  ├─ Subagent C:规划测试 ████████████ ✓

  └─ Subagent D:分析性能 ████████████ ✓

              ↑

           同时进行

7.7.5 第四步:汇总结果

主 Agent 收集并汇总:

Subagent A(代码审查):

✅ 发现 12 个问题

├── 🔴 严重(阻塞):2 个

│   - 密码明文存储

│   - SQL 注入风险

├── 🟡 中等:5 个

│   - 缺少错误处理

│   - 日志记录不规范

└── 🟢 建议:5 个

    - 命名不规范

    - 注释缺失

Subagent B(状态机重构):

✅ 发现 3 个设计问题

├── 状态转换规则不清晰

├── 缺少状态验证

└── 事件定义冗余

✅ 输出优化方案

Subagent C(单元测试):

✅ 缺失 15 个测试用例

├── 4 个核心业务逻辑

├── 6 个边界条件

└── 5 个异常处理

Subagent D(性能优化):

✅ 发现 4 个 N+1 查询

├── 订单列表查询用户信息

├── 订单查询商品详情

└── 批量查询重复执行

✅ 优化后预期提升 70% 性能

7.7.6 第五步:主 Agent 协调执行

主 Agent 基于汇总结果,协调执行:

步骤 1:优先修复阻塞问题

→ 派发 Subagent 修复:密码加密、SQL 注入

步骤 2:执行状态机重构

→ 派发 Subagent:基于优化方案重构

步骤 3:补充单元测试

→ 派发 Subagent:基于测试清单编写测试

步骤 4:性能优化

→ 派发 Subagent:优化 N+1 查询

步骤 5:最终 review

→ 主 Agent 综合验收

7.7.7 最终成果

工作项传统方式Agent 团队
代码审查1 小时15 分钟(并行)
状态机重构1 小时15 分钟(并行)
单元测试1 小时15 分钟(并行)
性能优化1 小时15 分钟(并行)
总计4 小时1 小时

效率提升:4 倍!

///

PART 09

7.8 并行执行的最佳实践

7.8.1 任务分解原则

原则一:任务必须独立

并行任务之间不能有依赖关系。

❌ 错误分解:

Task A:「读取数据」

Task B:「处理 A 的数据」  ← 依赖 A,不能并行

✅ 正确分解:

Task A:「读取数据」

Task B:「读取配置」

Task C:「读取用户信息」

(三个任务独立,可以并行)

原则二:任务粒度要合适

任务太小,数量太多(浪费资源)。任务太大,无法并行。

❌ 任务太小:

10 个文件 → 拆成 10 个 Task

(Task 创建有开销,不值得)

✅ 任务合适:

10 个文件 → 拆成 3 个 Task(3+3+4)

(每个 Task 3-4 个文件,平衡良好)

❌ 任务太大:

100 个文件 → 1 个 Task

(太大,无法并行,Subagent 上下文可能不够)

原则三:明确输出格式

每个 Subagent 必须有明确的输出格式。

✅ 好的任务描述:

「分析 src/users/ 模块,输出:

1. 模块结构(文件列表)

2. 每个文件用途说明

3. 关键函数清单

4. 依赖关系图

输出到:.opencode/explore/users-module.md」

❌ 差的任务描述:

「帮我看看这个模块有什么问题」

(太模糊,输出不可预测)

7.8.2 并行数量控制

不是越多越好,要考虑系统资源。

推荐并行数量:

- 小项目(< 10 文件):2-3 个 Subagent

- 中项目(10-50 文件):3-5 个 Subagent

- 大项目(50+ 文件):5-10 个 Subagent

注意:50 次调用限制是总量,不是单次并行的数量

7.8.3 结果汇总策略

策略一:统一输出格式

让所有 Subagent 按相同格式输出,方便汇总。

Subagent A:「发现 5 个问题,格式:问题+级别+建议」

Subagent B:「发现 3 个问题,格式:问题+级别+建议」

Subagent C:「发现 7 个问题,格式:问题+级别+建议」

主 Agent 汇总:

「共发现 15 个问题,按严重程度分类:

🔴 严重:3 个

🟡 中等:7 个

🟢 建议:5 个」

策略二:优先级排序

主 Agent 汇总时,按优先级排序处理。

汇总结果:

1. 🔴 严重问题 1(阻塞上线)

2. 🔴 严重问题 2(安全风险)

3. 🟡 中等问题 1(功能缺陷)

...

///

PART 10

7.9 常见问题与解决方案

Q1:Subagent 返回的结果太简略怎么办?

A:在任务描述中明确要求详细的输出格式。

❌ 模糊任务:

> 帮我分析这个模块

✅ 详细任务:

> 帮我分析 src/orders/ 模块,输出包含:

> 1. 模块结构(文件树)

> 2. 每个文件用途(1-2 句话)

> 3. 核心函数列表(函数名+参数+返回值)

> 4. 模块依赖关系

> 5. 关键设计模式识别

> 6. 建议的阅读顺序

> 输出格式:Markdown 文档

Q2:Subagent 之间需要通信怎么办?

A:通过主 Agent 中转。

Subagent A → 主 Agent → Subagent B

示例:

1. Subagent A 分析完毕,发现需要调用某个 API

2. Subagent A 把发现写入文件

3. 主 Agent 读取文件,发现需要让 Subagent B 处理

4. 主 Agent 创建 Subagent B,读取 Subagent A 的输出

5. Subagent B 基于 Subagent A 的结果继续工作

Q3:50 个 Subagent 用完了怎么办?

A:清理已完成的 Subagent,重新使用。

每个 Task Tool 调用 = 1 个 Subagent 配额

✅ 用完配额的方法:

1. 等待当前任务完成

2. Subagent 结果已汇总到主 Agent

3. 继续下一个任务(可以用新的 Subagent)

❌ 错误方法:

创建大量微小 Task(每个 Task 只做 1 件事)

= 50 次调用只能做 50 件小事

Q4:Subagent 执行失败怎么办?

A:设置重试机制和错误处理。

Task Tool 调用时可以设置:

- max_attempts:最大重试次数

- timeout:超时时间

- fallback:失败时的备选方案

///

PART 11

7.10 本章小结

核心知识点

知识点关键内容
Agent 团队多个 Subagent 并行工作,效率提升 4 倍
三种协作模式顺序执行、并行执行、层级委托
Task Tool创建 Subagent 的核心机制,50 次限制
Subagent 三大限制无历史记忆、有限上下文、需要明确任务描述
General Agent适合复杂研究、多步骤任务
委托策略不同任务委托给不同的 Agent

关键术语

术语定义
Subagent主 Agent 派生的独立执行进程
Task Tool创建 Subagent 的核心工具
Session 隔离Subagent 无历史记忆,每次新开始
并行执行多个 Subagent 同时工作
顺序执行任务有依赖,按顺序执行
General Agent主会话中的全能 Agent
HaikuSubagent 推荐模型(80% 便宜)

三种协作模式对比

模式图示适用场景
顺序执行A → B → C任务有依赖
并行执行A // B // C独立任务
层级委托主 → 子 → 孙复杂多层次

行动建议

  1. 立即行动(10 分钟):体验并行 Subagent:
  • 选择一个多模块任务
  • 创建 2-3 个 Subagent 并行执行
  1. 下一步(30 分钟):完整 Agent 团队流程:
  • 主 Agent 规划
  • 分解任务
  • 并行执行
  • 汇总结果
  • 协调修复
  1. 持续优化:建立团队协作模板
  • 代码审查 Agent 模板
  • 重构规划 Agent 模板
  • 测试生成 Agent 模板

///

PART 12

下章预告

*第 8 章:Skill 系统——把老员工的脑子「复制」进 AI*

///

*本章完。*

THANKS FOR READING

🦐 龙虾 · OpenClaw 技术分享

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-11 13:42:10 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/600405.html
  2. 运行时间 : 0.137582s [ 吞吐率:7.27req/s ] 内存消耗:4,772.11kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=1de7f27782adf3f1f6f45dcb4106ddb4
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000532s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000779s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000329s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000263s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000526s ]
  6. SELECT * FROM `set` [ RunTime:0.000202s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000514s ]
  8. SELECT * FROM `article` WHERE `id` = 600405 LIMIT 1 [ RunTime:0.000466s ]
  9. UPDATE `article` SET `lasttime` = 1778478131 WHERE `id` = 600405 [ RunTime:0.011289s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000335s ]
  11. SELECT * FROM `article` WHERE `id` < 600405 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000615s ]
  12. SELECT * FROM `article` WHERE `id` > 600405 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000410s ]
  13. SELECT * FROM `article` WHERE `id` < 600405 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.006637s ]
  14. SELECT * FROM `article` WHERE `id` < 600405 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001272s ]
  15. SELECT * FROM `article` WHERE `id` < 600405 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000863s ]
0.141677s