乐于分享
好东西不私藏

AI Agent 生态工具链全面解析:如何选择你的下一个 Agent 框架

AI Agent 生态工具链全面解析:如何选择你的下一个 Agent 框架

2024年,Agent 赛道终于热起来了。从 OpenAI 的 GPT-4 Agents 到国内的通义千问、Kimi,各家都在抢 Agent 的定义权。但对于写代码的人来说,真正的问题是:到底用哪个框架来搭 Agent?

这篇文章会拆解目前几个主流框架,讲讲各自的设计思路、代码怎么写、工具生态怎么样,最后给点选型建议。文章不短,但废话不多。


一、为什么需要 Agent 框架

先搞清楚一件事:Agent 框架解决的是什么问题?

普通的 LLM 调用很简单,你给一段 prompt,模型返回一个答案。但 Agent 要做的事情不一样——模型要自主决策、调用工具、感知环境、持续行动。

这带来几个实际挑战:

  1. 1. 状态管理:多轮对话里怎么维护上下文和记忆
  2. 2. 工具调用:怎么定义、注册、调用外部工具
  3. 3. 规划推理:模型怎么决定下一步做什么
  4. 4. 错误恢复:工具调用失败后怎么处理
  5. 5. 多 Agent 协作:多个 Agent 之间怎么分工通信

这些问题,框架帮你抽象好了。没有框架当然也能用 API 拼,但大概率会重复造一堆轮子。


二、主流框架扫一遍

2.1 LangGraph —— 图计算范式

一句话:用图结构组织 Agent 工作流,适合复杂、有状态的场景。

LangGraph 是 LangChain 团队出的新一代框架,核心思路是把 Agent 的执行过程建模成有向图。每个节点是一个操作(LLM 调用、工具执行、状态更新),每条边是状态转移。

好处:

  • • 可视化好:工作流画出来一目了然
  • • 可控性强:执行顺序、分支逻辑自己定
  • • 状态持久化:天然支持 checkpointing,暂停/恢复不难
  • • 循环结构:Agent 和工具之间的来回交互原生支持

适合:需要复杂决策树、需要持久化状态、需要精细控制执行流程的企业级应用。

缺点:上手曲线不低,API 变化快,有些功能还在实验阶段。

2.2 AutoGen —— 多 Agent 对话

一句话:围绕多 Agent 协作设计,适合需要多个角色配合的系统。

AutoGen 是微软出的框架,核心理念是多 Agent 协作。每个 Agent 有自己的角色(User Proxy、Assistant),Agent 之间通过消息传递通信。

几个亮点:

  • • 多 Agent 原生支持:有群聊管理器,多 Agent 协作直接能用
  • • 代码执行:Agent 能直接跑 Python 代码,适合数据分析
  • • 人机协作:关键节点可以插入人工反馈
  • • 消息机制灵活:Agent 可以选择回复谁、不回复谁

代码示例 —— 简单多 Agent 对话

from autogen import ConversableAgent, GroupChat, GroupChatManager# 助手 Agentassistant = ConversableAgent(    name="assistant",    system_message="你是一个专业的技术写作助手。",    llm_config={"model": "gpt-4", "api_key": "your-api-key"},)# 用户代理 Agentuser_proxy = ConversableAgent(    name="user_proxy",    is_termination_msg=lambda msg: "完成" in msg.get("content", ""),    human_input_mode="NEVER",    system_message="代表用户执行任务的代理。",)# 启动对话chat_result = user_proxy.initiate_chat(    assistant,    message="帮我写一段关于 AI Agent 的介绍,字数 200 字以内。",)

适合:需要多角色配合的研究探索、数据分析代码生成、需要人在环路的审批流程。

缺点:单 Agent 场景有点重,消息传递机制调试起来有时候摸不着头脑。

2.3 CrewAI —— 角色和任务

一句话:围绕角色和任务设计,适合业务流程自动化。

CrewAI 的设计思路很直接:让 Agent 像团队一样工作。引入了 Crew(团队)和 Task(任务)的概念,每个 Agent 有自己的 Role(角色)、Goal(目标)和 Backstory(背景故事)。

