当前位置: 首页 > news >正文

Dify新手入门指南:从零开始掌握AI应用开发平台

🚀 30+款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度

在开始构建复杂的AI应用之前,一个清晰、顺畅的起点至关重要。很多开发者在初次接触Dify时,面对其丰富的功能模块和界面选项,容易感到无从下手,导致后续的学习和开发效率大打折扣。本文作为Dify系列教程的第二课,将为你提供一份详尽的“新手地图”,手把手带你完成账号开通、界面导览和核心概念理解,让你快速掌握这个强大AI开发平台的入口和布局,为后续的智能体、工作流和知识库开发打下坚实基础。

无论你是希望快速验证AI想法的产品经理,还是寻求高效开发工具的工程师,或是希望将AI能力融入业务的分析师,都能通过本文快速上手Dify,避免在入门阶段浪费不必要的时间。

1. Dify核心定位与价值再认识

在深入界面之前,我们有必要再次明确Dify究竟是什么,以及它能为我们解决什么问题。这有助于我们更好地理解其界面设计的逻辑。

1.1 Dify是什么:不止于低代码平台

Dify是一个开源的AI应用开发平台。它的核心目标是降低AI应用构建的门槛,同时保障应用的生产就绪性。你可以将其理解为一个“AI应用工厂”,它提供了从创意到部署的全套工具。

  • 对于非技术人员(产品、运营、业务专家):Dify是一个强大的“无代码/低代码”工具。通过可视化的拖拽界面,你可以组合各种AI能力(如大语言模型、知识库、工具调用)来构建智能助手、自动化流程等,而无需编写复杂的代码。
  • 对于开发者:Dify是一个高效的“后端即服务”平台。它封装了AI应用开发中繁琐的底层工作,如模型调用管理、上下文处理、知识库检索、工作流编排、状态管理等。开发者可以专注于业务逻辑和创新,快速构建出稳定、可扩展的AI应用后端。

1.2 核心价值:为什么选择Dify?

结合网络资料和社区反馈,Dify的核心价值体现在以下几个方面:

  1. 一体化体验:在一个平台内完成智能体(Agent)、检索增强生成(RAG)管道、工作流编排、模型管理、应用部署和监控,无需在多个工具间切换。
  2. 可视化工作流:通过拖放节点的方式构建复杂的AI处理逻辑,极大提升了开发效率和流程的可理解性。这对于设计多步骤、有条件分支的AI任务至关重要。
  3. 强大的模型兼容性:支持接入全球各类大语言模型,包括OpenAI、Anthropic、国内主流模型以及开源模型(如通过Ollama部署的本地模型)。你可以轻松对比不同模型的性能和效果。
  4. 生产就绪:Dify在设计之初就考虑了可扩展性、稳定性和安全性,使得基于它开发的应用能够直接满足企业级部署的要求。
  5. 活跃的社区与生态:作为一个开源项目,Dify拥有庞大的开发者社区和不断增长的插件市场,可以轻松扩展平台能力。

理解了这些,我们再去看它的界面,就会明白每个功能区域的设计意图。

2. 开通你的Dify账号:云服务与自部署

Dify提供了两种使用方式:云服务本地/服务器自部署。对于绝大多数初学者和希望快速上手的用户,我们强烈推荐从云服务开始。

2.1 使用Dify官方云服务(推荐新手)

这是最快捷的入门方式,无需关心服务器、Docker、环境变量等运维问题。

步骤1:访问官网并注册打开浏览器,访问 Dify 官方网站。在首页右上角找到 “Get Started” 或 “Sign Up” 按钮并点击。

步骤2:选择注册方式Dify 通常支持多种注册方式:

  • 邮箱注册:最通用的方式,输入你的邮箱地址,设置密码,并通过邮件验证码完成验证。
  • 第三方账号登录:可能会支持通过 GitHub、Google 等账号进行快捷登录和授权。

步骤3:完成初始设置注册成功后,你可能会被引导至一个简单的 onboarding 流程,例如:

  • 选择主要用途(个人学习、团队协作、企业开发等)。
  • 选择偏好的界面语言(通常支持中文)。
  • 可能会提供一个简单的示例应用让你快速体验。

完成以上步骤,你就拥有了一个在线的 Dify 工作空间,可以立即开始创建应用。

