乐于分享
好东西不私藏

为什么你让 AI 写的 Skill 总是不好用?这个官方工具给出了答案

为什么你让 AI 写的 Skill 总是不好用?这个官方工具给出了答案

点击上方 程序员成长指北,关注公众号

回复1,加入高级AI交流群

unsetunset引言:手写 Skill 的困境unsetunset

如果你正在使用 Claude Code、Cursor 等 AI Coding 工具进行日常开发,大概率遇到过这样的场景:

每次写完代码都需要按固定流程做 Code Review——检查安全漏洞、检查性能问题、检查命名规范。你像个复读机一样,一遍遍把同样的话术输入给 AI:"帮我检查这段代码,注意这几点……"

于是你想:能不能把这套流程打包成一个可复用的工作流?

这就是 Skill 的由来——把重复的工作流打包成可复用的指令集。

但当你真正动手写 Skill 时,问题来了:

  1. 写完不确定是否有效:SKILL.md 写好了,但跑起来效果总是差点意思,不知道是 prompt 写得不对还是结构有问题
  2. 修改后不知道变好还是变差:改了几版,感觉越改越乱,缺少客观的评判标准
  3. 模型更新后 Skill 突然失效:上个月还好好的,这个月就不灵了
  4. 触发时机不对:该触发的时候不触发,不该触发的时候乱触发

这些问题的根源是同一个:Skill 开发缺乏测试和验证机制

传统软件开发有单元测试、集成测试、CI/CD 流水线来保证质量,而 Skill 开发却停留在"写完跑一下,感觉差不多就行"的草台班子阶段。

有没有一种方法,能把软件工程的严谨性引入 Skill 开发?

有。它叫 skill-creator


unsetunsetskill-creator 是什么unsetunset

一句话定义:skill-creator 是一个做 Skill 的 Skill

听起来有点绕口,但它的定位非常清晰:你告诉它你想要什么能力,它就引导你一步步把这个能力输出成一个结构完整、能真正触发、经过测试验证、可持续迭代的 Skill。

可以把它理解为 Claude 生态中的技能工厂

2026 年 3 月,Anthropic 对 skill-creator 进行了重大更新,引入了评估(Evals)、基准测试(Benchmark)、多智能体并行、A/B 测试、触发器优化等核心功能。这次更新的本质,是把 Skill 开发从"艺术"变成了"工程"——从"看起来有用"变成"验证有效"。

新版 skill-creator 的核心工作流是:

这不再是一个简单的模板生成器,而是一套完整的评估驱动开发(Eval-Driven Engineering)工作流。


unsetunset设计哲学与核心原理unsetunset

这是本文的重点部分。理解 skill-creator 的设计哲学,比会用它更重要——因为这些理念可以迁移到你的其他 AI 工程实践中。

评估驱动开发(Eval-Driven Engineering)

如果你熟悉测试驱动开发(TDD),skill-creator 的理念会让你觉得似曾相识:

  • TDD:先写测试,再写代码,测试通过即完成
  • Eval-Driven:先定义评估标准,再写 Skill,评估通过即完成

核心循环是:

但 AI Skill 的评估比传统代码测试复杂得多。代码测试通常是确定性的:输入 A 必须输出 B。而 Skill 的输出往往是非确定性的,需要从多个维度评估:

  • 正确性:输出是否符合预期?
  • 完整性:是否遗漏了关键信息?
  • 格式:输出结构是否符合要求?
  • 效率:消耗了多少 Token?花了多少时间?

skill-creator 还区分了两类 Skill,它们的测试重点完全不同:

能力提升型(Capability Uplift):帮助 Claude 完成基础模型做不到或表现不稳定的工作。比如特定格式的文档生成、复杂的代码模式等。这类 Skill 需要关注一个特殊问题:随着模型迭代,某些能力可能被模型本身吸收,Skill 就不再必要了。Evals 能告诉你这个转折点什么时候到来。

偏好编码型(Encoded Preference):Claude 本身就能完成各个环节,但 Skill 按照你团队的特定流程来编排。比如按照公司规范审核合同、按照团队模板生成周报。这类 Skill 的生命周期更长,测试重点是验证对实际工作流的忠实度。

多智能体隔离架构

这是 skill-creator 最精妙的设计之一。