特色:

  • • 角色感:Agent 有身份、有目标,不是冷冰冰的工具
  • • 任务流水线:支持顺序和并行执行,自动处理依赖
  • • 工具复用:内置常用工具,扩展起来方便
  • • 中文友好:文档和社区都还行

代码示例 —— 任务协作流水线

from crewai import Agent, Task, Crew# 研究员 Agentresearcher = Agent(    role="高级研究员",    goal="收集并整理 AI Agent 领域的最新发展趋势",    backstory="你是一名在 AI 领域深耕多年的研究员,擅长从海量信息中提炼核心观点。",    verbose=True)# 作家 Agentwriter = Agent(    role="技术作家",    goal="将研究成果转化为通俗易懂的技术文章",    backstory="你是一名专业技术作家,能用生动的语言解释复杂的技术概念。",    verbose=True)# 定义任务research_task = Task(    description="调研 2024 年主流 Agent 框架的发展现状,包括 LangGraph、AutoGen、CrewAI 等。",    agent=researcher,    expected_output="一份结构化的研究报告,涵盖各框架的核心特性和优劣势。",)write_task = Task(    description="基于研究报告,撰写一篇面向开发者的技术文章。",    agent=writer,    expected_output="一篇 2000 字左右的技术文章。",    context=[research_task],  # 依赖前一个任务)# 组建团队并执行crew = Crew(agents=[researcher, writer], tasks=[research_task, write_task])result = crew.kickoff()

适合:内容创作流水线、市场调研报告、多步骤业务流程自动化。

缺点:深度定制能力一般,复杂决策逻辑实现起来有点费劲。

2.4 Semantic Kernel —— 微软技术栈首选

一句话:微软官方出品,适合 .NET/TypeScript 团队。

Semantic Kernel 是微软 Azure 团队维护的框架,定位明确:企业级 AI 应用。支持 C#、Python 和 TypeScript,.NET 团队迁移成本很低。

核心特性

  • • Planner 机制:内置任务规划,Agent 能自动拆解复杂任务
  • • 内存抽象:短期记忆、长期记忆可以灵活配置
  • • 连接器模式:标准化的插件/技能注册机制
  • • 企业级支持:微软背书,稳定性有保障

适合:.NET 技术栈企业应用、已有 Azure/Microsoft 365 集成的项目。

缺点:Python 生态没有 LangGraph 成熟,社区资源相对少。

2.5 其他值得关注

框架
特点
适合人群
Dify
可视化编排 + 开源自部署
不想写代码的业务团队
Coze
字节跳动出品,Bot 生态丰富
快速搭对话 Bot
Flowise
LangChain 可视化,低代码
LangChain 入门
LlamaIndex
知识检索 + Agent 能力强
RAG 场景优先

三、工具生态:框架之外的战场

框架只是骨架,Agent 能力上限看工具生态。一个框架能走多远,很大程度看它对工具的支持。

3.1 工具注册与调用

主流框架都差不多:让 LLM 输出结构化的"工具调用"指令,框架解析并执行。OpenAI 的 Function Calling 和 Anthropic 的 Tool Use 协议是现在的主流标准。

# LangGraph 风格的工具定义from langchain_core.tools import tool@tooldef search_database(query: str) -> str:    """在知识库中搜索相关信息。"""    # 实际会调用向量数据库    return f"根据 '{query}' 找到以下结果:..."@tooldef send_email(recipient: str, content: str) -> str:    """发送邮件通知。"""    return f"邮件已发送给 {recipient}"

3.2 工具选择与路由

进阶问题:有多个可用工具时,Agent 怎么选?

几种策略:

  1. 1. LLM 原生判断:让模型自己选(灵活但贵)
  2. 2. 关键词匹配:基于工具描述的向量相似度(成本和效果平衡)
  3. 3. 硬编码路由:prompt 里规定好什么场景用什么(最可控但最死板)

好框架会把这几种策略的接口暴露出来,让你选,而不是替你选。

3.3 工具执行与错误处理

