乐于分享
好东西不私藏

OpenAI 34 页 Agent 构建指南,拆到底就五个字:while loop

OpenAI 34 页 Agent 构建指南,拆到底就五个字:while loop

2026 年,"Agent"大概是 AI 圈被用烂的第一个词。

每隔三天就有一个新框架宣称自己解锁了"真正的 Agent 能力",每隔一周就有人在推特上画出比航天飞机还复杂的多 Agent 架构图。创业者在 pitch deck 里写满了 Agent,投资人的嘴里也全是 Agent。

但如果你拉住任何一个人问:"Agent 到底是什么?"——大概率你会得到一段模糊的、充满术语的、本质上什么都没说的回答。

直到 OpenAI 自己下场,发了一份 34 页的实战指南。

翻完整份 PDF,X 上有个开发者 @shmidtqq 写了一条总结帖,把 34 页浓缩成了一个判断:

"The key insight: the agent is not the model, it is the loop around it. The same model in one call is a chatbot. The same model in a loop, with tools and an exit condition, is an agent."

「关键洞见:Agent 的本质是围绕模型的那个循环。同一个模型调用一次就是聊天机器人;放进循环,配上工具和退出条件,就成了 Agent。」

这条帖子拿下 172 赞、1.6 万次浏览——在技术圈,这算得上刷屏级别。

▲ @shmidtqq 把 34 页指南浓缩为"Agent is a loop",1.6 万浏览

34 页写了什么?OpenAI 把底裤都亮了

这份指南叫A Practical Guide to Building Agents,挂在 OpenAI Business 页面上,面向产品和工程团队。

打开目录,结构极其干净:

  • What is an agent?(什么是 Agent)
  • When should you build an agent?(什么时候该建)
  • Agent design foundations(设计基础)
  • Orchestration(编排)
  • Guardrails(护栏)

没有废话,没有营销包装。34 页全是从真实客户部署中提炼出的实战经验。

▲ OpenAI 官网指南落地页,目录结构一目了然

先看 OpenAI 怎么定义 Agent:

"Agents are systems that independently accomplish tasks on your behalf."

「Agent 是能代表你独立完成任务的系统。」

注意"独立"两个字。你给 ChatGPT 发一条消息,它回你一条——这是聊天。你给一个系统目标、工具和规则手册,它自己决定查什么资料、调什么 API、写什么草稿,遇到错误自己重试,最后达成你定义的"完成标准"——这才是 Agent。

指南特意划了一条线:集成了 LLM 但没有把工作流执行的控制权交给 LLM 的应用——简单聊天机器人、单轮 API 调用、情感分类器——统统不算 Agent。

三件套:Model、Tools、Instructions

OpenAI 把 Agent 的地基拆成三个组件:

01 Model——LLM 本身,负责推理和决策。选什么模型取决于任务复杂度和延迟要求。

02 Tools——模型能调用的外部函数和 API。这是 Agent 伸向真实世界的手脚。指南把工具分成三种:

  • Data 工具
    :读取信息(查数据库、搜网页、读 PDF)
  • Action 工具
    :执行操作(发邮件、更新 CRM、转人工)
  • Orchestration 工具
    :把另一个 Agent 当工具调用

03 Instructions——明确的行为指南,告诉 Agent 怎么做、什么能做、什么不能做。

用代码写出来就是这样:

weather_agent = Agent(     name="Weather agent",     instructions="You are a helpful agent who can talk to users about the weather.",     tools=[get_weather], ) 

看起来简单到离谱。但这段代码本身只是一个静态定义——接下来的部分,才是让它活过来的关键。

灵魂段落:while loop 才是整个引擎

这是整份指南最核心的一段话:

"Every orchestration approach needs the concept of a 'run', typically implemented as aloopthat lets agents operate until an exit condition is reached."

「每种编排方式都需要一个'运行'的概念,通常实现为一个循环,让 Agent 持续操作直到满足退出条件。」

紧接着,指南直接点明:

