乐于分享
好东西不私藏

Agent入门:解构AI智能体的五大核心能力

Agent入门:解构AI智能体的五大核心能力

欢迎来到 AI Agent 的世界!

你可以把 Agent 想象成一个拥有超级能力的智能助手。你给它一个目标(比如“帮我规划下周去北京的旅行”),它就能像人一样,自己上网查信息、分析利弊、制定计划,甚至调用工具(比如订票网站)来完成任务。

那么,Agent 是如何实现这一切的呢?奥秘就在于它具备的五大核心能力。


Prompt:五大能力的“总指挥”

那么,我们作为开发者,如何驾驭这五大能力呢?答案是 Prompt

如果说五大核心能力是 Agent 身体的“器官”(大脑、眼睛、手、记忆系统),那么 Prompt 就是向这些器官下达指令的“灵魂”和“总指挥”。它是一个蓝图,用来定义和编排这五大能力该如何协同工作。

它们的关系如下:

核心能力
Prompt 在其中扮演的角色
🎯 目标导向
Prompt 直接定义了 Agent 的最终目标。Prompt 的第一句话通常就是:“你是一个 XX Agent,你的任务是 XX。”
🧠 规划
Prompt 为 Agent 预设了思考的蓝图和决策逻辑。它告诉 Agent 在拿到一个任务后,应该遵循怎样的宏观计划。
🎬 行动
Prompt 负责向 Agent 说明它拥有哪些工具(行动能力)以及何时、如何使用它们,就像一份工具使用说明书。
📚 记忆
Prompt 指导 Agent 如何与它的记忆系统互动,比如何时读取长期记忆(如用户偏好),何时写入新的记忆。
👀 感知
Prompt 决定了 Agent 如何理解和响应“感知”到的信息(如工具返回的结果),并基于此进行下一步决策。

总而言之,我们正是通过编写高水平的 Prompt,才能将大语言模型(LLM)强大的底层能力,组织和激发出来,形成一个真正好用的 Agent。

你可能会问,这和我们微调模型时用的 system_prompt 有什么关系?

你的理解完全正确!system_prompt 正是承载“目标”的容器。但对于 Agent 来说,这个容器里装的东西更丰富:

  • 简单聊天机器人 system_prompt = 目标 + 角色
  • Agent system_prompt = 目标 + 角色 + 详细的规划 + 行动/工具说明书

所以,你为 Agent 设计的 system_prompt,本质上就是一个更高级、更详尽的行动纲领。

用户发送的 Prompt 归属于哪里?

那么,用户在对话中发送的 prompt,在 Agent 的五大核心能力中又扮演什么角色呢?

它直接归属于 👀 感知 (Perception) 环节。

用户发送的 prompt 是 Agent 从环境中接收到的初始刺激具体任务指令。它的整个处理流程是这样的:

  1. 外部环境触发:用户输入并发送 prompt。
  2. Agent 进行感知:Agent 的“感知”模块捕获到这个外部信息。
  3. 信息传递至规划:这个被感知到的用户 prompt,会作为 LLM 进行“规划”时的重要输入,指导它如何结合自身的“目标”和“记忆”来制定下一步的行动方案。

区分总结:

Prompt 类型
角色
谁定义的?
在五大组件中的主要作用
系统提示 (System Prompt)
Agent 的“灵魂”和“行动纲领”,是内在的、持久的。
开发者
主要定义 🎯 目标🧠 规划 的宏观策略和 🎬 行动 的工具清单。
用户提示 (User Prompt)
Agent 需要完成的具体任务指令,是外来的、实时的。
用户
Agent 👀 感知 环节的输入信息,是触发 Agent 整个工作流的起点。

可以想象成一位前台接待员(Agent):

  • 系统提示 是她的岗位职责手册(设定了她的使命、工作流程和工具使用规范)。
  • 用户提示 则是访客(你)对她提出的具体请求(比如“我找张三”)。她通过耳朵(感知)接收到这个请求,然后参考手册(系统提示)来完成工作。

一张图看懂 Agent 如何工作

为了把所有概念串联起来,我们可以用一张图来总结 System Prompt用户提示模型返回 和 工具 这四个部分,是如何与五大核心组件协同工作的。

  • System Prompt: 为 Agent 定义了 🎯 目标预设了 🧠 规划 的蓝图和 🎬 行动 的工具清单。
  • 用户提示: 作为外部指令,被 Agent 的 👀 感知 模块捕获。
  • 模型返回: 是 🧠 规划 模块的输出,它可能是一个最终答案,也可能是一个调用工具的决策
  • 工具: 是 🎬 行动 的具体体现,其返回结果会再次被 👀 感知 模块捕获,形成循环。