传统做法是:用同一个 AI 写 Skill、运行 Skill、评估 Skill。问题是什么?上下文污染。AI 既知道 Skill 的意图,又知道之前运行的结果,很难做出客观评判。就像让出题人自己判卷,难免有偏见。

skill-creator 的解决方案是物理隔离:用不同的 Subagent 分工协作,每个 Subagent 只知道自己需要知道的信息。

四个核心角色:

Executor(执行者)

  • 职责:在隔离环境中执行任务
  • 输入:Skill + 测试 Prompt
  • 输出:执行记录(transcript)+ 输出文件
  • 特点:完全不知道评估标准是什么,只管执行

Grader(评分者)

  • 职责:依据预设断言评估执行结果
  • 输入:执行记录 + 断言清单
  • 输出:grading.json(每个断言的 PASS/FAIL + 证据)
  • 特点:不知道 Skill 的具体实现,只看结果

Comparator(比较者)

  • 职责:双盲对比两个输出版本
  • 输入:输出 A + 输出 B(不知道哪个是新版本)
  • 输出:谁更好 + 原因
  • 特点:双盲设计,消除偏见

Analyzer(分析者)

  • 职责:分析胜负原因,输出改进建议
  • 输入:比较结果 + 两个 Skill 定义 + 执行记录
  • 输出:归因分析 + 优先级排序的改进建议
  • 特点:复盘专家,负责找出根本原因

这种架构的好处是:每个角色的上下文都是干净的,不会被其他信息污染,评估结果更客观。

不只是 LLM-as-a-Judge

市面上很多工具用 LLM 来评估 LLM 的输出,但大多只是简单地问:"这个输出好不好?"

skill-creator 的 Grader 设计要精细得多,它执行三层评估:

第一层:核对 Rubric 打分

这是基础。Grader 会逐个检查预设的断言(assertions),判断 PASS 或 FAIL,并给出具体证据。

判断标准很严格:

  • PASS:执行记录或输出明确证明断言为真,能引用具体证据
  • FAIL:找不到证据、证据矛盾、或只是表面合规但实质不对

"表面合规但实质不对"是关键。比如断言是"生成的文件存在且可读",如果只检查文件是否存在就判 PASS,那太草率了。Grader 会进一步检查文件内容是否正确。

第二层:提取隐性声明做事实核查

这是防幻觉的关键。

AI 在执行任务时会产生很多"顺口吐露的陈述",比如:

  • "这个表单包含 12 个字段"(事实声明)
  • "我使用了 pypdf 库来处理"(流程声明)
  • "所有必填字段都已正确填写"(质量声明)

这些陈述不在预设的断言里,传统测试会直接跳过。但 Grader 会逐个核查:

  • 事实声明:亲自去数字段数量
  • 流程声明:检查日志或代码,确认是否真的调用了
  • 质量声明:实际检查是否属实

这能有效防止 AI "假装完成了任务"。

第三层:反向审视测试用例本身

Grader 不仅评判执行结果,还会反向审视测试用例的质量:

  • 这个断言是不是太容易通过了?(比如只检查文件名不检查内容)
  • 有没有重要的结果没有被任何断言覆盖?
  • 这个断言能不能真的从输出中验证?

这能防止"Anti-Shortcut"——Agent 只追求表面合规而不是真正完成任务。

渐进式披露的上下文管理

Skill 可以包含大量内容:指令、参考文档、示例代码、辅助脚本。如果一次性全部塞进上下文,会浪费大量 Token,还可能干扰 AI 的判断。

skill-creator 采用三层加载机制:

第一层:元数据

  • 内容:name + description(约 100 词)
  • 加载时机:启动时预加载所有已安装 Skill 的元数据
  • 作用:让 Claude 知道有哪些 Skill 可用,决定是否触发

第二层:SKILL.md 主体

  • 内容:完整的 Skill 指令(建议 < 500 行)
  • 加载时机:当 Skill 与当前任务相关时
  • 作用:提供详细的执行指导

第三层:附加文件

  • 内容:参考文档、脚本、资源等(无上限)
  • 加载时机:按需加载
  • 作用:提供特定场景需要的额外信息

举个例子,PDF Skill 的文件结构可能是:

pdf-skill/├── SKILL.md        # 核心定义├── reference.md    # 参考资料└── forms.md        # 表单填写指南

Claude 只有在需要填写表单时才会读取 forms.md,其他时候不加载,节省 Token。