工具调用失败的场景很常见——API 超时、网络抖动、外部服务挂了。框架要提供:

  • • 超时控制:工具执行不能无限等
  • • 重试机制:自动重试失败的调用
  • • 降级策略:主工具挂了尝试备选
  • • 执行日志:方便定位问题在哪一步

这里有个很容易被忽视的坑:工具描述的质量直接决定调用准确率。很多团队花大把时间优化模型,却不愿意在工具描述上用心。实际上,一段模糊的工具描述比一个弱的模型更能毁掉一个 Agent。建议每个工具都写清楚:参数含义、返回值格式、使用限制、常见错误。

3.4 记忆与上下文管理

长对话或多轮任务需要记忆管理。几种方案:

  • • 短期记忆:靠大模型上下文窗口,单次任务内够用
  • • 语义记忆:关键信息存成 embedding,用向量数据库召回
  • • 结构化记忆:用 JSON 或数据库存实体关系,适合精确检索
  • • 程序化记忆:Agent 执行过程中主动把重要信息固化到外部存储

LangChain 和 LlamaIndex 在记忆抽象上做得比较完善,有现成的组件可以用。有特殊需求的话,建议基于 Milvus、Pinecone 这类向量数据库自建记忆层。框架自带的记忆组件简单场景够用,但往往撑不到生产级别。


四、代码对比:同一个任务,不同框架

用一个统一场景展示各框架的实现方式:让 Agent 完成"研究 + 写作"的流水线

任务:先搜最新 AI Agent 资讯,再基于搜索结果写文章。

LangGraph 实现

from langgraph.graph import StateGraph, ENDfrom langchain_openai import ChatOpenAIfrom typing import TypedDict, Annotatedimport operatorclass AgentState(TypedDict):    query: str    research: str    article: strllm = ChatOpenAI(model="gpt-4")def research_node(state):    query = state["query"]    # 模拟搜索    research_result = f"关于 '{query}' 的研究资料..."    return {"research": research_result}def write_node(state):    prompt = f"基于以下研究资料写一篇短文:\n{state['research']}"    response = llm.invoke(prompt)    return {"article": response.content}def should_continue(state):    return "write" if state.get("research") else ENDgraph = StateGraph(AgentState)graph.add_node("research", research_node)graph.add_node("write", write_node)graph.set_entry_point("research")graph.add_conditional_edges("research", should_continue)graph.add_edge("write", END)app = graph.compile()result = app.invoke({"query": "AI Agent 最新进展"})

AutoGen 实现

from autogen import ConversableAgentresearcher = ConversableAgent(    name="researcher",    system_message="你是研究员,负责收集 AI Agent 领域的最新资讯。",    llm_config={"model": "gpt-4"},)writer = ConversableAgent(    name="writer",    system_message="你是作家,负责基于研究资料撰写文章。",    llm_config={"model": "gpt-4"},)# 研究员先工作research_result = researcher.generate_reply(    messages=[{"role": "user", "content": "请搜索 AI Agent 最新进展。"}])# 作家基于研究结果写作article = writer.generate_reply(    messages=[{"role": "user", "content": f"请基于以下研究资料写一篇短文:\n{research_result}"}])

三个框架的思路差别明显:

  • • LangGraph 关注流程编排,用图结构串联各环节
  • • AutoGen 关注 Agent 间通信,消息传递是核心
  • • CrewAI 关注角色协作,强调任务分配和流水线

没有绝对的好坏,关键是看场景。


五、选型建议

讲了这么多框架,到底怎么选?按这几个维度来:

5.1 团队技术栈

最实际的问题。.NET 团队优先 Semantic Kernel,Python 团队选择最多,JavaScript 团队看 Semantic Kernel 或自研。技术栈决定你能拿到多少社区支持和文档。

5.2 项目复杂度

  • • 简单场景(单 Agent、简单工具调用):直接用 LangChain LCEL 或简单 Function Calling 就够,框架反而增加复杂度
  • • 中等复杂度(多步骤流水线、状态管理):LangGraph 和 CrewAI 不出错
  • • 高复杂度(多 Agent 协作、持久化状态、需要精细控制):LangGraph 图模型或 AutoGen 消息机制更合适

