乐于分享
好东西不私藏

Towards AI 是怎么搭 Deep Research Agent 的?

Towards AI 是怎么搭 Deep Research Agent 的?

这个视频内容很实在和工程实践相符,在喧嚣的时代没有实事求是能够帮助你排除噪音更可贵的,建议深度阅读。

加拿大一家 CRM 平台找到 Towards AI,需要一个 Multi-Agent 系统,原因是他们正申请一笔 AI 资助,需要一个 AI Native 的产品来匹配。他们的需求很简单,让用户能够一键生成营销内容。Towards AI 的 CTO Louis-François Bouchard 和他们一起拆解流程,整个流程只需要四步,制定计划、检索客户数据、生成内容、校验和修正,并且四步永远是同样的顺序。

最后他们只搭了一个 Agent。但把验证、SMS 格式、email 格式做成独立 Tools,每个 Tool 有自己的 System Prompt、自己的校验逻辑、甚至可以自己调用 LLM。唯一的 Agent 拥有全局上下文,这个 Agent 同时是 Planner 和决策者。

这是 AI Engineer 大会上一场两小时 workshop 的开头片段。三个讲者常年做 AI 工程教育。Louis 在 ChatGPT 出来之前是 Mila 的 AI 博士生,做了七年论文讲解视频。Paul Iusztin 写过畅销书《LLM Engineer's Handbook》,做过自动驾驶感知、零售视觉、再到金融 Agent,十年软件工程的密度。Samridhi 是 Towards AI 的机器学习工程师,负责把整套系统的代码跑起来。三个人合起来做了一套"一键把主题变成可发布技术文章"的系统,又反过来用这套系统做了一门课,教别人怎么搭建这套系统。

他们想回答的是 AI 工程师的判断力到底应该放在哪里。

判断什么时候不上 Agent

Louis 开场先画了一条关于系统自主性的滑杆。最左端是简单的 Prompt,最右端是完整的 Agentic 系统。越往右走,系统自主性越高,你对它的控制力就越弱,成本也越高。他们给客户做项目时的一条经验是,永远先用最简单的方案,能 Prompt 解决就别搭 Workflow,能 Workflow 解决就别搭 Agent。

那 Agent 的边界在哪里?Louis 沿用了 Anthropic 的一句定义,当系统需要采取行动、并且能对环境里发生的事情做出反应时,它才叫 Agent。能判断该用哪个工具,更重要是能判断不该用哪个工具。

反例也很具体。一个客服工单系统的流程永远是收工单、分类、路由、起草回复、按策略校验、发送,六步顺序一成不变。把这个做成 Agent 只会徒增开销,没有任何收益。什么时候才真的需要 Agent?当系统必须动态分支的时候,比如要调不同 API、要写数据库、要看情况跳过某一步。CRM 那个营销内容 chatbot 看起来该做成 Agent,但拆开后发现是四步固定的事,全程依赖同一份上下文,所以做成了单 Agent 加专家 Tools 的结构,没有走 Multi-Agent 路线。

但这种克制带来一条反直觉的工程约束,当所有东西都压在一个 Agent 里,又会撞上「Context Rot」的天花板。

Context Rot 的真实阈值是 200k

模型厂商宣传的上下文窗口是一百万 Token,Louis 在现场给的观察是,性能衰退远在 1M 之前就开始了,大约超过 200k 就迅速恶化。

原因来自 Long-Context 模型的训练方式,喂一大段语料、中间塞一个随机事实、让模型检索那个事实。这训的是"从一大堆里挑出一个具体片段"的能力,但不具备综合整本书来回答问题的能力。要训后者,数据集做起来太贵。

结果就是每个 AI 工程师实际上都在管理一份 Context Budget。手段是裁剪、摘要、按条件检索,Claude Code 代码泄露出来的一批 Compaction 技巧也值得翻一翻。但 Louis 最看好的方向是 Delegation,把活交给独立上下文的 Sub-Agents,这也是现在主流 Agent Harness 的做法。

什么时候应该上 Multi-Agent 也就明确起来。工具数超过 20 个、上下文被撑爆、真正需要自主决策、或者有合规隔离要求(比如医院里 Agent 必须本地部署)。除此之外的 Multi-Agent 需求,多数是把简单问题搞复杂。