云服务的优势与限制:

  • 优势:开箱即用,免运维,自动升级,通常提供免费的入门额度。
  • 注意:免费额度有使用限制(如API调用次数、知识库文档数量)。敏感数据需要考虑云端存储的安全性和合规性。

2.2 本地部署Dify(适合进阶用户和定制化需求)

如果你对数据隐私有极高要求,需要深度定制,或希望与内网系统集成,可以选择自行部署。部署方式主要有 Docker Compose 和 Kubernetes 两种,对于个人和小团队,Docker Compose 是最简单的。

基础环境准备:

  • 一台安装好 Docker 和 Docker Compose 的服务器或本地电脑(Windows/macOS/Linux均可)。
  • 至少 4GB 内存,推荐 8GB 或以上。
  • 稳定的网络连接(用于拉取镜像和模型)。

快速部署步骤(以Docker Compose为例):

  1. 克隆仓库:在服务器上打开终端,执行以下命令获取最新的部署配置文件。
    git clone https://github.com/langgenius/dify.git cd dify/docker
  2. 配置环境变量:复制环境变量示例文件并进行修改。最关键的是设置访问密钥。
    cp .env.example .env # 使用文本编辑器(如vim, nano)编辑 .env 文件 # 找到 SECRET_KEY 和 HASH_SALT,将其设置为长且复杂的随机字符串。 # 例如:SECRET_KEY=your-super-secret-key-here-32-chars-minimum
  3. 启动服务:使用 Docker Compose 启动所有容器。
    docker-compose up -d
  4. 访问应用:等待所有容器启动完成后(可通过docker-compose logs -f查看日志),在浏览器中访问http://你的服务器IP:3000。首次访问会进入管理员账号初始化页面。

自部署的注意事项:

  • 持久化存储:确保数据库和向量数据库的数据卷配置正确,避免数据丢失。
  • 网络与端口:检查防火墙设置,确保3000端口(Web界面)和所需的其他端口(如模型API端口)可访问。
  • 性能调优:根据用户量和任务复杂度,可能需要调整容器资源限制(CPU/内存)和数据库配置。
  • 版本升级:后续升级需要关注官方发布的升级指南,操作数据库迁移等步骤。

对于初学者,强烈建议从云服务开始,本课后续的界面导览也将主要基于云服务版本进行讲解,其核心界面与自部署版本基本一致。

3. Dify工作台总览:你的AI应用控制中心

成功登录Dify后,你将进入“工作台”界面。这是你管理所有AI应用、查看动态、获取帮助的中央区域。我们来逐一拆解各个核心模块。

3.1 顶部导航栏

位于页面最上方,包含以下关键功能:

  • Logo/首页:点击可随时返回工作台主页。
  • 创建:最重要的按钮之一。点击后会弹出菜单,让你选择创建“对话型应用”、“工作流应用”或“文本生成型应用”。这是你所有AI之旅的起点。
  • 探索:通常链接到Dify的官方应用市场或模板中心,你可以在这里发现其他用户创建的优秀应用案例,并一键复制到自己的空间进行学习和二次开发。
  • 文档:直达官方帮助文档,遇到任何功能疑问都可以在此查找。
  • 社区/反馈:链接到GitHub、Discord等社区渠道,用于交流问题、提出建议。
  • 用户头像/设置:点击后可以进入“设置”页面,管理账户信息、团队、API密钥、计费(云服务)等。

3.2 左侧主菜单栏

这是功能的核心分区,决定了你当前正在操作的类型。

  • 应用:你创建的所有AI应用都会在这里列表展示。你可以对其进行分类、搜索、编辑和发布。
  • 工作区:在团队版中,用于管理不同的项目或部门空间。
  • 工具:管理可供工作流调用的“自定义工具”。你可以将内部API、函数等封装成工具,供AI智能体调用。
  • 知识库:RAG能力的核心。在这里你可以创建知识库,上传文档(TXT、PDF、Word、PPT、Excel、网页链接等),Dify会自动进行文本分割、向量化并存入向量数据库,供应用检索使用。
  • 模型配置:AI应用的大脑配置中心。在这里添加和管理你的大语言模型供应商API密钥(如OpenAI、Azure、DeepSeek、智谱AI等),也可以配置本地模型(如Ollama)。你可以为不同应用分配不同的模型。
  • 日志与标注:用于生产环境监控和迭代优化。查看应用的所有对话历史、用户反馈,并对数据进行标注,用于后续的模型微调或提示词优化。
  • 插件市场:探索和安装第三方插件,扩展Dify的能力,例如连接Notion、Slack、数据库等。

