当前位置:首页>学习笔记>Harness 学习笔记 02:Prompt 文件不是 Harness

Harness 学习笔记 02:Prompt 文件不是 Harness

  • 2026-05-30 22:31:17
Harness 学习笔记 02:Prompt 文件不是 Harness

这是 Learn Harness Engineering 第二讲的学习笔记。

第一讲讲的是一个基本判断:模型能力强,不等于执行可靠。

第二讲往前走了一步:如果可靠性不只来自模型,那模型外面的东西到底是什么?

课程给了一个很直接的答案:那套东西就是 harness。

但这里最重要的一句话不是“我们要有 harness”,而是:一个 prompt 文件不是 harness。

这句话很关键。因为现在很多人一说给 agent 搭 harness,实际做的事情只是写一个 AGENTS.mdCLAUDE.md 或 .cursorrules。这些文件当然重要,但它们只是 harness 里的一个子系统,不是全部。

第二讲真正想建立的是一套可操作的定义:

Harness = 指令 + 工具 + 环境 + 状态 + 反馈。

只有把这五个子系统放在一起看,agent 为什么稳定、为什么失败、为什么同一个模型在不同仓库里表现差很多,才会变得可诊断。

Prompt 文件为什么不够

课程开头用了一个类比。

想象你是一个刚入职的工程师,被丢进一个完全没有文档的项目里。没有 README,代码没有注释,没人告诉你怎么跑测试,CI 配置藏在某个角落。

你能写代码吗?也许能。

但你会把大量时间花在“这个项目到底怎么回事”上,而不是“解决真正的问题”上。

AI agent 的处境更难。人至少可以问同事,agent 只能看到你放到它面前的文件,以及它被允许执行的命令。

这就是为什么只写一个很长的 prompt 不够。Prompt 可以告诉 agent “请认真”“请遵守项目规范”“请先跑测试”,但如果仓库里没有测试命令、环境跑不起来、状态没有记录、失败结果没有反馈回来,agent 仍然无法可靠工作。

Prompt 文件解决的是“指令”问题,不解决全部工程问题。

这一节可以拆成三个判断:

  • • Prompt 文件只是指令子系统。
  • • 没有工具和环境,agent 只能猜。
  • • 没有反馈和状态,agent 无法可靠迭代。

所以第二讲给 harness 下的定义,不是一个抽象概念,而是一个可以拿来审计自己项目的框架。

仓库是事实来源

第二讲里引用了 OpenAI 对 harness engineering 的一个核心表述:仓库就是规范,或者说仓库是系统记录。

这句话翻译成日常开发语言就是:agent 看不到的东西,对它来说就不存在。

对 agent 来说,真正稳定的上下文应该在仓库里:

  • • 项目规则写进入口文档。
  • • 运行方式写成可执行命令。
  • • 进度和决策写成可恢复状态。

团队约定如果只在人的脑子里,agent 看不到。

部署方式如果只在 Slack、飞书、Confluence 里,agent 看不到。

测试命令如果只靠老员工口口相传,agent 看不到。

上一次会话为什么这么改、还差什么、哪里被阻塞,如果没有写进仓库,下一次会话也看不到。

所以 harness engineering 的第一层工作,就是把必要上下文沉淀到仓库里。不是把所有东西都堆进一个巨大的说明书,而是用结构化文件、清晰目录、明确验证命令,让 agent 能按需读取。

这里有一个很实用的判断:AGENTS.md 或 CLAUDE.md 应该更像目录页,而不是百科全书。

100 行左右通常就够了。放不下的细节,应该拆到 docs/ 里,让入口文件负责指路,而不是负责承载全部知识。

五个子系统

第二讲把 harness 拆成五个子系统:指令、工具、环境、状态、反馈。

指令子系统项目规则和入口文档工具子系统shell 文件 测试 API环境子系统依赖 服务 版本状态子系统进度 决策 阻塞反馈子系统test lint build E2E

