乐于分享
好东西不私藏

AI编程越改越烂是个连乘问题

AI编程越改越烂是个连乘问题

说实话我也不知道这套东西行不行。

我自己被AI编程折腾了挺久,从最早用Cursor,到后来重度依赖Claude Code,中间踩过的坑能填平一整个太平洋。有一段时间我甚至有点抗拒,因为那个感觉太熟悉了,你让AI改个东西,它咔咔咔给你一顿改,第一眼看好像没问题,再往下跑发现新bug,你让它修,它又给你改出新的,来回几次之后整个项目乱成一锅粥,最后你只能咬牙全部回退,自己重写。

这种「越改越烂」的体感,我相信每个深度用AI编程的人都遇到过。

我憋了挺久,一直想搞明白这到底是怎么回事。是AI太笨?是prompt写得不好?是模型不够强?后来我发现都不是,或者说,这些都是表象。

真正的答案是个数学问题。

而且一旦你看懂了这个数学问题,很多事就豁然开朗了,包括为什么要写CLAUDE.md,为什么要用worktree,为什么那些工程实践一个个都那么「反直觉」地严格。它们不是玄学,是在解同一个方程。

今天我就把这套我自己总结的框架掏出来。不一定对,我自己也还在摸索,你凑合看。

我先抛个公式,别怕,很简单。

假设AI每一步出错的概率是p,连续做N步的任务,整体成功率是多少?

不是1-p,是(1-p)的N次方。

每一步的成功是相乘的关系,不是相加。

这就很要命了。我们直觉上觉得「每步90%成功率已经很高了啊」,但你是连乘的。假设p等于10%,也就是每步成功率90%,听着不错吧???

N等于10步,成功率0.9的10次方,大概是60%。N等于30步,21%。N等于50步,7.7%。

50步的任务,每步都九成把握,最后只有不到8%的概率一次过。

你看明白了吗,这玩意不是线性下降,是指数崩塌。步数一长,不管你单步多准,整体都会塌。

而且每一步的p还不一样。改个配置文件的p很小,做个架构调整的p很大。指令清晰的时候p小,信息过载的时候p大。更要命的是,前面的错误会传导到后面,前面错了后面基本就是错上加错,pᵢ会被前序的失败顶上去。同时这个p还会因为环境漂移,项目架构变了模块新增了文档没同步,整体往上爬。

所以我后来想明白一件事,AI编程的所有问题,说到底都在跟这个连乘公式搏斗。你要么把p降下来,要么把N降下来,要么承认p降不到0于是控制失败的成本,要么对抗p随时间漂移。

我把它们叫四大职能。

降低pᵢ,让单次更准。降低N,让步骤更少。降低失败成本,让失败可回滚。自我演化,对抗pᵢ漂移。

我们一个个聊。

先说降低pᵢ,这是最直觉的一个,就是让每一步更准。

但这里有个反直觉的点。降低pᵢ不是靠「让AI更聪明」,是靠「把判断变成约束」。AI最不擅长的是判断,最不会出错的是执行明确的规则。所以降低pᵢ的核心动作,是把那些需要AI判断的地方,要么变成它不用判断的约束,要么变成能被立刻检测出来的检查。

我自己的体感,这一块分三个时机,执行前、执行中、执行后。

执行前最大的坑,是目标太模糊。「加个验证」「修个bug」,这种话你跟人说都得再确认半天,跟AI说AI就只能猜。猜错的概率有多高你想想看。

所以我后来强制自己把模糊目标翻译成可验证目标。「加验证」变成「先写一组针对非法输入的测试,然后让测试通过」。这样AI就没有理解歧义的空间了,做完了你跑一下测试就知道对没对。

做多步任务也是,先让它列个计划,每一步后面跟一个「怎么验证这一步做对了」。没有计划的时候,AI是一边走一边决策,走偏了你要到最后才发现,回退起来代价巨大。有计划,每步有验证标准,偏了立马能抓住。

这里其实有个很关键的认知,做和检查应该是一个原子操作,不是先做完再检查。你把检查能力前置、强化,pᵢ本身就降下来了,因为AI在做的过程中就知道边界在哪。还有一个细节,要给AI一个明确的停止条件,DONE就是做完了,BLOCKED是卡住了,NEEDS_CONTEXT是需要更多信息,别让它收一个「差不多做完了」的尾,「差不多做完了」不是个合法状态,那是任务实际没完成你还得跟在屁股后面追。

执行中的坑更多,而且都是那种「顺手」的坑。

AI特别喜欢顺手干点别的。你让它改A,它顺手把B也优化了一下,顺手把注释整理了,顺手把格式调了。每一个「顺手」都是在往diff里塞你没要求的东西,塞着塞着,真正的改动就被淹没了,审查的时候你根本注意不到它在哪偷偷引入了一个bug。

所以有一条铁律,不要顺手改相邻代码、注释、格式。每一行改动都得能追溯到你的原始请求。