3.3 工作台中心区域

首次登录时,这里可能会有:

  • 快速开始指南:引导你创建第一个应用。
  • 动态:显示你所在团队或空间的应用更新、协作动态。
  • 资源状态:云服务版会显示当前用量(如API调用次数、知识库文档数)。
  • 最近访问的应用:方便你快速跳转到正在开发的应用。

4. 创建第一个应用:理解应用类型

点击顶部导航栏的“创建”按钮,是时候做出第一个选择了。Dify主要提供三种应用类型,它们对应不同的交互范式和技术栈。

4.1 对话型应用(Chat Application)

这是最常见的类型,用于构建类似ChatGPT的交互式对话助手。

  • 特点:基于LLM的连续对话,具有记忆上下文的能力。
  • 核心技术:主要依靠大语言模型的对话能力,可额外搭配“知识库”和“工具”来增强其回答的准确性和功能性。
  • 适用场景:智能客服、个人学习助手、创意写作伙伴、代码调试助手等。
  • 创建后界面:你会进入该应用的“提示词编排”页面,主要配置“系统提示词”、“用户输入预处理”、“对话开场白”等。

4.2 工作流应用(Workflow Application)

这是Dify最强大、最灵活的功能,用于构建复杂、多步骤的自动化AI流程。

  • 特点:采用可视化、拖拽式的节点编排,可以定义复杂的逻辑判断、条件分支、并行处理和数据转换。
  • 核心技术:工作流引擎。每个节点可以是LLM调用、代码执行、工具调用、知识库检索、条件判断等。
  • 适用场景:多格式内容生成(如根据一个主题同时生成文章、社交媒体文案和邮件)、复杂数据处理与分析、跨系统自动化任务(如分析邮件附件后生成报告并发送通知)。
  • 创建后界面:你会进入一个画布式的“工作流编排”界面,从左侧拖拽节点,在右侧连接它们并配置参数。

4.3 文本生成型应用(Completion Application)

适用于单次、非对话式的文本生成任务。

  • 特点:用户输入一段提示,应用返回一段生成的文本,没有多轮对话上下文。
  • 核心技术:LLM的文本补全能力。
  • 适用场景:文本摘要、翻译、润色、格式转换、关键词提取等“单次请求-单次响应”的任务。
  • 创建后界面:与对话型应用类似,但配置更侧重于单次提示词的优化。

如何选择?

  • 如果你想做一个能聊天的AI,选对话型
  • 如果你想做一个自动化的AI流水线,处理固定流程的任务,选工作流
  • 如果你的任务是一次性的文本转换或生成,选文本生成型

作为入门,建议从“对话型应用”开始,它最直观,也最容易理解AI应用的基本构成。

5. 应用配置界面深度解析

当你创建或点击进入一个“对话型应用”后,会看到其配置界面。这里是你赋予AI应用“灵魂”的地方。界面通常分为三个主要标签页:“提示词编排”、“知识库”和“发布”。

5.1 “提示词编排”标签页

这是应用的核心大脑配置区。

  • 对话开场白:设置AI助手对用户说的第一句话,用于引导用户和设定交互基调。
  • 系统提示词:这是最重要的部分!它定义了AI助手的角色、能力、行为规范和回答格式。例如:“你是一个专业的Python编程助手,专注于解答代码问题和提供最佳实践。你的回答应该简洁、准确,并附带代码示例。”
  • 用户输入预处理:在用户问题发送给LLM之前,你可以在这里添加一些处理逻辑,例如将用户问题翻译成英文、提取关键词、或者添加固定的前缀文本。
  • 上下文变量:你可以定义一些变量,这些变量可以在提示词中被引用。例如,定义一个{user_name}变量,在系统提示词中写“请亲切地称呼用户为 {user_name}”,然后在发布后的Web应用界面上,这个变量可以由用户输入或从会话中获取。
  • 模型与参数:在这里选择本应用使用哪个模型提供商(在“模型配置”中设置好的),并调整温度、最大生成长度等高级参数。

