乐于分享
好东西不私藏

AI Agent 入门,看这篇就够了(上)——基础概念与配置篇

AI Agent 入门,看这篇就够了(上)——基础概念与配置篇

最近想学 AI Agent 的朋友,应该都跟我有同感:这领域实在太乱了。

每周一个新工具、一个新框架、一个新模型,每次发布都喊着“这次改变一切”。说实话,追了两个月我就放弃了——根本追不上。

后来我想明白了一件事:工具在变,但底层的核心思想其实没怎么变。

今天这个叫“技能”,明天那个叫“规则”,后天又冒出个“工作流”……名字五花八门,解决的都是同一个问题。只要你把背后的逻辑搞懂了,这周流行什么工具根本不重要。

所以我把 Agentic Engineering 里最核心的 30 个概念整理了一遍,用最通俗的大白话讲给你听。分三篇发,这是第一篇,我们先从“Agent 到底是什么”和“怎么配置它”说起。

01
Agent 到底是什么?

现在是个 AI 工具都管自己叫 Agent,搞得这个词都快没意义了。

其实很简单:Agent 不是只回答一次就结束的聊天机器人,它会反复执行一个循环。

普通聊天机器人:你问 → 它答。

Agent 的工作方式:你给个目标 → 它思考下一步 → 调用工具 → 看结果 → 再决定下一步 → 一直干到完成为止。

它不是一次性输出答案,而是产出一连串的动作,每一步都依赖上一步的结果。

编程是最典型的例子。你让 Agent 去修一个失败的测试,它可能先看报错,再打开相关文件,改几行代码,重新跑测试,又看到新错误,再修……直到测试全过。

这种场景下 Agent 很有用,因为任务一开始就不是完全确定的。

比如:

  • “帮我调试这个失败的测试”

  • “调研这个主题,总结最佳资料”

  • “看看这些工单,帮我草拟回复”

  • “审查代码库,找出问题”

但不是说啥都得用 Agent。如果你只是要格式化个日期、转个 JSON、重命名文件、生成个简短回答,普通提示词或者写个小脚本就完事了。

Agent 不是免费的——每一次循环都花时间,每一次工具调用都花钱。循环越长,越难预测它下一步会干啥,调试也越麻烦。

所以原则很简单:

  • 简单问题 → 普通提示词

  • 固定步骤 → 写脚本

  • 需要灵活决策、每一步都依赖反馈 → 用 Agent

02
执行模型:Think→Act→Observe

Agent 的循环其实就三步,不神秘:

思考 → 行动 → 观察

先思考:模型看当前对话、目标、可用上下文,决定下一步做什么。

然后行动:调用工具。工具可以是读文件、跑命令、查数据库、调 API、用 MCP,或者问别的服务。

注意,模型不会自己直接执行,外面有一层“控制器”接收工具调用,检查是否合法,安全地执行,再把结果返回。

最后观察:工具的结果回来,变成对话的一部分,Agent 有了新信息,于是开始下一轮。

这个模式有人叫 ReAct,有人叫“思考-行动-观察”,也有人直接叫 Agent 循环。名字不同,本质一样。

这种做法的好处是:模型不用一次性猜对整条路径,它走一步看一步,根据真实结果再决定下一步。这就是 Agent 比普通提示词更强大的地方——它可以犯错,看到结果,然后在下一次尝试中纠正自己。

还有两个变体值得了解:

并行工具调用:有时候 Agent 一次性调用多个工具,比如同时读三个文件,而不是一个一个读。这在代码库分析或调研时省时间,但要注意——如果两个调用同时编辑同一个文件,可能起冲突。

阻塞 vs 非阻塞执行:大多数 Agent 是阻塞的——调用工具,等结果,再继续。但有些 Agent 可以在后台跑长任务,同时干别的事,这叫异步执行。处理大工作流很有用,但管理难度也更高。

03
Agent 状态:它此刻知道什么?

“状态”这个词在 Agent 工程里有两种意思。一种是“任务进度”——做到哪一步了;另一种是“Agent 此刻知道什么”——这是我们重点说的。

Agent 的状态通常分两部分:

第一部分是上下文窗口——也就是模型当前能看到的所有东西。包括你的最新消息、系统指令、之前的工具调用和结果、以及任何被加入对话的信息。这就像 Agent 的“工作记忆”。

但它有容量限制,也就是令牌限制。而且在达到硬上限之前,上下文也可能变得混乱——太多旧信息会让 Agent 注意力分散。会话结束后,这个上下文通常就消失了。

第二部分是上下文窗口之外的东西——模型看不到,除非主动去取。比如:

  • 磁盘上的文件

  • 数据库记录

  • 保存的记忆

  • API 返回结果

  • 搜索引擎结果

  • 文档

  • 项目历史