这种设计的哲学是:拥有文件系统和代码执行能力的 Agent,不需要把整个 Skill 读入上下文。Skill 能捆绑的内容量实际上是无限的。


unsetunset五大核心功能解析unsetunset

基于上述设计哲学,skill-creator 提供了 5 个核心功能。

1. Evals(评估)

Evals 是检验 Skill 是否符合预期的测试框架。使用流程:

  1. 定义测试 Prompt(+ 所需文件)
  2. 描述"好的结果"是什么样(断言列表)
  3. 运行测试,skill-creator 告诉你 Skill 是否达标

Evals 有两大用途:

捕捉质量衰退:模型和基础设施演进时,上个月工作的 Skill 今天可能异常。定期运行测试,能在影响实际工作前提供预警。

了解模型进展:如果基础模型在不加载 Skill 的情况下也能通过测试,说明 Skill 的技术方法已被模型吸收——Skill 没坏,只是不再需要了。

2. Benchmark Mode(基准测试)

基准测试模式使用 Evals 运行标准化评估,追踪三个关键指标:

  • Eval 通过率:Skill 是否达到预期
  • 耗时:执行效率
  • Token 用量:成本控制

同时还会计算统计聚合数据:平均值、标准差、最小值、最大值。以及两个版本的 Delta(差异):