5.2 “知识库”标签页

在这里为你创建的AI助手连接“外部大脑”。

  • 关联知识库:点击“添加知识库”,选择你之前创建好的知识库。一个应用可以关联多个知识库。
  • 检索配置
    • 相似度阈值:控制检索到的文本片段与用户问题的相关度,过滤掉低质量结果。
    • 检索模式:通常有“向量检索”(基于语义相似度)和“全文检索”(基于关键词匹配),Dify通常会将两者结合,以取得更好效果。
    • 返回数量:每次检索返回多少条文本片段。
  • 引用与归属:启用后,AI在回答时会注明引用了知识库中哪些文档的哪部分内容,增加可信度。

5.3 “发布”标签页

在这里将你的应用交付给最终用户。

  • Web应用:生成一个可分享的链接,用户可以通过浏览器直接与你的AI助手对话。你可以自定义这个网页的Logo、名称和描述。
  • API访问:Dify会为你的应用生成唯一的API端点(Endpoint)和密钥(API Key)。你可以将此API集成到自己的网站、移动应用或其他系统中。这是将AI能力产品化的关键。
  • 嵌入:提供一段JavaScript代码,你可以将其嵌入到任何网页中,快速添加一个聊天机器人小部件。

6. 工作流编排界面初探

如果你创建的是“工作流应用”,进入的将是另一个强大的世界——可视化编排画布。

6.1 画布布局

  • 左侧节点库:所有可用的节点类型都在这里分类排列,如“开始”、“LLM”、“知识库检索”、“代码执行”、“条件判断”、“工具调用”、“HTTP请求”、“文本处理”等。
  • 中间画布区:你的工作流设计区域。从左侧拖拽节点到此,并通过连线定义数据流(一个节点的输出可以作为另一个节点的输入)。
  • 右侧配置面板:当你选中画布上的某个节点时,这里会显示该节点的详细配置项。

6.2 构建一个简单工作流

让我们构思一个最简单的例子:“智能内容分析器”

  1. 目标:用户输入一个主题,工作流先调用LLM生成一段关于该主题的短文,然后调用另一个LLM节点对这篇短文进行情感分析。
  2. 步骤: a. 从左侧拖拽一个“开始”节点到画布,它代表工作流的触发点(用户输入)。 b. 拖拽一个“LLM”节点,将其与“开始”节点连接。在右侧配置面板中,将其命名为“内容生成”,并编写提示词:“请围绕以下主题写一篇200字左右的短文。主题:{输入变量}”。 c. 再拖拽一个“LLM”节点,连接到上一个“内容生成”节点。命名为“情感分析”。配置其提示词:“请分析下面这段文字的情感倾向(积极、消极或中性),并简要说明理由。文字:{内容生成节点的输出}”。 d. 最后,拖拽一个“结束”节点,连接到“情感分析”节点。它用于输出最终结果。
  3. 运行:点击画布上方的“运行”按钮,在弹出框中输入测试主题(如“人工智能的未来”),即可看到工作流一步步执行,并输出最终的情感分析结果。

通过这个简单例子,你可以直观感受到工作流如何将复杂的多步AI任务串联起来,实现自动化。

7. 知识库管理界面

“知识库”是Dify实现RAG(检索增强生成)能力的基础。进入“知识库”主菜单,点击某个知识库或创建新知识库后,你会进入管理界面。

7.1 文档上传与处理

  • 支持格式:TXT、Markdown、PDF、Word、Excel、PowerPoint、电子邮件(EML)以及网页URL。
  • 处理方式:Dify在上传后会执行以下自动化流程:
    1. 文本提取:从文件中提取纯文本。
    2. 分割:按照你设定的规则(如按段落、按固定字符数)将长文本分割成较小的“片段”。
    3. 向量化:使用嵌入模型将每个文本片段转换为数学向量(Vector),并存储到向量数据库中。
    4. 索引:建立索引以便快速检索。
  • 批量操作:支持批量上传、删除文档,以及手动触发“重新索引”以更新处理规则后的向量数据。

7.2 分段规则与索引配置