这张图清晰地描绘了 Agent 著名的 ReAct (Reason + Act) 循环思考 -> 行动 -> 观察 -> 再思考...

Agent 的五大核心能力

这五大能力——目标导向、感知、规划、行动、记忆——是当前 AI Agent 领域普遍认可的核心框架。它并非某个单一的学术定义,而是对人工智能研究(尤其是经典的 BDI 模型)的现代化提炼和实践总结。

我们可以通过下面这张图直观地理解这五大能力是如何协同工作的:

从代码层面看五大能力

下面这张图表将五大核心能力与 LangChain 生态中的具体代码实现联系起来,帮助你更直观地理解如何在代码中构建一个 Agent:

接下来,我们将逐一解析这五大能力,并为你揭示实现它们需要哪些“技术工具箱”。

关于“技术工具箱”: 这里的“工具箱”是一个比喻。它并非特指某个软件,而是指为了实现某种能力,我们需要用到的一系列技术、库、框架或设计模式的组合。


1. 🎯 目标导向 (Goal-Oriented) - “我最终要做什么?”

  • 是什么:这是 Agent 所有行动的出发点和最终目的,是驱动它工作的“初心”。
  • 核心技能需求分析 与 提示工程 (Prompt Engineering)
  • 新手理解:就像你对一位真人助手说:“帮我整理下笔记”。助手首先要动脑筋,把这个模糊指令变得清晰具体:“好的,您的意思是扫描 /notes 目录下的所有 .md 文件,并按 YYYY-MM-DD 的格式创建文件夹来存放它们吗?” 这个将模糊想法精确化的过程,就是“目标导向”的核心。在 Agent 开发中,我们通过精良的提示词(Prompt)来赋予 Agent 这种能力。

2. 👀 感知 (Perception) - “我看到了什么?”

  • 是什么:Agent 用来“观察”和“听取”外部世界信息的方式。
  • 技术工具箱:主要是信息抓取相关的 Python 库
  • 新手理解:这是 Agent 的“眼睛”和“耳朵”。
    • 看网页:使用 requests + BeautifulSoup 读取静态网页,或者用 Playwright / Selenium 浏览需要复杂交互的动态网站。
    • 调接口:通过调用 API 从其他系统获取数据。
    • 读文件:利用 pathlib 库在你的电脑上查找和读取本地文件。

3. 🧠 规划 (Planning) - “我该怎么做?”

  • 是什么:Agent 的“大脑”,根据目标和感知到的信息,制定一步一步的行动计划。
  • 技术工具箱:指导 Agent 思考和决策的设计模式与框架
  • 新手理解
    • 基础模式 (ReAct): 这是所有现代 Agent 的思考基础,即 “思考 -> 行动 -> 观察” 的循环。就像人一样,想一下做什么,然后动手,再看看结果,接着想下一步。
    • 进阶模式 (思维树/反思): Agent 也可以“深思熟虑”。它可以在一个决策点上,想象多种可能(思维树),或者在行动后“复盘”反思,看看计划是否需要调整(反思)。

4. 🎬 行动 (Action) - “开始动手!”

  • 是什么:Agent 执行规划好的具体步骤,通常通过调用 工具 (Tools) 来与外部世界互动。
  • 技术工具箱函数调用 (Function Calling / Tool Use) 技术。
  • 新手理解:如果说“规划”是写菜谱,“行动”就是真正拿起锅铲。这里的“锅铲”就是 Agent 的工具。一个工具本质上就是一个 Python 函数(例如 read_file)。我们需要教会 LLM 如何理解这个函数的功能、参数,并在需要时准确地调用它。同时,还要考虑工具调用失败了怎么办?是重试、换个工具,还是向你求助?

5. 📚 记忆 (Memory) - “我记住了什么?”

  • 是什么:Agent 记录和回忆信息的能力,让它不是“金鱼脑”。
  • 技术工具箱对话历史管理向量数据库 (Vector Database)
  • 新手理解
    • 存入知识: 使用向量数据库(入门可选 ChromaDBFAISS)将大量信息(如你的个人笔记、公司文档)存起来。
    • 提取知识: 当 Agent 需要时,它能快速从这个数据库中检索出最相关的信息来辅助回答。比如,记住你“不吃香菜”的偏好,下次找菜谱时就会自动避开。
    • 短期记忆 (聊天上下文): Agent 能记住你们当前的对话内容,这样你就可以说“上一步提到的那个链接怎么样?”它能理解你的意思。
    • 长期记忆 (知识库/RAG): 这是让 Agent 变得更“博学”和“个性化”的关键。通过检索增强生成 (RAG) 技术,我们可以给 Agent 一个外部知识库。