{"delta": {"pass_rate""+0.50",      // 通过率提升 50%"time_seconds""+13.0",   // 时间增加 13 秒"tokens""+1700"// Token 增加 1700  }}

这让你能客观判断修改是改善还是恶化,而不是凭感觉。

3. 多智能体并行

传统做法是顺序运行测试用例,问题是:

  • 上下文会累积,导致后面的测试受前面的影响

skill-creator 的解决方案:启动独立的 Subagent 并行运行 Evals,每个 Subagent 在干净上下文中工作,有独立的 Token 和时间统计。

结果更快、更干净、无交叉污染。

4. A/B 测试(对比智能体)

当你想比较两个 Skill 版本时,skill-creator 提供双盲 A/B 测试:

  • 对比场景:两个 Skill 版本对比、Skill vs 无 Skill 对比
  • 盲测机制:Comparator 不知道 A 和 B 分别是哪个版本
  • 评估维度:内容(正确性、完整性、准确性)+ 结构(组织、格式、易用性)

评分采用 1-5 分制,最终汇总成 1-10 分的总分。只有真正水平相等才宣布平局,否则必须分出胜负。

这确保了评判完全基于输出质量本身,而不是对某个版本的先入为主。

5. 触发器优化

Evals 测量输出质量,但前提是 Skill 要在正确时机触发。

随着 Skill 数量增长,触发描述的精准度变得关键:

  • 太宽泛 → 误触发(不该触发时触发)
  • 太狭窄 → 漏触发(该触发时不触发)

skill-creator 提供自动化的触发器优化:

  1. 生成 20 个测试查询(10 个应该触发 + 10 个不应该触发)
  2. 人工审核和调整测试集
  3. 运行优化循环:评估 → 分析失败案例 → 改进描述 → 重新评估
  4. 最多迭代 5 次,输出最佳描述

为防止过拟合,测试集会划分为 60% 训练集和 40% 测试集,最终根据测试集得分选择最佳描述。

实测效果:在 6 个公开 Skill 上测试,5 个 Skill 的触发得到改善,成功率 **83.3%**。

这个数字说明:精准的触发描述是可以系统性优化的,而不是靠"感觉"调参。


unsetunset安装与使用流程unsetunset

理论讲完,来看实操。

安装

在终端输入:

npx skills add anthropics/skills --skill skill-creator

选择你使用的 AI Coding 工具(以 Claude Code 为例),空格选中后回车。

然后选择安装级别:

  • 项目级安装:只在当前项目可用
  • 全局安装:所有项目都可用

建议全局安装,因为 skill-creator 是通用工具。

安装完成后,在 Claude Code 中输入 /skill-creator 即可看到。

基本使用

使用方式非常直接,告诉它你想要什么:

使用 skill-creator 帮我实现一个 code-review目标,检测代码中:- 明显的语法问题、边界问题、异常处理、竞态问题等- 业务逻辑耦合,可读性和可维护性差- 不符合项目规范,代码风格差异大- 潜在的逻辑漏洞或其他 bug输出问题点,并指出原因和修复建议。

接下来 skill-creator 会引导你完成整个流程:

第一步:需求澄清

skill-creator 会追问一些边界情况:

  • 检查范围是单个文件还是整个目录?
  • 是否需要考虑特定的编程语言?
  • 输出格式有什么要求?
  • 严重程度如何分级?

这些问题帮助把模糊的想法梳理成清晰的需求。

第二步:生成 SKILL.md

根据澄清后的需求,skill-creator 自动生成:

  • frontmatter(name、description 等元数据)
  • Markdown 正文指令
  • 如果需要,还会规划 references 和 scripts 目录

第三步:生成测试用例

skill-creator 会生成 2-3 个真实的测试 Prompt,模拟用户实际会怎么调用这个 Skill:

请帮我 review 一下 src/utils/auth.js 这个文件

然后在隔离环境中运行这些测试。

第四步:评估与迭代

测试完成后,skill-creator 会:

  1. 打开一个 HTML 界面,展示每个测试用例的输入和输出
  2. 显示量化指标:通过率、耗时、Token 用量
  3. 让你提供反馈:哪里做得好,哪里需要改进

根据你的反馈,skill-creator 会修改 Skill 并重新测试,直到你满意为止。

第五步:触发器优化(可选)

Skill 功能完善后,可以运行触发器优化,让 Skill 在正确的时机被激活。

进阶用法

运行 Benchmark

当你想量化比较两个版本时:

帮我对 code-review skill 运行 benchmark,对比 v1 和 v2

skill-creator 会并行运行两个版本的测试,输出详细的对比报告。

手动触发器优化

帮我优化 code-review skill 的触发描述

skill-creator 会生成测试查询集,让你审核后运行优化循环。


unsetunset总结:测试驱动的 AI 开发时代unsetunset

skill-creator 的核心价值,是把软件工程的严谨性引入 AI 能力构建。

对开发者的影响

  • 降低门槛:不需要是 Prompt 工程专家,也能创建可靠的 Skill
  • 提高效率:Evals、Benchmark、A/B 测试让优化有据可依
  • 增强可靠性:测试捕捉回归,知道何时 Skill 过时

对 AI 行业的趋势

当前,SKILL.md 本质上是"实现计划"——详细指示 Claude 如何做某事。

未来,可能演变为"规范说明"——用自然语言描述 Skill 应该做什么,模型自行解决实现。Evals 已经在描述"what",最终,描述本身就是 Skill。

这次更新让 Skill 开发告别了"草台班子"时代。

对于已经在用 Claude Code 或其他 AI Coding 工具的开发者来说,与其折腾复杂的第三方工具,不如学好 skill-creator——这是日常工作中非常实用的大杀器

当你下次想把某个重复工作流打包成 Skill 时,别再手写了。让 AI 帮你造 AI。

近期热门AI 原创文章:

Cursor 官方偷偷用了 2 年的内部工作流,现在全部开源了

一文吃透AST与LSP:为什么AI代码工具都离不开它?


unsetunset参考资料unsetunset

  • Anthropic 官方 skill-creator 文档
AI 社群

我组建了一个氛围特别好的 AI 社群,里面有很多 AI Coding小伙伴,如果你对AI 学习感兴趣的话(后续有计划也可以),我们可以一起进AI相关的交流、学习、共建。下方加 考拉 好友回复「AI」即可。

 “分享、点赞在看” 支持一波👍

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-11 09:32:07 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/604548.html
  2. 运行时间 : 0.401542s [ 吞吐率:2.49req/s ] 内存消耗:4,786.90kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=059a62c86a1bfe1e995bb4b5452438fd
  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.001370s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001903s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000809s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000822s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001759s ]
  6. SELECT * FROM `set` [ RunTime:0.009631s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.002050s ]
  8. SELECT * FROM `article` WHERE `id` = 604548 LIMIT 1 [ RunTime:0.001360s ]
  9. UPDATE `article` SET `lasttime` = 1778463127 WHERE `id` = 604548 [ RunTime:0.092165s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.009732s ]
  11. SELECT * FROM `article` WHERE `id` < 604548 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.013413s ]
  12. SELECT * FROM `article` WHERE `id` > 604548 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.003308s ]
  13. SELECT * FROM `article` WHERE `id` < 604548 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.004470s ]
  14. SELECT * FROM `article` WHERE `id` < 604548 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.003156s ]
  15. SELECT * FROM `article` WHERE `id` < 604548 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.003090s ]
0.408255s