"This concept of a while loop is central to the functioning of an agent."

while loop 这个概念是 Agent 运行的核心。

白纸黑字,OpenAI 亲手写的。

翻译成人话就是:模型运行 → 决定调用哪个工具 → 拿到工具结果 → 把结果喂回去 → 模型再运行 → 再决定 → 再调用……如此循环,直到触发退出条件。

用伪代码表示这个过程:

while True:     response = model.run(context)     if response.is_final_output() or response.has_no_tool_calls():         break  # 退出循环     tool_results = execute_tools(response.tool_calls)     context.append(tool_results)  # 结果喂回去,继续转 

就这么几行。这就是 Agent 的全部架构骨架。

OpenAI Agents SDK 里的Runner.run()方法,封装的正是这个 while 循环。SDK 文档说得很明白:想自己控制循环,用 Responses API;想让框架帮你管循环、工具、护栏和状态传递,就用 Agent + Runner。

▲ OpenAI Agents SDK 文档,清晰展示 Runner 内部的 loop 运行机制

退出条件只有两种:

  1. 模型调用了一个被标记为"最终输出"的工具(final_output
  2. 模型直接回复文本,没有发起任何工具调用

没有第三种。

退出条件:最容易被忽略、也最容易烧钱的地方

@shmidtqq 在帖子里专门强调了这一点:

"The exit condition is the design: the loop stops on a clear rule. You define when it stops, not 'until it is done'."

「退出条件是设计决策:循环在明确规则下停止。停止时刻由你定义,不能交给一句'直到做完'。」

这绝对是实话。

"直到做完"听起来很合理,但在实际部署中,它恰恰是成本失控的起点。社区里有人分享过真实案例:一个没有设好退出条件的 Agent 跑了11 天,烧掉了4.7 万美元。模型在循环里不断调用工具、不断拿到新数据、不断决定"还没完"——然后账单就这么滚上去了。

反过来,设计好退出条件和工具边界的 Agent loop,能让一个人在一个月内产出259 个 Pull Request——这也是真实的生产数据。

同一个 while 循环,有刹车和没刹车,天差地别。

先把一个 loop 打磨到极致

指南里有一个建议,可能会让很多"多 Agent 架构师"不太舒服:

先别急着搞 swarm。

OpenAI 强烈建议先把单个 Agent 加工具的能力做到极致。只有当你的 prompt 里出现大量 if-then-else 分支、工具数量太多且功能重叠的时候,再考虑拆分成多个 Agent。

指南给了两种多 Agent 模式:

Manager 模式——一个中央 Manager Agent 把子 Agent 当工具调用,保持单一控制点。比如一个翻译 Manager 调用西班牙语、法语、意大利语三个子 Agent。

Handoff 模式——对等的 Agent 之间互相交接控制权。比如一个分诊 Agent 根据问题类型把用户交给技术支持、销售或订单处理 Agent。

但两种模式的前提都是:你已经证明单 Agent 搞不定了。

很多团队一上来就搞四五个 Agent 互相喊话,结果调试时发现状态传递一团乱麻。先把一个 loop 跑顺,比搭建任何花哨的 Agent 网络都重要。

给 loop 装上护栏

一个裸奔的 while 循环在生产环境里只有一个结局:出事。

所以指南用了整整 8 页讲 Guardrails(护栏),把防御做成多层结构:

LLM 层——用分类器做护栏。包括相关性分类器(防止 Agent 跑题)、安全分类器(拦截 jailbreak 和 PII 泄漏)、对话循环检测器(发现 Agent 在原地打转)。

规则层——黑名单、正则匹配、长度限制。简单粗暴但有效。

工具层——给每个工具标风险等级。只读操作标"低风险",可逆操作标"中风险",涉及财务或不可逆操作标"高风险"。高风险工具触发人工审批。

人机回环——这是最后一道防线。指南的原话:高风险动作必须有人类审批,直到系统置信度足够高。失败次数超过阈值时,Agent 必须把控制权交还人类。

SDK 的实现方式很聪明:主流程乐观执行,护栏并发检查。护栏没触发,用户无感知;护栏触发了,抛出异常,中断循环。兼顾体验和安全。

开发者社区的反应:真香

这份指南在多个渠道引发了大量讨论。

@AnatoliKopadze 做了一件更狠的事——把 34 页压缩成了1 页架构图。6 个阶段、1 个循环,从 Goal + Input → Model → Tools → Instructions → Guardrails → Evals,底层跑着 Traces + Logs + Feedback 持续改进层。这条帖子拿到了601 赞、7.5 万次浏览

▲ @AnatoliKopadze 把 34 页压缩成 1 页,6 stages + 1 loop,601 赞

Reddit 的 r/AI_Agents 社区也在热议。有用户指出指南覆盖了架构、工具迭代循环和安全护栏三个关键层面,评价是"this type of docs are really helpful"。Indie Hackers 上有开发者做了详细的 breakdown,称赞其"really good"。

▲ Reddit 上开发者对指南的讨论

有一条评论特别精辟:

"The agent is not the model, it's the loop around it — is such a clean way to put it."

「Agent 的本质是围绕模型的那个循环——这表述太干净了。」

当然,也有清醒的声音。有评论指出这是给开发者在 OpenAI API 上构建 Agent 的实战指南,不要误读成"OpenAI 内部用的模型架构"。还有人对 exit condition 表达了直觉上的焦虑:"'Until it is done' is where agents get expensive and weird."——"直到做完",恰恰是 Agent 变贵和变诡异的起点。

从调 prompt 到设计 loop

回到那个最根本的问题:这 34 页到底改变了什么?

它把过去一年多笼罩在 Agent 概念上的迷雾一扫而光。

很多人以为"更好的 prompt = 更好的 Agent",以为给 GPT 写一段更长更精妙的系统提示词就能让它变成自主 Agent。OpenAI 用自己的生产经验告诉你:prompt 只是配置项,loop 才是架构。

同一个模型,一次调用就是聊天机器人。 同一个模型,放进一个设计过退出条件的循环,配上精选的工具和分层的护栏——就是能帮你干活的 Agent。

这份指南给出的起步建议也极其务实:

  • 先选一个适合 Agent 化的工作流(复杂、多步骤、需要判断力)
  • 先搭单个 loop + 少量工具
  • 用真实用户去验证
  • 逐步加护栏、加工具、加 eval
  • 遇到瓶颈了再拆多 Agent

"Start small, validate with real users, and grow capabilities over time."

「从小处开始,用真实用户验证,随时间逐步扩展能力。」

计算机科学里最朴素的原语——一个 while 循环——被证明是 Agent 时代最核心的构建单元。34 页 PDF 的分量,全压在这几行代码上。

接下来的战场,属于懂得设计这个循环的人。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-01 05:39:55 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/818377.html
  2. 运行时间 : 0.086183s [ 吞吐率:11.60req/s ] 内存消耗:4,676.91kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=6f6237811b81533940ca4b8e7679323f
  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.000400s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000744s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000313s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000257s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000500s ]
  6. SELECT * FROM `set` [ RunTime:0.000281s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000533s ]
  8. SELECT * FROM `article` WHERE `id` = 818377 LIMIT 1 [ RunTime:0.000417s ]
  9. UPDATE `article` SET `lasttime` = 1782855595 WHERE `id` = 818377 [ RunTime:0.000652s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000221s ]
  11. SELECT * FROM `article` WHERE `id` < 818377 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000416s ]
  12. SELECT * FROM `article` WHERE `id` > 818377 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.003099s ]
  13. SELECT * FROM `article` WHERE `id` < 818377 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001093s ]
  14. SELECT * FROM `article` WHERE `id` < 818377 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000712s ]
  15. SELECT * FROM `article` WHERE `id` < 818377 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001477s ]
0.087945s