实战演练:设计一个“菜谱 Agent”

理论有点枯燥?没关系!让我们通过一个具体的“菜谱 Agent”例子,看看这五大能力是如何无缝协作的。

你的提问: "如何做西红柿炒鸡蛋?"

1. 🎯 目标导向 (Goal-Oriented)

Agent 首先明确了你的意图,并设定了清晰的内部目标:“找到一份靠谱的西红柿炒鸡蛋菜谱,并以‘食材清单’和‘步骤说明’的格式清晰地呈现给你。

2. 🎬 行动 (Action) - 定义工具箱

为了实现目标,Agent 需要一套称手的“工具”:

  1. search_recipes(dish_name): 上网搜索菜谱链接。
  2. get_webpage_content(url): 获取网页的详细内容。
  3. extract_recipe_details(content): 从杂乱的网页内容中,提取出结构化的食材和步骤。

3. 🧠 规划 (Planning) - Agent 的思考过程 (ReAct 循环)

Agent 的“大脑”开始运转,通过“思考 -> 行动 -> 观察”的循环来解决问题。

  • 第1轮:搜索

    • 🤔 思考: "用户想找‘西红柿炒鸡蛋’的菜谱。我应该先上网搜一下。我需要用 search_recipes 工具。"
    • 🎬 行动: 调用 search_recipes(dish_name="西红柿炒鸡蛋")
    • 👀 观察: 工具返回了几个高分链接。
  • 第2轮:抓取内容

    • 🤔 思考: "第一个链接评分最高,看起来最靠谱。我需要用 get_webpage_content 工具获取它的内容。"
    • 🎬 行动: 调用 get_webpage_content(url="...")
    • 👀 观察: 工具返回了一大段带 HTML 代码的原始文本,很乱。
  • 第3轮:提取信息

    • 🤔 思考: "内容太乱了,我得把它整理成干净的格式。我需要用 extract_recipe_details 工具。"
    • 🎬 行动: 调用 extract_recipe_details(content="...")
    • 👀 观察: 工具成功返回了结构化的 JSON 数据,包含食材和步骤。
  • 第4轮:完成任务

    • 🤔 思考: "我已经拿到了所有需要的信息,任务完成了。现在可以整理并回复用户了。"
    • 🎬 行动: 将 JSON 数据格式化为易读的文本,作为最终答案输出。

4. 👀 感知 (Perception) 与 📚 记忆 (Memory)

这两个能力贯穿始终:

  • 感知:Agent 在每个“观察”阶段都在感知上一步行动的结果(搜索结果、网页内容、提取的数据)。
  • 记忆
    • 短期记忆让它在整个流程中记得自己每一步做了什么。
    • 长期记忆(如果配置了)则更强大:它可以记住你“喜欢少盐”的偏好,或者缓存这次找到的菜谱,下次再有人问同样问题时,就能秒回答案,又快又准。

LangChain 实现“菜谱 Agent”的学习要点

如果你想用 LangChain 生态从零到一构建这个 Agent,下面是你需要重点关注的核心模块:

1. Agent 的“大脑”:AgentExecutor 与 Chat Models
  • 学什么:
    • Chat Models: 选择一个大语言模型作为推理核心,如 ChatOpenAI
    • create_openai_tools_agent: 这是组装 Agent 的现代化“工厂”,它将 LLMTools 和 Prompt 粘合在一起。
    • AgentExecutor: 这是 Agent 的“执行器”,负责驱动 ReAct 循环,让 Agent 真正“活”起来。
2. Agent 的“行动”能力:自定义工具 (Tools)
  • 学什么:
    • @tool 装饰器: 将任何 Python 函数变成 Agent 可用工具的最简单方法。
    • 现成工具: 学习使用 LangChain 提供的 DuckDuckGoSearchRun(搜索)、WebBaseLoader(网页加载)等工具。
    • 提取链 (Extraction Chains): 这是实现 extract_recipe_details 的关键。学习 create_extraction_chain,它可以让 LLM 自动从文本中提取信息并填充到你定义的 Pydantic 模型中。