5.3 生产环境需求

生产环境稳定运行要考虑:

  • • 监控可观测性:框架有没有执行追踪、指标采集
  • • 部署便利性:支不支持容器化、serverless
  • • 升级维护成本:API 稳不稳,社区活不活跃

5.4 社区与生态

这个经常被忽视,但实际上很重要。见过太多团队选了个"看起来很美"的框架,遇上问题在 GitHub Issues 发帖没人理。

LangChain/LangGraph 社区最大,文档最全,但争议也大(有人爱用,有人嫌弃)。AutoGen 背靠微软,企业级场景有保障。CrewAI 虽然资历浅,但增长势头不错。


六、最后说几句

写这篇文章的时候,我一直在想一个问题:我们是不是太关注框架了?

真正重要的永远是你要解决什么问题。Agent 框架是工具,选框架是为了更高效地解决问题,不是为了追某个"最流行"的框架。

一个扎心的事实:很多团队花大量时间在框架选型和切换上,却忽略了真正核心的东西——Agent 的 Prompt 设计、工具的质量、评估体系的建立

建议:先跑通最小闭环。用最简单的方式把 Agent 跑起来,验证它能不能解决你的问题。只有原型出现瓶颈了,再考虑引入更复杂的框架。

框架会变,但问题本身很少变。把精力放在理解问题和设计解法上,比追框架新版本更有价值。


六、Agent 评测:容易被低估的环节

很多人会在框架选型、Prompt 调优上投入大量精力,却忽略了一个问题:你的 Agent 到底有多好用?

没有评测体系的 Agent 开发,就像蒙着眼飞行。不知道改了个 Prompt 是变好还是变坏,不知道上线新版本后用户满意度上升还是下降。

目前行业里还没有像软件测试那样成熟的 Agent 评测标准,但有几个方向值得关注:

1. 任务完成率:给一组标准任务,看 Agent 成功完成多少。最直接的指标,但也最难定义"成功"——搜索结果对算成功?还是最终产出符合预期才算?

2. 工具调用准确率:需要调用工具时,Agent 选对了没有?传参对不对?这需要标注好的"标准答案"数据集。

3. 幻觉率:Agent 回答里出现错误信息的比例。这个指标重要,但开放式对话场景很难自动评测,往往需要人工抽检。

4. 成本效率:每次任务消耗多少 token。成本优化是企业级应用的核心,尤其 Agent 规模化部署后,每降低 10% token 消耗都是真金白银。

5. 延迟体验:从用户发请求到 Agent 给出最终响应的端到端延迟。这直接影响用户体验,等待时间太长会明显拉低满意度。

我在项目里摸索出来的一套评测流程:先建立基准数据集,50-100 个典型任务案例;然后用自动化评测跑通大部分场景,辅以人工抽检;最后设置回归测试,每次代码变更后自动跑基准集,防止引入新问题。不完美,但够用。

七、实战建议:从 0 到 1 搭 Agent 系统

说完框架和评测,最后给一些实操建议,帮你在真实项目里少走弯路。

建议一:从单 Agent 开始,别过度设计。

很多团队项目启动时就设计了复杂的多 Agent 架构,结果发现单 Agent 能解决 80% 的问题,复杂设计反而带来难以维护的调试成本。我的经验:先证明单 Agent 不够用了,再考虑多 Agent 扩展。很多场景下,优化 Prompt 和工具定义,单 Agent 的能力边界比想象中远得多。

建议二:工具设计优先于框架选型。

投入大量时间学某个框架之前,先想清楚你的 Agent 需要哪些工具。工具是 Agent 能力的边界,工具设计得好不好,直接决定 Agent 的表现上限。很多团队把大量时间花在框架学习上,却忽视了工具层的设计——这是本末倒置的。

建议三:建立反馈闭环,让 Agent 从错误中学习。