五个子系统各自回答一个问题:

  • • 指令:这个项目要求什么?
  • • 工具:agent 能做什么动作?
  • • 环境:动作能不能稳定执行?
  • • 状态:长任务能不能接上?
  • • 反馈:怎么知道真的做对?

第一,指令子系统。

它的典型载体是 AGENTS.mdCLAUDE.md.cursorrules。这里应该写项目目的、技术栈、版本、首次运行命令、硬约束,以及更详细文档的链接。

指令子系统的目标不是把 agent 每一步都管死,而是给它一张地图。告诉它这个仓库是什么,边界在哪里,遇到具体问题应该去哪里找资料。

第二,工具子系统。

Agent 和普通聊天模型的关键差别,是它能行动。它需要读文件、搜代码、改文件、跑命令、执行测试、访问浏览器或调用 API。

这里的平衡点是最小权限,而不是零权限。为了安全把 shell 全禁掉,agent 连依赖都装不了,测试都跑不了,那它就只能靠猜。反过来,什么权限都开放也不合理。好的 harness 要明确哪些工具可以用,哪些操作必须确认,哪些边界不能越过。

第三,环境子系统。

真实项目里,环境问题经常比代码问题更消耗 agent。包管理器用 npm 还是 yarn?Node 版本是多少?Python 版本是多少?依赖怎么锁?服务怎么启动?测试需要数据库吗?

如果这些没有写清楚,agent 很容易把时间浪费在环境探索上。

环境子系统的目标是让环境自描述、可复现。比如用 package.jsonpyproject.toml 锁依赖,用 .nvmrc.python-version 指定运行时,用 Docker 或 devcontainer 固化开发环境。

第四,状态子系统。

长任务不可能永远在一个会话里完成。上一轮做了什么,为什么这么做,还剩什么,哪些方案试过失败了,如果没有状态记录,下一轮就要重新探索。

第二讲建议用简单的 PROGRESS.md 记录完成项、进行中、阻塞项。它不一定复杂,但必须稳定更新。每次会话结束前写入,每次新会话开始时读取。

第五,反馈子系统。

这是第二讲最强调投入产出比的部分。

反馈子系统就是明确告诉 agent:什么叫做做对了。

比如:

验证命令: - 测试:pytest tests/ -x - 类型检查:mypy src/ --strict - Lint:ruff check src/ - 完整验证:make check

没有反馈,agent 就只能靠“看起来差不多了”判断完成。

有反馈,agent 才能把失败结果重新纳入下一轮行动。

这也是为什么很多仓库最值得先补的不是更长的 prompt,而是清晰的验证命令。

反馈通常最划算

第二讲有一个很实际的判断:五个子系统里,反馈子系统通常投入最少、回报最高。

原因很简单。

指令、工具、环境、状态都重要,但它们的改造可能需要更多设计。反馈命令往往可以先补。

你可以先不重构整个文档体系,也可以先不设计复杂的状态机,但至少要告诉 agent:改完以后跑什么命令,什么结果算通过,失败时应该看哪里。

这件事对 agent 的行为影响非常大。

反馈子系统最值得先补,因为它直接改变完成判断:

  • • 验证命令比提醒“认真一点”更有效。
  • • 测试失败会变成下一轮修复输入。
  • • 完成由外部证据确认,而不是由 agent 自评。

没有验证命令时,agent 会倾向于提前宣布完成。它会说“我已经实现了”,但这只是主观判断。

有验证命令时,完成不再由 agent 自己宣布,而由外部证据确认。

这和第一讲的 Definition of Done 是同一条线:可靠性来自可执行证据,不来自语言上的自信。

不要凭感觉判断哪个组件最有用

第二讲还讲了一个方法:控制变量排除法。

保持模型不变,任务不变,然后逐个移除 harness 子系统,看哪个移除后性能下降最多。

比如:

固定模型和任务移除指令移除反馈移除状态记录失败和性能变化结合失败归因判断边际价值

这个方法的价值在于,它逼你停止凭感觉讨论。