3. Agent 的“规划”蓝图:提示工程 (Prompt Engineering)
  • 学什么:
    • ChatPromptTemplate: 构建 Agent 核心提示的“模板”。
    • MessagesPlaceholder: 这是模板中的关键“占位符”,用于动态插入用户输入 (input) 和 Agent 的思考轨迹 (agent_scratchpad),是实现多步推理的基石。
4. Agent 的“记忆”系统:Memory 与 Retriever
  • 学什么:
    • 短时记忆: 学习 ConversationBufferMemory,让 Agent 能够联系上下文进行对话。
    • 长时记忆 (RAG): 学习完整的 RAG 流程,包括用 FAISS 或 Chroma 创建向量存储,用 OpenAIEmbeddings 生成词向量,并最终用 create_retriever_tool 将你的知识库也包装成一个工具,让 Agent 可以在需要时主动查询。

学习路径建议

  1. 从工具开始: 先学会用 @tool 把简单的 Python 函数变成工具。
  2. 创建简单 Agent: 用 AgentExecutor 把工具和简单的 Prompt 组合起来,让它跑起来。
  3. 强化工具: 学习 Document Loaders 和 Extraction Chains,让 Agent 能与外部世界进行更复杂的交互。
  4. 添加记忆: 最后,学习加入对话记忆和 RAG,让你的 Agent 变得更智能、更个性化。

完整实现代码与运行指南

本节提供了“菜谱 Agent”的完整 Python 实现代码,您可以将其保存为 recipe_agent.py 文件并运行。

1. 依赖文件 (requirements.txt)

在运行代码之前,请确保安装了所有必要的库。将以下内容保存到 requirements.txt 文件中:

langchainlangchain-openailangchain-google-genaigoogle-generativeaiduckduckgo-searchbeautifulsoup4faiss-cpupydanticlxml
2. Agent 核心代码 (recipe_agent.py)

代码,可以自己拷贝下来,保存到本地运行:

https://gist.github.com/xiaodizi/fb99dc602a26e7a4ddd9f3a407abd764

3. 运行指南

请按照以下步骤来运行您的“菜谱 Agent”:

第 1 步:设置环境变量

在您的终端中,确保已设置我们之前讨论过的全部 5 个环境变量。每次新开一个终端都需要重新设置,或者您可以将它们添加到您的 shell 配置文件中(如 .zshrc 或 .bash_profile)。

# 聊天模型配置export OPENAI_API_KEY='XXX'export OPENAI_API_BASE='XXX'export OPENAI_CHAT_MODEL_NAME='XXX'# 嵌入模型配置export GOOGLE_API_KEY='XXX'export GOOGLE_EMBEDDING_MODEL_NAME='XXX'

第 2 步:安装依赖库

在包含 requirements.txt 和 recipe_agent.py 的目录下,运行以下命令来安装所有必需的 Python 库:

pip install -r requirements.txt

第 3 步:运行 Agent

安装完成后,运行 Python 脚本来启动 Agent:

python recipe_agent.py

第 4 步:与 Agent 交互

脚本运行后,您会看到欢迎信息。您可以开始与它对话了:

  • 提问菜谱:直接输入菜名,例如 如何做可乐鸡翅
  • 记录偏好:使用 偏好: 开头来告诉 Agent 您的口味,例如 偏好: 我不吃香菜
  • 退出程序:输入 退出

代码中的 verbose=True 设置会打印出 Agent 详细的思考和行动过程,便于您观察和理解它的工作原理。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-23 23:00:34 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/552450.html
  2. 运行时间 : 0.084768s [ 吞吐率:11.80req/s ] 内存消耗:5,164.44kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=22be7fd77a4a8d1c53822472aee12301
  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.80 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000564s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000863s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000308s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000267s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000586s ]
  6. SELECT * FROM `set` [ RunTime:0.000224s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000648s ]
  8. SELECT * FROM `article` WHERE `id` = 552450 LIMIT 1 [ RunTime:0.000490s ]
  9. UPDATE `article` SET `lasttime` = 1776956434 WHERE `id` = 552450 [ RunTime:0.000733s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000263s ]
  11. SELECT * FROM `article` WHERE `id` < 552450 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000597s ]
  12. SELECT * FROM `article` WHERE `id` > 552450 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000435s ]
  13. SELECT * FROM `article` WHERE `id` < 552450 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000728s ]
  14. SELECT * FROM `article` WHERE `id` < 552450 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002423s ]
  15. SELECT * FROM `article` WHERE `id` < 552450 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000978s ]
0.086459s