还有一类坑是它特别爱「预防性设计」。你只让它做一个一次性的小功能,它给你抽出来三层抽象,建了几个接口,留了一堆扩展点。这玩意不是帮你,是在给你埋雷。不必要的抽象会让后面的步骤pᵢ全部上升,因为代码更绕了,AI要理解的路径更多了。

200行能写完的东西如果它给你写成50行你就让它重写,别心疼。

警告也是。lint的警告、类型检查的警告、编译器的警告,AI特别容易忽略它们觉得「无所谓」。但你放任警告堆积,真正的问题就会被淹没,等到哪天一个关键警告被淹在一堆无所谓的警告里,bug就漏过去了。不留警告,每一个都修。

注释掉的代码直接删。别留着觉得「万一以后用得上」。注释掉的代码依然是上下文,AI读着读着可能就基于这段死代码做决策了,这是实打实的污染。替换而不是废弃,旧实现该删就删干净,别留着加一层兼容shim,两条路径比一条路径更容易出错。

执行后就是验证。这块我必须强调一个事,bug修复一定要附带一个能捕获这个bug的测试。没测试等于没做完,因为未来某次修改它可能又把同一个bug引回来,没有回归测试你根本不知道。

而且测试本身要有效。怎么验证测试有效?先故意把代码改坏,确认测试会失败,再把代码改回来。如果你改坏了测试还过,那这个测试什么都没测到,是废的。

测行为别测实现,测边界别只测happy path,mock只mock外部边界别mock内部逻辑。这几条随便一条破了,测试就变成安慰剂,比没测试还坑。提交之前再重读一遍自己的改动,AI是一步步堆出来的代码,很容易堆出不必要的复杂度,重读一眼常常能揪出来。

接下来说降低N,这个其实跟降低pᵢ同等重要,因为N也是指数项。

很多人没意识到,N不只包括「往前走的步骤」,还包括「搜索的步骤」「沟通的步骤」「回退的步骤」。把这些都算上,一个看着不复杂的任务,N可能大得吓人。

降低N最猛的一招,是skill。skill这个东西说到底就是把一个多步决策的流程封装成单次调用,直接把N压到1。

你想想看,没有skill的时候,AI做一个事要经历什么,理解需求、搜索相关代码、制定方案、逐步实现、再验证,每一步都有pᵢ,N也大。有了skill,预制好的流程一调用,中间所有决策点全跳过。这就是为什么重复做的事情一定要封装成skill,做两次是偶然,做第三次就该封装了,手动流程每次都得让AI重新决策一遍,N从k降成1,这笔账怎么算都划算。

搜依赖也有讲究,按标准库、热门库、自写这个顺序来。标准库和热门库是调接口,几行代码的事,自写是设计加实现加测试,代码量翻几十倍。代码量少出错面就小,N也短。加依赖之前先查一下当前稳定版本,别从记忆里假设,模型训练数据有时滞,你脑子里那个版本号可能早就过时了,用过时版本API不兼容,又是一通折腾。

实现一个功能之前,先去看看项目里类似功能是怎么做的,照着已有的模式来。自己从头设计加实现加调试,跟参照已有模式微调,差的步骤数不是一个量级。AI自己设计的东西你还得多审几遍,照着抄的几乎不用审。

搜索代码也别瞎搜。搜代码结构用AST级别的工具,搜字面量用文本工具,用错了误匹配一堆,得反复搜,N白白涨上去。大文件先grep定位行号,再读目标范围,别从头到尾重读整个文件。

沟通也要省。跟人协作用文件名加行号引用,别说「那个函数大概在前面」,直接甩src/auth.py第42行,对方一步到位。还有,连续性任务的回复以「下一步动作」结尾,别回顾总结。回顾不产生任何进展,纯粹浪费回合。

第三个,降低失败成本。这一块我个人觉得是四个里最被低估的。

为什么?因为前两个是「努力让事情做对」,这一个的前提是「事情一定会做错」。pᵢ降不到0,失败必然发生,那关键就不在「会不会失败」,而在「失败的时候代价多大」。

失败成本等于不可逆程度乘以影响范围乘以修复时间。这三个维度每一个都能砍。

不可逆程度,最简单的,每改一步就git提交,一条commit只做一件事。这样任意一步炸了,你能精准回退到上一步,而不是整个人类文明回退到「我把文件备份到桌面那个文件夹里」的状态。破坏性操作必须确认,rm -rf、git reset --hard、DROP TABLE、kubectl delete这种,执行前一定停下来问一下,因为这种操作一旦走错,成本是无限大。能用trash别用rm,误删了还能从回收站捞回来,不可逆直接降成可逆。

影响范围,并行跑多个子Agent的时候,每个都要用独立的worktree,谁也别踩谁的脚,一个炸了不连累其他。别直接推main,用feature分支,分支失败跟主干没关系,影响范围归零。

修复时间,这一条我深有体会。AI连续两次修正还是错的时候,别再让它改第三次。在错误的基础上堆叠修补只会越改越乱,你会陷入那种「再改一次就好了」的执念,其实越改越远。回退到上一个已知正确的提交点,重新来。放弃沉没成本才是最快的修复。