模型不会自动知道这些。它没打开的文件就不能推理,没取回的数据库记录就不能用,没被拉回上下文的过往决策也记不住。

所以记住一句话:Agent 只跟它当前能看到的东西工作。其他的都得在需要的时候拉进来。

那状态应该存在哪?

对大多数开发者工作流来说,文件是最佳默认选择。容易读、容易改、容易用 Git 追踪、容易对比差异,人和 Agent 都能自然操作。

记忆(Memory) 用来存那些跨会话保留但不需要完整 Git 历史的东西,比如用户偏好、项目规则、重复指令。

数据库 适合需要结构化、多用户多 Agent 同时查询更新的信息。

状态在多 Agent 场景下会变得更棘手。两个 Agent 读同一个文件通常没事,但要是同时写同一个文件,就会出问题——经典的竞争条件。所以隔离的工作区很有用。

对于编码 Agent,Git worktree 是个好办法,每个 Agent 有自己独立的副本,各自工作,之后再合并。

子 Agent 稍微好管理一些,它通常带着全新的上下文窗口启动,父 Agent 只给它完成特定任务所需的信息。

判断任务拆分得好不好,有一个简单信号:如果父 Agent 需要传给子 Agent 一大堆上下文,那这个任务可能没拆对。好的子任务应该是聚焦的,不需要“整个世界”就能干活。

总结一下状态的核心思路:

  • 上下文窗口 = Agent 当前能看到的

  • 文件、记忆、数据库 = 信息可以存在模型之外的地方

  • 好的 Agent 设计,本质就是决定什么留在外面、什么拉进来、什么时候拉

04
常见多 Agent 协作模式

当你开始用多个 Agent 时,新的问题来了:它们怎么配合?

有三种经典模式,反复出现。

模式一:规划器 / 执行器

一个 Agent 负责规划,另一个负责执行。规划器思考任务拆解,执行器照着计划干活。

比如让你做一个功能,规划器先拆分:先改数据库 schema,再写 API,再更新前端,最后写测试。然后执行器一步步去实现。

这种模式适合长任务,你不想让 Agent 不经过思考就直接埋头写代码。

模式二:路由器 / 专家

一个 Agent 当路由器,读请求,然后决定交给哪个专家 Agent 处理。每个专家只做一类事。

比如:

  • 安全审查专家

  • 调试专家

  • 文档撰写专家

  • 测试编写专家

  • 代码评审专家

这样系统更容易管理,每个专家角色窄、提示词清晰、工具集小,行为更可预测,而且不一定每个任务都用最强的模型,成本也更低。

模式三:Map-Reduce 并行

把一个大的任务拆成许多小任务,多个 Agent 同时处理这些小片段,最后另一个 Agent 合并结果。

比如审查一个很大的 PR,你可以按文件拆分:一个子 Agent 审文件 A,另一个审文件 B,第三个审文件 C……最后汇总 Agent 把所有人的意见合并成一份总结。

这种模式适合读密集型的任务:代码审查、调研、文档分析、大篇幅内容审核。

注意,实际工作中这些模式经常混着用。规划器拆任务,路由器分给不同专家,专家并行干活,再合并,最后送审。

关键在交接——每两个 Agent 之间传递信息时,上下文要刚刚好。太少,下一个 Agent 看不懂;太多,下一个 Agent 会混乱或者浪费上下文。

好的多 Agent 设计,本质上就是划清边界:一个 Agent 的工作在哪结束,下一个从哪开始?需要传递什么信息?

简单总结:

  1. 需要事前充分规划 → 规划器/执行器

  2. 不同任务需要不同专家 → 路由器/专家

  3. 大任务可拆成小块并行 → Map-Reduce

不管用哪种,交接越清晰,整个系统越可控。

配置层:Agent 的控制面板

05
Agent 配置文件

每个 Agent 开始工作前都有一套系统提示词,告诉它怎么用工具、怎么格式化输出、怎么调用、怎么在特定环境里表现。

但默认的系统提示词不知道你的项目——不知道你的编码风格、包管理器、文件夹结构、团队规则。你不给它项目专属指令,它就靠猜。

于是麻烦来了:你可能用 pnpm,它却建议 npm;你的 Python 项目用 uv,它却让你 pip install;它可能写出防御性过强的啰嗦代码,只因为训练数据里这种模式很常见。

Agent 配置文件就是来解决这个问题的。它是一个项目级的指令文件,Agent 在会话启动时加载它,把它放在上下文中。