这是影响RAG效果的关键设置。

  • 分段方法:选择“按段落”或“按分隔符”。按段落更符合语义,按固定字符数(如500字)则更均匀。
  • 重叠长度:设置相邻文本片段之间的重叠字符数。这有助于防止一个完整的语义被硬生生切断,提高检索的连贯性。
  • 索引方式:通常包括“高精度”和“经济”模式。高精度模式使用更高质量的嵌入模型,效果更好但处理更慢、成本更高。

7.3 检索测试

在知识库上传并处理完成后,界面会提供一个“检索测试”输入框。你可以输入一个问题,系统会实时展示从知识库中检索到的相关文本片段。这是验证你的知识库构建质量(分段规则是否合理)的最直接方法。

8. 模型与供应商配置

AI应用的核心动力来自大语言模型。在“模型配置”页面,你可以管理所有可用的模型供应商。

8.1 添加模型供应商

点击“添加模型供应商”,Dify支持众多选项:

  • OpenAI:需要填入OPENAI_API_KEY。模型选择包括GPT-4、GPT-3.5-Turbo等。
  • Azure OpenAI:需要填入Azure的端点、API密钥和部署名称。
  • Anthropic Claude:需要填入ANTHROPIC_API_KEY
  • 国内模型:如智谱AI、月之暗面(Kimi)、百度文心一言、阿里通义千问等,通常需要填入其平台提供的API Key和Base URL。
  • 开源/本地模型:通过“Ollama”或“OpenAI-Compatible”方式接入。例如,如果你在本地运行了Ollama服务,可以选择“Ollama”,填写本地API地址(如http://localhost:11434),然后就可以使用本地部署的Llama、Qwen等模型。

8.2 模型配额与负载均衡

对于企业用户,可以为一个供应商配置多个API密钥,并设置配额限制和负载均衡策略,确保服务的稳定性和成本可控。

9. 常见问题与排查思路

在初步使用Dify云服务或自部署版本时,你可能会遇到一些典型问题。

问题现象可能原因解决思路
应用回答“我不知道”或内容空洞1. 系统提示词过于简单或未定义角色。
2. 未关联知识库或检索未命中。
3. 模型API密钥无效或额度用尽。
1. 检查并优化“提示词编排”中的系统提示词,明确AI的角色和任务。
2. 在“知识库”标签页确认已关联正确知识库,并使用“检索测试”验证。
3. 前往“模型配置”检查对应供应商的API密钥状态和余额。
工作流运行失败或报错1. 节点配置错误(如变量名拼写错误)。
2. 外部API调用失败(如工具调用、HTTP请求)。
3. 代码执行节点存在语法错误。
1. 检查失败节点的输入输出变量连接和配置面板。
2. 查看工作流运行日志,定位具体报错信息。
3. 对于代码节点,先在外部环境测试代码逻辑。
知识库检索结果不相关1. 文本分段规则不合理,破坏了语义完整性。
2. 检索相似度阈值设置不当。
3. 文档内容本身质量不高或与问题领域不匹配。
1. 调整知识库的分段规则,尝试“按段落”分割或增加“重叠长度”。
2. 适当降低相似度阈值以获取更多结果,或提高阈值以追求更精准。
3. 优化上传的文档材料,确保其干净、相关。
自部署版本无法访问或启动失败1. 端口被占用或防火墙限制。
2. Docker容器启动失败(如数据库连接问题)。
3. 环境变量配置错误(如SECRET_KEY)。
1. 使用docker-compose ps检查容器状态,使用docker-compose logs [服务名]查看具体错误日志。
2. 检查.env文件配置,特别是数据库连接字符串和密钥。
3. 确保服务器内存和磁盘空间充足。
API调用返回认证错误1. 请求头中未携带API Key或Key错误。
2. API Key对应的应用未正确发布或已被停用。
1. 在应用的“发布”标签页复制正确的API Key,并确保在请求头中以Authorization: Bearer your-api-key格式传递。
2. 在Dify控制台确认该应用处于“已发布”状态。

10. 最佳实践与下一步学习路径

10.1 入门最佳实践

  1. 从模板开始:不要从零开始。在“探索”或应用创建页面,寻找与你想法接近的官方或社区模板,一键复制并研究其配置。
  2. 迭代优化提示词:提示词工程是AI应用效果的关键。采用“小步快跑”的方式:先写一个简单提示词,通过测试对话观察效果,然后逐步增加约束、示例和角色设定。
  3. 善用上下文变量:在构建Web应用时,使用上下文变量(如{user_name})可以极大地提升交互的个性化和灵活性。
  4. 知识库文档预处理:上传前,尽量对文档进行清洗(去除无关页眉页脚、广告),并确保格式正确。结构良好的文档能产生更优的检索效果。
  5. 测试、测试、再测试:充分利用工作流的“运行”测试、知识库的“检索测试”以及应用的“预览”对话功能,在发布前进行全面测试。

10.2 后续学习路径建议

掌握了账号开通和界面导览后,你已经站在了Dify世界的入口。接下来可以沿着以下路径深入:

  1. 深入提示词工程:学习如何编写高效、可靠的系统提示词和用户提示词,掌握思维链、少样本学习等高级技巧。
  2. 掌握工作流高级节点:学习“条件判断”、“循环”、“变量赋值”、“代码执行”等节点的复杂用法,构建真正强大的自动化流程。
  3. 开发自定义工具:学习如何在“工具”模块中,通过Python代码或OpenAPI Schema将你的内部系统、API封装成AI可调用的工具,极大扩展应用边界。
  4. 探索插件市场:了解如何安装和使用第三方插件,快速集成外部服务(如Notion、GitHub、Slack)。
  5. 学习模型微调与评估:利用Dify的“日志与标注”功能,收集用户交互数据,对模型进行微调,或评估不同提示词、模型的效果。
  6. 部署与集成:学习如何通过API将Dify应用集成到你自己的产品中,或者将自部署的Dify进行性能优化和安全加固。

Dify的强大之处在于它将复杂的AI工程能力封装成了直观的可视化操作。本文为你揭开了这层帷幕,展示了控制室内的所有仪表盘和按钮。从创建一个简单的对话助手开始,亲手点击、配置、测试,你将会迅速熟悉这个平台,并逐步解锁构建复杂AI应用的能力。

🚀 30+款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度

http://www.jsqmd.com/news/1127896/

相关文章:

  • Python电影数据可视化系统设计与实现
  • ELM+SHAP多输出回归预测方案解析与实现
  • DWT+DCT双变换域图像水印技术实现与优化
  • AI工程化转型:从模型突破到可靠集成,开发者如何应对技术拐点?
  • 3分钟搞定Word转LaTeX:告别手动排版的烦恼
  • STM32F767ZG与TC78H653FTG的直流电机驱动方案
  • 改进鲸鱼优化算法在无人机三维航迹规划中的应用
  • 水下图像增强:复合算法实现与工程优化
  • Product Hunt热榜分析系统:技术实现与应用价值
  • 影刀RPA常见报错排查手册:50个错误代码与解决方案
  • 基于MNIST的深度学习手写数字识别系统设计与实现
  • 深度学习张量广播机制详解:从规则到PyTorch/TensorFlow实践
  • AI绘画中文生成优化:从扩散模型原理到Stable Diffusion实战
  • LangGraph:节点 = 独立计算单元 完整解读
  • 三重降压转换器在嵌入式系统电源管理中的应用
  • 百度网盘直链解析技术实现深度解析:Python逆向工程实践指南
  • OpenMontage:低成本AI视频生成工具部署、测试与集成指南
  • Lars与Plone:一个企业级开源CMS的22年共生演进
  • Linux驱动开发入门:从Hello World模块到虚拟字符设备驱动实践
  • 从零构建智能AI助手:Hermes Agent核心架构与自动化实战
  • MAA明日方舟助手:5个核心功能让你彻底告别重复操作
  • 决策树在RGB图像分类中的Matlab实现与应用
  • Codex生态接入DeepSeek:三种主流方式全解析与实战配置
  • 基于深度学习的眼底疾病识别系统开发实践
  • 基于CNN的糖尿病视网膜病变自动检测系统实现
  • GTA5终极个性化游戏体验:开源辅助软件完全指南
  • 认知无线网络中Q-Learning动态频谱接入的Matlab实现与优化
  • 企业级AI Agent平台架构设计:从核心原理到高可用系统实战
  • 5分钟免费解锁Wand高级功能:开源增强工具完全指南
  • 强化学习核心算法解析:蒙特卡洛与时序差分的原理、对比与应用