两个 Agent 不搞编排,只共享文件

回到他们自己的 Deep Research 系统。Louis 做的第一个决策是把整件事拆成两个彻底独立的系统,一个 Research Agent 负责探索、迭代、在网上搜到满意为止,一个 Writer 负责把研究结果写成技术文章。原因很直接,研究需要 flexibility,写作需要 constraint。写作靠自由发挥会跑出 AI 腔,研究用固定步骤又会被卡住。

接下来是两个 Agent 怎么通信。团队实际使用时发现一个规律,要么两个 Agent 都用,要么都不用。几乎没有人在两者之间来回切。真要切,也只是最后让 Writer 加一点新建议或者删几段。一旦要大改,干脆整条流水线重跑一遍。

所以他们给出的决定是顺序跑,不搞编排层。一个很简单的脚本,两个 Agent 共享一份 research.md 文件。两个 Agent 放同一个项目,既好维护,又对 Claude Code 这类 AI 辅助编程工具特别友好,这样的目录布局让 AI 辅助工具能同时看懂两边的代码。

Guideline 这一部分值得学习。Guideline 由人手写,格式包含主题是什么、这节课想覆盖什么、人工推荐的几个 source 链接。Louis 反复强调的一句话是,"我们越把 Agent 的目标定得细、给它的自由越少,结果越好"。这是他们做完几百份课程之后得出的结论。

写文章这件事,根本不需要 Agent

交接到 Paul 之后,他直接说,写内容根本不需要 Agent,不管是 LinkedIn 帖子、视频、文章还是课程讲义。流程非常静态,每次走的都是同样的步骤。塞 Agent 进来只会把事情搞复杂。

他们的 Writing Workflow 分成三段,加载 Context、调 LLM 出初稿、跑 Evaluator-Optimizer 循环。Context 这一段有三个具体手法值得看。

第一个手法是把 Guideline 结构化。Guideline 要写清楚 angle、target audience、key points、tone、character 约束,"给我写一篇 X 主题的帖子"这种笼统问法不够用。这也是整个系统里每次需要手写的唯一部分。Paul 在 demo 里展示了一份真实 Guideline 文件,五个字段加起来几十行文字。如果你不愿花这点力气,产出就是 slop。

第二个手法是三份静态 Writing Profile,都是 Markdown 文件。Structure Profile 写 LinkedIn 帖子的长度和 hook / body / CTA 结构。Terminology Profile 维护一份 AI slop 词的黑名单(delve、tapestry、vibrant 这类)。Character Profile 配讲者自己的传记和风格。Paul 对黑名单的措辞是,你只能维护一份超长名单,然后客客气气地请求 LLM 别用这些词,直到你自己开始像人类一样用它们为止。

第三个手法是 Few-shot examples。Paul 放了 3 条他自己 traction 最好的 LinkedIn 帖子。为什么是 3?他说"3 是玄学,老实说是猜的"。原则是在能做对事的前提下尽可能少。他的方法是从大数字往下砍,砍到不 work 为止再补一条回去。原因是 Few-shot 永远在 System Prompt 里,Token 越多越贵、越慢,还会因为 Context 膨胀导致性能下滑。

Reviewer 跑在独立上下文里

Evaluator-Optimizer 的做法值得拆开看。它跑两次 LLM 调用,但运行在两个完全独立的上下文窗口里,一个是 Writer,另一个是 Reviewer。Writer 写完初稿,Reviewer 在一个全新的上下文里拿到这份稿子做审校。

Paul 给出的原因是,LLM 天然偏爱自己写的东西,扔到新上下文里重新审,就能去掉这个偏见。

Reviewer 检查三件事,优先级依次是 Guideline、Research、Profile,冲突时按这个排序取舍。Reviewer 的输出是一组 Pydantic 结构化对象,每个对象有 Profile、location、comment 三个字段,每个字段都配一段说明告诉 LLM 这里该填什么。这是一种 Prompt Engineering 手法,效果远强于让 LLM 随便写。

loop 的终止条件是另一个值得看的决定。常见做法是 Reviewer 打分、跑到达到阈值为止,Paul 没使用这个方法。他的说法是,创造性工作是主观的,阈值很难量化,这个 loop 会噪音很大,很不可靠,直接写死跑 3 到 4 轮反而更稳。