你可以把它当成项目的“规则手册”,告诉 Agent:

  • 项目怎么运行

  • 用哪些工具

  • 遵循什么模式

  • 避免什么

  • 哪些规则绝对不能打破

Claude Code 用 CLAUDE.md,很多其他工具用 AGENTS.md,名字不同,本质一样。

配置文件不需要长,短一点通常更好。可以包含:

  • 项目用的包管理器

  • 测试命令

  • 格式化命令

  • 重要文件夹约定

  • 函数长度限制

  • 命名规范

  • 安全规则(比如“永远不提交密钥”)

  • 行为规则(比如“修改文件前先读一遍”)

这些小小的指令能省掉大量糟糕输出。没有配置文件,Agent 就按“最可能”的方式猜;有了配置文件,它按你的规则来。

但有一个常见错误:往配置文件里塞太多东西。复制一份长长的 AI 生成的规则文档,加一堆泛泛的建议,比如“写整洁的代码”“用最佳实践”——听起来有用,其实帮不了多少,模型本来就知道这些通用道理。

它需要的是具体的项目指引。

所以保持配置文件短小精悍、务实管用。尽量控制在 100 行以内。删掉任何不能改善 Agent 工作质量的内容。别把它当普通文档,要像代码一样对待——变化时审查,Agent 反复犯错时改进,没用的规则及时删。

好的配置文件不是为了给 Agent 留下印象,而是为了减少它的猜测。它猜得越少,干得越好。

06
可复用工作流文件

配置文件是始终生效的,而可复用工作流文件只在 Agent 需要的时候才加载。

你可以把它们看作针对特定任务的小型操作指南。

比如:

  • 一个工作流文件专门讲怎么写测试

  • 另一个讲怎么审查 PR

  • 另一个讲怎么迁移数据库

  • 还有一个讲怎么更新文档

Agent 不需要时时刻刻带着所有这些,它只需要在正确的时候拿到正确的那一份。

这些文件通常用 Markdown 写,顶部带一小段元数据(YAML frontmatter),包括名称、简短描述、什么情况下使用、适用于哪些文件或文件夹。

描述是最重要的部分——它告诉 Agent 什么时候该用这个工作流。描述清晰,Agent 就能在恰当的时机选对;描述模糊,Agent 可能无视它,也可能在错误场合乱用。

有些工作流还支持 glob 模式(文件匹配规则),比如只在 *.test.ts 或 docs/ 文件夹下生效,让指令更聚焦。

不过真正的价值不在文件格式,而在指令本身的质量。一份简短清晰的工作流,能让小模型表现更好,因为它给了模型一个更好的过程来遵循。

SkillsBench 的研究里有个很有意思的结论:研究者测试了 11 个领域 86 个任务,给模型配上人类写好的简短工作流,结果 Claude Haiku(较便宜模型)加上人工编写的技能,得分超过了没有这些技能的 Claude Opus(更强模型)。

翻译成人话就是:一个便宜的模型配上好指令,比一个强大但没有好指令的模型表现更好。

这说明过程很重要、指令很重要、好的工作流很重要。

但研究也发现,让模型自己写技能时,提升效果就消失了。这很合理——AI 自己生成的通用指令往往变成噪声,听着像那么回事,但给不出清晰的指引,只是往上下文里堆文字,反而可能拖累表现。

所以可复用工作流文件不应该是冗长的通用文档,而应该是短小、具体、基于真实工作的。

简单分层:

  • 配置文件放“始终成立”的规则

  • 工作流文件放“特定任务”的流程

  • 实时提示词放当前请求的独特性

三者配合,Agent 需要猜测的地方就少了,输出质量自然更高。

07
工作流框架

如果你用 Agent 来写代码,工作流框架能帮上大忙。没有清晰流程的话,Agent 可能工作得很随意——有时候太快跳进代码,有时候跳过测试,有时候改了代码后还解释自己为什么对,即使结果并不好。

工作流框架给 Agent 提供了一套可重复的工作方式。不只是依赖模型从训练数据里记得什么,框架给它一个文档化的流程。

比如框架可以引导 Agent 完成:

  • 规划任务

  • 编写或更新测试

  • 实现修改

  • 调试错误

  • 审查最终结果

这很重要,因为编码不只是“写代码”。好的编码有节奏:先理解问题,再计划改动,做最小可用的更新,测试,审查,需要时改进。工作流框架就是让 Agent 每次都遵循这样的流程。

不同工具实现方式不同——有的用技能,有的用钩子,有的用斜杠命令,有的用可复用提示词,有的全组合起来。机制不同,目标一样:给 Agent 更好的工作方法。