最后一个,自我演化,这个最玄,但也最长期。

pᵢ不是恒定的。它会随时间漂移,往上涨。原因有两个,一个是规则本身过时了,一个是上下文被污染了。

规则过时好理解。你项目架构调整了,模块换位置了,但CLAUDE.md里写的还是老路径。AI照着老规则走,基于错误前提开发,pᵢ直接上去。所以有个原则,发现规则跟代码实际情况矛盾的时候,别闷头遵循,主动报告。你这一报告,过时的规则就暴露出来了,才能被修。

写新规则进memory的时候,记得把被它纠正的旧规则标记成过时。不然新旧两条矛盾的规则同时躺在那儿,下次会话AI又懵了,pᵢ又上去。

上下文污染更隐蔽。死代码、注释掉的代码、废弃的方案、文档里写了但实际没实现的功能,这些东西都是污染。AI读上下文的时候没法区分「这是现在的」「这是过去的」,它把所有信息都当当前选项,基于过时信息做决策,pᵢ上升。

所以注释掉的代码删掉,废弃的方案别留档,文档跟代码不一致就同步更新,一个会话只干一个任务范围的事,干完就结束或者压缩,过时的计划文件随手删。这些都是在保持上下文新鲜。

聊到这儿得说一个区分,软规则和硬规则。

CLAUDE.md、AGENTS.md里写的那些,是软规则,靠上下文引导AI的偏好,能降低pᵢ,但降不到0,因为AI还是可能不听。hooks、CI、linter这些是硬规则,直接从工程上把某些错误路径堵死,pᵢ直接等于0。

选哪个的原则很简单。能被工具检测的错误,上硬规则。只能靠判断力避免的错误,留软规则。高危又能检测的,软硬双保险。

而且这个比例是会演进的。项目初期CLAUDE.md里写满软规则,大部分靠AI自觉。成熟之后,可检测的软规则一个个升级成硬规则,CLAUDE.md只剩判断力类的那点东西。人的注意力投资方向也跟着变,从写软规则,到配硬规则,最后只维护硬规则加少量判断力。

写到最后我聊点形而上的。

人其实一直在跟这个连乘公式搏斗,只不过以前不自觉。

飞机驾驶舱为什么有checklist?因为飞行任务N很大,每一步pᵢ不能高,靠人记忆会出错,checklist就是把这些高pᵢ步骤固化成pᵢ等于0的硬规则。医院手术前为什么要数纱布?同理。工厂流水线为什么要SOP?同理。三权分立为什么是三权不是一权?因为权力集中pᵢ太高,分立是降低单点失败的成本。

人类文明搞出的所有制度、流程、规范,拆开看都在做这四件事,降pᵢ、降N、控失败成本、自我演化。AI编程这个新场景,不过是把这个古老的问题又搬出来重解了一遍。

而且有个趋势我觉得挺重要。Harness这四大职能的终极目标,不是让AI更强,是减少完成单位任务所需的人的注意力。

人的注意力是稀缺的,一个人同时只能盯一个Agent的输出,盯久了还会疲劳,疲劳了审查质量就下降,pᵢ反弹。每次人工干预都是成本。

所以你看这个演进路径。现在我们是逐条审批逐次纠偏,注意力消耗很高,人盯单Agent。近期会变成调度者,管多个Agent,关注调度和结果不管过程。远期就是目标定义者和约束设计者,只在关键节点介入。

核心不是不需要人,是人的注意力从「消耗在每次操作上」转向「投资在约束和规则上」。你今天花一小时写一条CLAUDE.md规则或者配一个hook,省下来的是未来无数次的人工干预。

这才是这套框架真正划算的地方。短期看是给自己找麻烦,长期看是把自己从无穷无尽的纠偏里解放出来。

我也不知道这套东西你用不用得上,反正我是真这么想的,也真这么在用。哪天你要是也被AI改到崩溃,回过头来看看这四个字,降低pᵢ,降低N,降低失败成本,自我演化,没准能帮你从那个坑里爬出来。

以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章,我们,下次再见。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-20 11:58:23 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/773762.html
  2. 运行时间 : 0.101999s [ 吞吐率:9.80req/s ] 内存消耗:4,859.27kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=0b8881012286666f1fe1b114313b1ed2
  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.000663s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001013s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000326s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000262s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000506s ]
  6. SELECT * FROM `set` [ RunTime:0.000184s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000549s ]
  8. SELECT * FROM `article` WHERE `id` = 773762 LIMIT 1 [ RunTime:0.000517s ]
  9. UPDATE `article` SET `lasttime` = 1781927903 WHERE `id` = 773762 [ RunTime:0.000831s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000240s ]
  11. SELECT * FROM `article` WHERE `id` < 773762 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000533s ]
  12. SELECT * FROM `article` WHERE `id` > 773762 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000375s ]
  13. SELECT * FROM `article` WHERE `id` < 773762 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002642s ]
  14. SELECT * FROM `article` WHERE `id` < 773762 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.004250s ]
  15. SELECT * FROM `article` WHERE `id` < 773762 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002068s ]
0.106109s