还有一个产品设计上的细节,所有 draft 版本都保留在工作目录里。因为 Reviewer 太激进反而会把人不喜欢的东西改进来,你得能回过去挑最满意的那一版。AI 内容工具普遍只给最终产出,"给你 v0 到 v4 自己挑"反而是低成本、高差异的产品选择。

评估 LLM Judge 本身才是最重要的一步

最后一部分是 AI Evals。

典型失控过程是这样的。生成一条你读一下说还行,生成 10 条你读两三条凑合,到 100 条你根本不可能靠眼睛看。更严重的是,每加一个新 feature 都可能把老功能搞坏。你用的是 Prompt,某个地方多出一个词就能让整套东西崩掉。

所以 Evals 要建一个数据集,然后在上面训一个 LLM Judge。Paul 的具体做法里有两条铁律。

第一条,永远不要让 LLM 直接生成 Output。做合成数据时可以让 LLM 帮你生成 Input,但 Output 必须来自你真实系统,因为你测的就是这个系统。他从自己 LinkedIn 抽了 20 条真实帖子,反向工程出 Guideline,再用真实的 Deep Research Agent 跑出 Research,最后让真实 Writing Workflow 生成新帖子。然后人工逐条打 pass / fail 和两三句 critique。这条铁律常被合成数据实践忽视,很多团队让 LLM 生成 Input 和 Output 一起来,测出来的永远是 Judge 和 Data Generator 之间的自我循环。

第二条,一定要评估 Judge 本身。这一步被大多数做 LLM-as-Judge 的团队直接跳过,但 Paul 说它恰恰是最重要的一步。Judge 本质是个二元分类器,按训分类器的流程走,dev split 跑 Judge 算 F1,调 Prompt 和 Few-shot 把 F1 拉满,最后在 test split 上做终验。判断过拟合靠的是 dev 和 test F1 的差值,dev 高加上 test 低就是过拟合。绝对数字反而只反映数据分布。

Paul 最后跑了一段 demo。他在模拟的线上 Trace 上跑自己校准过的 LLM Judge,结果 Judge 对所有 Trace 都打了 pass,但他手里的标注显示其中几条应该 fail。他直接说,这个系统还没完美,他得回到 dev split,把这些样本补进去,继续迭代。在技术大会上公开展示自己的 Judge 还不够好,然后告诉你怎么继续改。

读完能带走什么

做 Agent 系统,先问"是不是 Workflow 就够"再往下走。做 RAG 和多轮,把 200k 当作 Context 的性能拐点,别跟着 1M 的宣传走。做 AI 内容产品,明确承认写作不需要 Agent,用 Workflow 加三份静态 Profile 加结构化 Guideline 就能把 slop 压下去。做合成数据,记住 Output 必须来自真实系统,别让 LLM 替你写 ground truth。做 Eval,评估 Judge 本身比调 Judge Prompt 更重要。

这整场 workshop 真正稀缺的是一种判断力。知道什么时候一个 Agent 就够、什么时候两个 Agent 都多余、什么时候一份人手写的 Guideline 比十轮 reasoning 更靠谱。

内容来源,AI Engineer 频道「Full Workshop: Build Your Own Deep Research Agents」,YouTube 链接 https://youtu.be/mYSRn6PC1mc

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-12 19:44:20 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/614217.html
  2. 运行时间 : 0.108830s [ 吞吐率:9.19req/s ] 内存消耗:4,861.09kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=9aab96575416a38568e68edc36401448
  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.000544s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000864s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.002930s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000288s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000524s ]
  6. SELECT * FROM `set` [ RunTime:0.002024s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000572s ]
  8. SELECT * FROM `article` WHERE `id` = 614217 LIMIT 1 [ RunTime:0.001101s ]
  9. UPDATE `article` SET `lasttime` = 1778586260 WHERE `id` = 614217 [ RunTime:0.003591s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000240s ]
  11. SELECT * FROM `article` WHERE `id` < 614217 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000457s ]
  12. SELECT * FROM `article` WHERE `id` > 614217 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000355s ]
  13. SELECT * FROM `article` WHERE `id` < 614217 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003508s ]
  14. SELECT * FROM `article` WHERE `id` < 614217 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002505s ]
  15. SELECT * FROM `article` WHERE `id` < 614217 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.017212s ]
0.110721s