比如 Superpowers 提供了一套精选的技能,覆盖头脑风暴、测试驱动开发、调试、代码审查等常见编码工作流,还加了更严格的规则让 Agent 真正去执行流程,而不是跳过重要步骤。

Get Shit Done 类似,用斜杠命令、钩子和元提示来操作。

Compound Engineering 则把工作分成四个阶段:计划 → 工作 → 审查 → 沉淀。“沉淀”这个部分很关键——系统会从之前的工作中捕获有用的模式和解决方案,让后续任务越来越轻松。

这些框架外表看着不同,但核心思想一致:Agent 不应该上来就敲代码,先理解它在构建什么,再遵循清晰的流程,最后对照真实目标检查结果。

有了好的工作流框架,Agent 就从“快速猜手”变成了“更有章法的编码助手”。你仍然需要审查输出、了解改了什么、对最终代码负责,但有了好框架,Agent 的轨道更稳,结果通常也更好。

08
提示词缓存

提示词缓存听起来技术感很强,其实道理很简单。

Agent 经常反复发送同样的信息:系统提示词、项目配置文件、加载的工作流文件、工具指令、重要规则……这些重复的部分叫“稳定前缀”。

没有缓存的话,模型每一轮都要重新读一遍同样的前缀,消耗更多令牌、更费钱、更慢。

提示词缓存解决了这个问题——把稳定部分存起来,模型不用每次重新处理。第一次调用发送完整上下文,系统把它写入缓存,后续调用就可以低成本复用。

简单说:第一次调用贵,后面几次就便宜了。而且响应速度也更快。

大多数 Agent 编码工具在后台自动处理,你可能看不到,但它影响很大——它改变了对长会话成本的认知。

以前一个大配置文件可能因为反复加载显得很贵,有了缓存,稳定指令的成本在首次调用后就小很多。

这不代表你可以写又长又乱的配置文件——烂上下文还是烂上下文。但意味着一个有用的配置文件或可复用工作流,实际成本比看上去低。

需要注意缓存过期。缓存不会永远存活,通常有个时间限制(TTL,存活时间)。会话活跃时缓存保持“温热”,但如果你暂停太久——喝杯咖啡、看文档、被拉去开会半小时——回来缓存可能就过期了,下次调用得重新写入。

有些工具或服务商允许你选更长的 TTL,越长缓存越持久,但创建成本可能更高。根据自己的工作流选就行。

09
上下文腐烂

上下文腐烂指的是,随着上下文窗口越来越拥挤,模型的表现会下降。

提示词缓存能降成本,但去不掉那些令牌——它们仍然在上下文里,模型还得从一堆东西里找出真正重要的。即使是强模型也扛不住这种压力。

文档短的时候,模型找细节容易;上下文越长,准确率就开始下滑——有用的信号被太多周围文字淹没了。

配置文件、技能、记忆、工具结果都有同样的问题。如果你不断往里加通用规则、长笔记、旧消息、没用过的指令,Agent 就越来越不聚焦。

原因很简单:注意力是有限的。模型得把注意力分散到上下文里的每一条信息上,你加得越多,重要内容跟噪音的竞争就越激烈。

所以“更多上下文”不一定更好。长上下文在信息有用时是好事,但长而乱的上下文会让 Agent 表现更差。

原则是:保持上下文精简,配置文件简短,工作流文件具体,删掉任何不能帮 Agent 做出更好决策的内容。每一条令牌都应该凭本事留在那里。

配置层就聊到这里。下一篇我们来看看,Agent 开始工作后,它能伸手拿到哪些能力——工具、记忆、搜索、子 Agent,以及怎么让它们协同工作。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-28 16:08:02 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/807418.html
  2. 运行时间 : 0.274872s [ 吞吐率:3.64req/s ] 内存消耗:4,877.12kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=5f6914a456dd357eeadb9ef0513c48f7
  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.001204s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001543s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.003541s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000680s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001357s ]
  6. SELECT * FROM `set` [ RunTime:0.000815s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001503s ]
  8. SELECT * FROM `article` WHERE `id` = 807418 LIMIT 1 [ RunTime:0.001172s ]
  9. UPDATE `article` SET `lasttime` = 1782634082 WHERE `id` = 807418 [ RunTime:0.022615s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.003353s ]
  11. SELECT * FROM `article` WHERE `id` < 807418 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.003525s ]
  12. SELECT * FROM `article` WHERE `id` > 807418 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001522s ]
  13. SELECT * FROM `article` WHERE `id` < 807418 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.008241s ]
  14. SELECT * FROM `article` WHERE `id` < 807418 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.014083s ]
  15. SELECT * FROM `article` WHERE `id` < 807418 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.023856s ]
0.279065s