生产环境里的 Agent 一定会犯错,关键是让错误变成学习素材。我的做法:每次工具调用失败后,捕获错误信息并记录;定期分析错误日志,识别高频失败模式;针对性地优化 Prompt 或添加工具说明。持续迭代,Agent 表现会逐步提升。这种方式比单纯换模型、换框架有效得多。

建议四:保持 Prompt 和代码分离。

很多团队把 Prompt 直接写在代码里,小项目没问题,但很快会变得难以维护。建议一开始就使用独立的 Prompt 配置文件或数据库存储,这样可以在不修改代码的情况下调整 Agent 行为。配合 A/B 测试,你甚至可以同时跑多个版本的 Prompt,观察哪个表现更好。

建议五:监控一切,但告警要有优先级。

Agent 系统的监控比传统软件更复杂,因为 LLM 输出天然有随机性。需要监控:API 响应时间、工具调用成功率、Token 消耗速率、用户满意度评分。但不要被监控数据淹没,设定合理的告警阈值,只在核心指标异常时才触发告警。告警太多会让团队陷入"狼来了"的麻木。

八、未来展望:Agent 生态的下一个阶段

Agent 技术还在快速演进,如果让我预测接下来值得重点关注的几个方向:

多 Agent 原生协作协议:目前各框架的多 Agent 实现还是各自为战,缺乏统一标准。行业需要一个类似 HTTP 的"Agent 间通信协议",让不同框架开发的 Agent 能相互协作。这会催生大量跨框架的创新应用。

Agent 安全与权限体系:Agent 能力越来越强,安全问题会越来越突出。Agent 能不能自主执行敏感操作?外部怎么约束 Agent 的行为边界?这需要类似 RBAC(基于角色的访问控制)的 Agent 权限体系,也是企业级采纳的关键前提。

Agent 可解释性:为什么 Agent 选了这个工具而不是那个?为什么给出这个回答?这种"黑盒"问题会随着监管要求提高变得越来越重要。可解释的 Agent 不仅便于调试,也是赢得用户信任的基础。

垂直领域 Agent 深度优化:通用 Agent 在特定垂直领域的表现往往不如专为该领域优化的版本。未来会有大量专注金融、医疗、法律、制造等行业的 Agent 框架和工具链,这些垂直方案的深度优化会带来明显效果提升。


总结

  • • LangGraph:复杂工作流首选,图结构可控性强
  • • AutoGen:多 Agent 协作场景的最佳拍档
  • • CrewAI:业务流程自动化、快速原型的好工具
  • • Semantic Kernel:微软生态企业的安心之选
  • • 其他工具:Dify/Coze 适合低代码场景,LlamaIndex 适合 RAG 密集型应用

Agent 框架是工具,选框架是为了更高效地解决问题,不是追某个"最流行"的框架。把精力放在理解业务需求、设计工具接口、建立评测体系上,比花大量时间研究框架 API 变更更有价值。

希望这篇文章能帮你在 Agent 框架的丛林里找到方向。有具体场景的选型困惑,欢迎评论区交流。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-20 08:18:37 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/640118.html
  2. 运行时间 : 0.125175s [ 吞吐率:7.99req/s ] 内存消耗:4,694.97kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=62e3fe62f330a0c2f813e53e6d6671ad
  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.000615s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000889s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000311s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000279s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000620s ]
  6. SELECT * FROM `set` [ RunTime:0.000248s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000684s ]
  8. SELECT * FROM `article` WHERE `id` = 640118 LIMIT 1 [ RunTime:0.000517s ]
  9. UPDATE `article` SET `lasttime` = 1779236317 WHERE `id` = 640118 [ RunTime:0.038276s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000417s ]
  11. SELECT * FROM `article` WHERE `id` < 640118 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000614s ]
  12. SELECT * FROM `article` WHERE `id` > 640118 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000455s ]
  13. SELECT * FROM `article` WHERE `id` < 640118 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000585s ]
  14. SELECT * FROM `article` WHERE `id` < 640118 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000612s ]
  15. SELECT * FROM `article` WHERE `id` < 640118 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001683s ]
0.126910s