你可能以为最重要的是更完整的文档,结果发现没有验证命令时成功率掉得最多。

你可能以为状态文件没用,结果长任务一跨会话就崩。

不过课程也提醒了一个边界:移除实验只能告诉你“当前任务里哪个组件边际贡献最大”,不能单独证明“真正瓶颈在哪里”。

要定位瓶颈,还要看失败记录和归因。

任务是不是没说清楚?上下文是不是不足?环境是不是不可复现?验证反馈是不是缺失?状态管理是不是断裂?

没有这一步,只看性能下降,很容易得出过度简化的结论。

一个团队的案例

第二讲里有一个团队案例,很适合说明 harness 的价值。

一个团队用 GPT-4o 开发一个 TypeScript + React 前端应用,大约 2 万行代码。他们不是换模型,而是逐步补 harness。

第一阶段,只有 README 里的基本项目描述。5 次运行成功 1 次,成功率大约 20%。主要问题是选错包管理器、没有遵循组件命名约定、跑不了测试。

第二阶段,加入 AGENTS.md,写清技术栈版本、命名约定、关键架构决策。成功率升到 60%。

第三阶段,在 AGENTS.md 里列出验证命令:yarn test && yarn lint && yarn build。成功率升到 80%。

第四阶段,引入进度文件模板,让 agent 每次运行都记录完成和未完成的工作。成功率稳定到 80% 到 100%。

模型没有变。

变化的是模型周围的工程系统。

这个案例把第二讲的观点讲得很清楚:agent 的能力不是只由模型决定,也由它所处的工作环境决定。

我对第二课的理解

第二课最有价值的地方,是把“harness”这个容易被讲虚的词,拆成了可以审计的五个问题。

你的项目有没有清晰指令?

Agent 有没有足够但不过度的工具权限?

环境能不能稳定复现?

长任务有没有状态记录?

完成有没有外部反馈?

这五个问题比“我是不是该换一个更强模型”更具体,也更可操作。

如果只能从第二课带走一个行动建议,我会选这个:

先补反馈子系统。

把验证命令写清楚,把完成标准写清楚,把失败结果交还给 agent。

因为这是最便宜、最快能看到效果的 harness 改进。

然后再补指令入口、环境说明、状态文件和工具边界。

不要把 harness 学成一套复杂仪式。它本质上是为了减少混乱,让 agent 更少猜测,更多依据外部证据行动。

给自己项目的检查表

读完第二课,可以直接拿这张检查表看自己的仓库。

  • • 有没有一个短而清晰的 AGENTS.md 或 CLAUDE.md
  • • 它是不是目录页,而不是越来越长的百科全书?
  • • 有没有明确写出安装、启动、测试、构建命令?
  • • 依赖和运行时版本是否可复现?
  • • 长任务有没有 PROGRESS.md 或类似状态记录?
  • • 完成标准是否来自测试、lint、build、E2E,而不是 agent 自己说完成?
  • • 如果 agent 失败,能不能从日志或失败记录里归因?

这些问题不需要一次全部解决。

先找最低分的那个子系统,花 30 分钟补一点,再观察 agent 表现变化。

这就是第二讲给我的核心启发:Harness Engineering 不是一次性搭一个巨大系统,而是持续减少 agent 工作时的不确定性。

参考链接

  • • Learn Harness Engineering 第二讲:https://walkinglabs.github.io/learn-harness-engineering/zh/lectures/lecture-02-what-a-harness-actually-is/
  • • OpenAI: Harness Engineering:https://openai.com/index/harness-engineering/
  • • Anthropic: Effective Harnesses for Long-Running Agents:https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents
  • • HumanLayer: Harness Engineering for Coding Agents:https://humanlayer.dev/articles/harness-engineering-for-coding-agents/
  • • SWE-agent: Agent-Computer Interfaces:https://github.com/princeton-nlp/SWE-agent
  • • Thoughtworks: Harness Engineering on Technology Radar:https://www.thoughtworks.com/radar

最新文章

随机文章

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