⚠️温馨提示: 文档中包含【1个】暂不支持的区域,请通过搜索关键字【暂不支持的文档区域】进行后续处理

deepseek-ai-agent-notes.zip

过往分享了很多进阶知识与架构内容,课程文档列表如下,配套对应 课程文档和配套视频回放找咨询老师 领取~ 希望对你的技术成长有帮助!

【飞书文档】NestJS 从入门到进阶全栈开发实战,字节专家带你突破前端开发能力边界

【飞书文档】前端性能优化核心点全面解析,高级前端专家传授涨薪高分面能力

【飞书文档】飞书低代码物料体系与编排引擎设计,字节前端专家在线评审实现工程重难点 低代码核心,高薪面试技巧补益

【飞书文档】企业级低代码平台核心需求与方案设计,字节前端专家带你精研产品业务与工程架构 低代码业务核心必看


【飞书文档】vite、rollup、tsup、tsc 打包构建工具详解,字节前端专家带你深入多业务构建方案

【飞书文档】基于 pnpm monorepo 大厂项目工程化设计,字节架构师传授多场景项目架构要诀

【飞书文档】前端单测、集成测试与端到端测试方案全面解析,字节大佬分享字节系产品分场景测试最佳实践

【飞书文档】css、cssinjs、tailwindcss 核心用法与进阶,字节系产品样式方案评审与最佳实践

【飞书文档】Typescript 进阶与高分技巧,字节面试官细数常问面试题与优秀开源项目最佳实践

【飞书文档】Docker 入门与服务编排进阶,字节前端专家带你光速掌握 CI/CD 运维技能


【飞书文档】ESLint 前端编码规范化与原理剖析,特邀字节大佬分享团队代码质量把控细节

【飞书文档】Notion 与飞书文档协同方案精析,字节前端专家传授百万年薪架构师级项目重难点 飞书文档编辑器原理续,进阶

【飞书文档】Ant Design 组件库架构设计与开发实践,高级前端专家带你掌握基建面试技巧 组件库与团队基建面试必看

【飞书文档】Taro、Tauri 多端开发实践与原理剖析,《Taro 多端开发权威指南》作者带你悟透多端框架原理 多端开发涨薪必学


【飞书文档】Nest 服务端开发与原理深度剖析,《NestJS 实战》作者带你领略框架设计之美 全栈进阶,企业级框架

【飞书文档】Babel 与编译原理详解,字节高级前端专家带你从零实现飞书表格公式执行器

【飞书文档】服务端渲染(SSR)与前后端同构技术原理揭秘,字节前端专家带你光速进阶全栈 进阶必学


【飞书文档】大数据可视化引擎与数字孪生平台设计浅析,字节架构师:一起来剖析 DataWind 数据洞察平台架构之道

【飞书文档】飞书文档协同编辑器技术揭秘,特邀字节架构师分享富文本编辑器方案细节

【飞书文档】前端性能与异常监控平台全链路设计与实践,字节架构师:掌握这整套拿个 40K+ 不在话下吧

【飞书文档】字节面试专场——中厂在职学员冲击大厂 30K+,看看面试官如何评价 大厂模拟面试,问得很深慎看

【飞书文档】冲击中大厂筹备与涨薪突击最优方案,特邀字节面试官带你体验大厂面试全流程


【飞书文档】Webpack 原理深度解读与面试专项突击,字节面试官带你手撕难缠打包构建面试原理题 工程化与构建原理深入

【飞书文档】脚手架/CLI 工具原理与开发实践,特邀字节前端专家带你体悟大厂团队基建与研发工作流 团队基建必看

【飞书文档】Vite 构建过程与源码深度剖析,你怎么也想不到一线大厂工程化构建面试会问这么深!

【飞书文档】Vue3 源码深度剖析,字节面试官教你轻松拿捏高级前端专家面试框架原理题

【飞书文档】React18 源码深度剖析,字节面试官教你轻松拿捏高级前端专家面试框架原理题

【飞书文档】前端破局 AI 应用开发,特邀字节大佬分享字节系 AI 场景落地应用与 AI 引擎编排流程 探索前端新方向同学福音


【飞书文档】高级前端专家如何做性能优化?特邀字节大佬细数飞书应用优化细节(二)【内部培训版】

【飞书文档】小小微前端,轻松拿捏,特邀字节大佬开讲微前端架构与源码剖析【内部培训版】 35K+ 同学必看

【飞书文档】高级前端专家如何做项目架构与工程化设计? 特邀字节大佬细数字节开源项目架构细节【超详细内培版】

【飞书文档】高级前端专家如何做性能优化?特邀字节大佬细数飞书应用优化细节(一)【超详细内培版】


【飞书文档】面试被算法干吐了?字节大佬带你突破极限,冲击 30K+ 必掌握算法与 WebAssembly 技术 冲刺年包 50W+ 同学必看

【飞书文档】字节大佬带你弯道超车,深入剖析大厂面试真题~

【飞书文档】项目没有难点亮点?字节大佬带你前端项目弯道超车

【飞书文档】备战金九银十,进阶大前端,涨薪全突破! 跳槽涨薪需求同学必看

  • 初中级 】面试官:你有做过 AI 相关的业务吗?说说你对于生成式 AI 应用引擎的整体理解和业务流程
  • 中高级 】面试官:作为前端开发者,说说你对智能体与生成式 AI 应用引擎业务的理解,这方面的业务怎样具体落地?
  • 专家级 】面试官:我们现在需要开发一个类似 coze 的企业内部 AI 开发平台,你能详细说说整体架构设计和核心点吗?

初中级 】你有做过 AI 相关的业务吗?说说你对于生成式 AI 应用引擎的整体理解和业务流程

  • 了解 LLM(大规模语言模型) 的基础概念和原理。
  • 掌握如何将 生成式 AI 技术集成到前端应用中。
  • 理解 RAG(Retrieval-Augmented Generation)Prompt 设计和 Agent 的使用方法。
  • 学习如何开发和部署基于 LLM 的生成式 AI 平台和应用。

第一部分:LLM 背景与基本概念

什么是 LLM?

  • 定义 :大规模语言模型(LLM)是基于 Transformer 架构训练的 AI 模型,能够理解和生成自然语言。
  • 发展历程 :从早期的统计方法(如 n-gram 模型)到深度学习驱动的变革,尤其是 GPT 系列BERT 等模型的出现,极大地提升了自然语言处理的能力。
  • 工作原理 :LLM 基于大规模语料库进行无监督预训练,通过自注意力机制处理文本中的长距离依赖关系,学习语言的语法、语义、上下文信息。

LLM 的架构和组件

  • Transformer 架构 :LLM 的核心,基于自注意力机制(Self-Attention),能高效地处理长文本并捕捉全局上下文。

  • 预训练与微调 :LLM 先通过大量未标注的文本数据进行预训练,再通过具体任务进行微调,使模型能够适应特定应用(例如文本生成、问答系统、对话生成等)。

  • 常见的 LLM

    • GPT 系列 (OpenAI 的 GPT-3、GPT-4)
    • BERTT5 (用于特定任务,如问答、文本分类)
    • LLama (Meta 的开源大模型)

LLM 的优势与挑战

  • 优势

    • 能处理复杂的语言任务,如文本生成、翻译、对话等。
    • 可以在多种应用中提供即插即用的能力。
  • 挑战

    • 计算资源需求大 :训练 LLM 需要巨大的计算资源。
    • 模型可解释性差 :难以理解模型为什么给出某个答案。
    • 伦理和偏见 :训练数据中的偏见可能会影响模型的输出。

生成式 AI 和其应用平台

生成式 AI 的概述

生成式 AI 是能够根据输入生成新的数据的技术,可以生成文本、图像、音频等多种形式的内容。

  • 应用场景

    • 文本生成 :如自动写作、文章摘要、对话生成等。
    • 代码生成 :自动生成代码片段,提升开发效率。
    • 个性化推荐 :根据用户行为生成个性化的内容。

RAG(Retrieval-Augmented Generation)

RAG 结合了检索和生成的技术。在生成模型中融入信息检索的能力,增强了生成结果的准确性和多样性。

  • 工作原理 :RAG 系统首先通过检索模型获取与输入相关的信息,然后将这些信息传递给生成模型,以生成更加丰富和相关的回答。

  • 实际应用

    • 智能问答系统 :利用 RAG 从文档库中检索信息并生成回答。
    • 知识库管理 :为企业或开发者提供通过查询生成定制化内容的能力。

Prompt 设计

Prompt 是输入给语言模型的文本提示,通过设计有效的 Prompt,可以引导模型生成符合预期的结果。

  • Prompt 设计技巧

    • 使用简洁、明确的语言来描述任务。
    • 尝试不同的提示结构,找到最佳的表达方式。
    • 考虑对话的上下文,避免模型产生不相关或模糊的响应。

Agent(热点)

Agent 是一种自动化的智能体,能够执行任务、查询外部资源并与用户交互。

  • 工作原理 :基于生成式 AI 和 RAG,Agent 能够分析用户请求,生成适当的响应,甚至在外部 API 上执行操作。

  • 应用示例

    • 智能客服 :自动处理用户的查询并生成响应。
    • 自动化任务执行 :根据指令调用外部 API 来完成任务,如预订机票、查询天气等。

前端如何集成 LLM 和生成式 AI

与后端 API 集成

  • API 接口 :前端开发者可以通过 RESTful API 或 GraphQL 接口与后端生成模型进行交互,获取模型生成的内容或响应。

  • 常见的 API

    • OpenAI API :提供 GPT-3、GPT-4 的接口,用于生成文本、问答、代码等。
    • Hugging Face API :提供多种预训练的 LLM 和任务模型,适用于多种自然语言处理任务。

前端交互设计

  • UI/UX 设计 :设计一个直观的用户界面,使得用户与生成式 AI 系统的交互更加自然和高效。例如,聊天机器人界面、代码生成器、智能搜索框等。

  • 与 AI 模型的互动

    • 实时生成 :前端可以在用户输入时调用模型生成响应,并实时展示。
    • 提示词优化 :前端可以提供预设的提示词,帮助用户高效地与 AI 模型进行交互。

生成式 AI 应用引擎

字节扣子与 Dify 平台

  • 字节扣子 :基于 LLM 和生成式 AI,提供多种业务模型,如智能客服、内容生成等。
  • Dify :集成了 RAG、Prompt 设计、Agent 等技术的应用平台,可以帮助开发者快速构建基于生成式 AI 的应用。

实际项目实战

  • 项目 1 :设计一个基于 GPT 的聊天机器人应用。
  • 项目 2 :构建一个智能问答系统,结合 RAG 技术,支持从知识库中检索信息并生成回答。

私有化生成式 AI 应用引擎实战

私有化生成式 AI 应用引擎,最重要的是关注模型部署、引擎部署、调用。

我们此处选择使用 Ollama 部署 Deepseek,然后 Docker 部署 Dify,再在 Dify 中接入 Ollama 模型,然后使用 Dify 搭建 AI 应用完整步骤。

Ollama 部署 Deepseek

  1. 安装 Ollama

    • 首先,确保您已经安装了 Ollama。如果尚未安装,可以访问 Ollama 官方网站 进行下载安装。
  2. 拉取 deepseek-r1 镜像

    • 确保您已通过 Docker 或其他容器管理工具拉取到 deepseek-r1:latest 镜像。如果您还没有这个镜像,您可以使用以下命令来获取它:
docker pull deepseek-r1:latest
  1. 启动 Ollama 环境

    • 启动 Ollama 环境,确保它正常运行。可以通过以下命令来启动 Ollama:
ollama start
  1. 加载 deepseek-r1 模型

    • deepseek-r1:latest 镜像导入 Ollama 中。如果模型在本地已有,您可以通过以下命令来加载:
ollama model load deepseek-r1:latest
  1. 验证模型是否已成功加载

    • 确认模型已加载成功。您可以通过以下命令来查看已加载的模型:
ollama model list
  1. 运行模型

    • 使用以下命令运行 deepseek-r1:latest 模型进行推理:
ollama run deepseek-r1:latest
  1. 配置与优化

    • 根据需要,您可以进一步优化模型的运行,修改相关配置以适应您的计算环境或任务需求。
  2. 停止和卸载模型

    • 如果需要停止或卸载模型,可以使用以下命令:
ollama stop deepseek-r1:latest

Docker 部署 Dify

在 Docker 环境中部署 Dify 模型,您可以按照以下步骤进行操作:

  1. 安装 Docker

    • 确保您已经在服务器或本地机器上安装了 Docker。如果尚未安装,可以访问 Docker 官方网站 获取安装指南。
  2. 下载 Dify

  3. 配置环境变量

cd dify
cd docker
cp .env.example .env
  1. docker compose 启动
docker compose up -d
  1. Dify 初始化配置

  2. 添加 Ollama 模型

  3. 搭建工作流简单实战

安装 ChatBox 或 AnythingLLM 等(可选)

中高级 】作为前端开发者,说说你对智能体与生成式 AI 应用引擎业务的理解,这方面的业务怎样具体落地?

  • 通过字节扣子为例,深入讲解生成式 AI 应用引擎的核心功能。
  • 理解生成式 AI 引擎的核心组件,如插件、工作流、触发器、知识库、记忆和用户输入等。
  • 掌握如何在前端开发中实现和集成这些功能。
  • 提供具体的业务流程和方案设计,帮助开发者落地生成式 AI 技术。

生成式 AI 应用引擎概述

生成式 AI 应用引擎是一种基于大规模语言模型(LLM)和智能体(Agent)的系统,能够帮助用户生成、分析、执行各种任务和内容。其核心目标是通过 AI 技术自动化繁琐任务、提升效率、并提供个性化的服务。

生成式 AI 引擎的工作原理

生成式 AI 引擎基于自然语言处理技术,利用深度学习模型(如 GPT、BERT)来理解和生成自然语言。通过输入的提示词,生成式 AI 引擎能够生成文本、回答问题、执行指令等任务。

字节扣子作为生成式 AI 应用引擎的核心结构

字节扣子(BytePlus)是字节跳动推出的一款 AI 平台,具有以下几个关键功能:

  • 插件(Plugins) :通过插件扩展模型的功能,能够与外部系统进行集成。
  • 工作流(Workflows) :一系列可执行任务的自动化流程。
  • 触发器(Triggers) :根据用户的输入或系统状态自动触发某些操作。
  • 知识库(Knowledge Base) :存储并管理知识,使得生成式 AI 引擎能够根据不同的查询提供准确答案。
  • 记忆(Memory) :保存用户的历史交互和上下文,以便生成个性化和更具上下文相关性的响应。
  • 用户输入(User Input) :前端通过用户输入收集信息,并向生成式 AI 引擎发送请求。

生成式 AI 应用引擎的核心功能模块

我们将通过字节扣子的主要功能,逐一讲解生成式 AI 应用引擎的核心模块。

插件(Plugins)

插件是指生成式 AI 引擎中可扩展的功能模块,它可以与外部系统或服务进行集成,增强引擎的功能性。插件通过与第三方 API 或数据库的交互,可以使生成式 AI 引擎具有更多应用场景。

  • 常见插件类型

    • 外部 API 插件 :如天气查询、语音识别、支付接口等。
    • 自定义任务插件 :根据企业需求定制,执行特定任务,如自动化生成报告、数据分析等。

应用示例 :通过与外部搜索引擎插件结合,生成式 AI 引擎可以检索互联网信息,实时提供答案。

工作流(Workflows)

工作流是生成式 AI 引擎中非常核心的模块,它使得不同的任务可以根据用户输入和系统条件自动化地执行。工作流可以由多个节点组成,每个节点承担不同的任务。以下是各个节点的详细说明:

开始节点(Start)

工作流的起点,通常由外部触发或用户输入启动工作流。例如,当用户在前端提交请求时,工作流开始执行。

  • 典型应用

    • 用户输入查询内容,工作流开始。
    • 定时触发的自动任务工作流,如每日报告生成。

模型节点(Model)

在工作流中,模型节点负责调用生成式 AI 模型进行语言生成、文本理解等任务。通过模型节点,可以实现自然语言处理、问题回答、文本生成等功能。

  • 典型应用

    • 自然语言生成 :生成文章、回复用户问题。
    • 自然语言理解 :理解用户意图,并生成相应的操作指令。

插件节点(Plugins)

插件节点负责将外部插件集成进工作流,调用外部服务进行数据获取、任务执行等。插件可以是API调用、数据库查询、支付接口等。

  • 典型应用

    • 第三方服务调用 :如天气查询、股票数据获取等。
    • 数据集成 :从外部系统(如CRM、ERP)获取数据并用于工作流处理。

子工作流节点(Sub-workflows)

子工作流是工作流中的嵌套任务,它们是另一个工作流的调用。在复杂的工作流中,子工作流使得任务的结构更加清晰和模块化。

  • 典型应用

    • 分步执行 :当工作流的任务分成多个步骤时,可以使用子工作流来将这些步骤独立出来,使主工作流更简洁。
    • 复用 :将通用的子工作流模块多次调用,避免重复设计。

业务逻辑节点(Business Logic)

业务逻辑节点负责执行实际的计算、判断、循环等任务。它可以使用编程语言编写的自定义代码,或者基于流程设计的规则来执行任务。

  • 典型应用

    • 条件判断 :根据不同的输入数据执行不同的任务路径(例如,用户选择“支付”按钮后,执行支付流程;若选择“查看账单”,则执行查询账单的任务)。
    • 循环操作 :处理需要循环执行的任务,例如处理多条数据或多次查询。
    • 复杂算法 :例如推荐系统中的相似度计算,或者基于历史数据的分析等。

输入节点(Input)

输入节点用于收集用户输入的数据或外部数据。这些数据将作为后续工作流中其他节点的基础。

  • 典型应用

    • 用户在界面上输入数据(如文本、选择框、日期选择器等)。
    • 获取外部系统数据,如调用数据库获取客户信息。

输出节点(Output)

输出节点用于将工作流的最终结果返回给用户或其他系统。输出可以是文本、图像、文件等多种形式。

  • 典型应用

    • 文本输出 :展示生成的文本内容(如生成的报告、回复)。
    • 文件输出 :下载或发送电子邮件。
    • 图像输出 :生成并展示用户请求的图像或图表。

绘画节点(Drawing)

绘画节点用于生成图像、图表或其他可视化内容。在一些需要图像创作或数据可视化的应用中,这一节点至关重要。

  • 典型应用

    • 图像生成 :用户要求生成某个图像,如根据描述生成插画。
    • 图表绘制 :从数据中生成图表、仪表盘等可视化内容。

知识库节点(Knowledge Base)

知识库节点用于从数据库或预先存储的知识库中检索信息。它可以用于回答用户的查询,或作为工作流中的一个数据源。

  • 典型应用

    • 问答系统 :根据用户的问题从知识库中检索答案。
    • 信息查询 :如查询产品详情、库存情况、客户记录等。

图像处理节点(Image Processing)

图像处理节点用于处理、编辑和优化图像数据。对于一些生成式 AI 应用,图像处理是一个重要的功能,如图像修复、风格转换、图像生成等。

  • 典型应用

    • 图像生成 :根据文本描述生成图像(如 DALL·E)。
    • 图像编辑 :对图像进行裁剪、调整大小、加滤镜等操作。

触发器(Triggers)

触发器是根据用户输入或系统事件自动启动的操作。触发器使得生成式 AI 引擎具有反应性和自动化能力。

  • 常见触发器类型

    • 基于用户输入的触发器 :如用户发送特定命令或问题时,触发模型进行回答。
    • 基于时间的触发器 :定时任务,如每天自动生成报告。
    • 基于外部事件的触发器 :如库存变动、支付成功等。

应用示例 :用户输入“天气查询”,系统自动触发查询天气的任务,并返回结果。

前端集成 :前端开发者可以通过事件监听来实现触发器。当用户输入信息时,自动调用后台生成模型进行处理,并展示结果。

知识库(Knowledge Base)

知识库是一个存储和管理结构化与非结构化信息的系统,它为生成式 AI 提供了丰富的上下文背景。通过知识库,AI 引擎能够更准确地生成有针对性的回答。

  • 知识库构建 :通过收集公司文档、产品手册、常见问题解答等,构建一个易于检索的知识库。
  • 智能查询 :用户输入查询时,生成式 AI 会从知识库中检索相关信息,并生成回答。

应用示例 :通过集成公司内部知识库,生成式 AI 引擎能够解答员工关于产品规格、公司政策等的常见问题。

前端集成 :前端开发者可以设计搜索框或问答界面,用户通过输入查询,前端将请求发送给后端,后端从知识库中检索信息并返回。

记忆(Memory)

记忆功能允许生成式 AI 引擎记住用户的历史交互和偏好,以便在后续的交互中提供个性化的响应。

  • 动态记忆 :随着时间推移,生成式 AI 引擎会逐步更新和丰富用户的历史记录。
  • 个性化推荐 :根据用户历史输入,生成式 AI 可以调整其输出,以更好地符合用户的需求。

应用示例 :当用户多次询问同一问题时,生成式 AI 会记住用户的偏好,提供更加准确或定制化的答案。

前端集成 :前端开发者可以在用户登录后,加载与用户相关的历史数据,展示个性化内容。

用户输入(User Input)

用户输入是生成式 AI 引擎与用户交互的起点。通过前端界面收集用户输入,AI 引擎根据输入生成相应的响应。

前端实现 :前端开发者设计交互界面,允许用户输入信息(如文本框、语音输入等),并通过 API 将输入发送至后台的生成式 AI 引擎进行处理。

第三部分:生成式 AI 应用引擎业务流程

业务流程

  1. 用户输入 :用户在前端界面中输入指令、问题或请求。
  2. 触发器激活 :根据用户输入或其他条件,触发器自动激活相关的操作。
  3. 插件调用 :如果需要外部信息或服务,系统调用插件获取数据或执行任务。
  4. 工作流执行 :根据系统设计,执行一系列自动化任务,并产生反馈。
  5. 知识库查询 :若有查询需求,生成式 AI 引擎从知识库中提取信息。
  6. 生成回应 :生成式 AI 引擎根据上述输入和信息生成响应,并返回给用户。

结果调用与交互

  • 前端开发者负责设计用户交互界面,收集用户输入并展示 AI 生成的结果。
  • 后端负责与生成式 AI 引擎进行通信,处理输入、调用插件、执行工作流,并从知识库中提取信息。

专家级 】我们现在需要开发一个类似字节 coze 的企业内部 AI 开发平台,你能详细说说整体架构设计和核心点吗?

  • 深入理解 LLM (大规模语言模型)、 字节扣子Dify 等平台的核心业务。
  • 学习 前端流程引擎编辑器 的设计和实现,使用 @xyflow/react 创建图形化工作流编辑器。
  • 探索 工作流节点节点抽象执行沙箱 等技术细节,结合实际开发场景。

LLM、字节扣子和 Dify 核心业务解析

LLM(大规模语言模型)概述

  • 定义 :大规模语言模型是基于大数据训练的深度学习模型,能够理解和生成自然语言。
  • 应用 :文本生成、对话系统、自动摘要等。

字节扣子与 Dify 核心业务

  • 字节扣子 :字节跳动的生成式 AI 平台,支持 插件系统工作流引擎知识库集成任务调度
  • Dify :类似平台,专注于 Prompt 管理多模态数据处理 ,支持自动化工作流。

技术架构与工作流设计

模型接入

  • 接入方式 :统一接口(如 RESTful API、gRPC),高效地将不同的模型服务集成到平台中。
  • 技术实现 :微服务架构、负载均衡、容器化管理。

节点抽象与工作流设计

  • 节点设计 :工作流中的每个节点都代表一个操作,如调用模型、执行业务逻辑、插件调用等。
  • 动态执行 :根据输入的任务条件,选择并执行不同的节点。
  • 并发执行 :支持多任务并行执行,提升工作流效率。

执行沙箱(Execution Sandbox)

  • 功能 :保证任务在隔离环境中执行,避免影响主系统。

  • 技术实现

    • 容器化 :使用 Docker 创建独立的执行环境。
    • 资源限制与错误捕获 :确保每个任务在沙箱中执行并捕获异常,记录日志。

前端流程引擎编辑器实现

流程引擎编辑器的核心设计

流程引擎编辑器 是一个图形化工具,允许开发者通过拖拽、配置节点,快速设计和管理工作流。我们将使用 @xyflow/react 来构建这一编辑器。

  • @xyflow/react :一个用于构建流程引擎的 React 库,支持流程图的可视化设计和实时编辑。

  • 主要特点

    • 可视化工作流设计:支持图形化编辑工作流,节点间的连接、拖拽、删除等。
    • 事件驱动:允许开发者通过配置事件触发流程节点的执行。
    • 拓展性:支持自定义节点,开发者可以根据需求创建特定类型的节点。

工作流节点设计

@xyflow/react 中,节点是工作流的基本构件,设计一个节点涉及以下几个关键部分:

  • 节点类型

    • 模型节点 :调用外部模型服务进行处理。
    • 插件节点 :执行外部 API 或数据库查询。
    • 业务逻辑节点 :实现条件判断、循环或计算。
    • 子工作流节点 :嵌套调用其他工作流,便于模块化管理。
  • 节点属性

    • 每个节点需要定义输入输出端口,用于与其他节点进行连接。
    • 节点配置项,如模型名称、插件信息等,根据需求动态配置。
import { Node } from '@xyflow/react';
const ModelNode = () => {
  const onSubmit = (data) => {
    // 模型调用逻辑
    console.log("调用模型处理数据:", data);
  };

  return (
    <Node
      id="modelNode"
      label="模型调用节点"
      onSubmit={onSubmit}
    >
      <input
        type="text"
        placeholder="请输入数据"
        onChange={(e) => onSubmit(e.target.value)}
      />
    </Node>
  );
};
export default ModelNode;

此代码展示了一个基本的模型节点实现,其中 onSubmit 方法调用外部的生成模型来处理用户输入。

节点抽象与图形化设计

在图形化编辑器中,开发者可以拖拽节点到工作区,并通过连接线将节点连接起来,形成工作流。每个节点可以包含一个输入框、按钮或自定义的 UI 元素,用户通过与这些元素交互来配置节点属性。

import { FlowchartEditor } from '@xyflow/react';
const WorkflowEditor = () => {
  const handleSave = (workflow) => {
    // 保存工作流配置
    console.log("保存的工作流配置", workflow);
  };
  return (
    <FlowchartEditor
      nodes={[
        { id: 'start', label: '开始节点' },
        { id: 'end', label: '结束节点' },
        // 添加自定义节点
      ]}
      onSave={handleSave}
    />
  );
};
export default WorkflowEditor;

此代码创建了一个简单的工作流编辑器,支持保存工作流配置。

执行沙箱与节点执行

执行沙箱 是确保工作流节点在受控环境中执行的关键技术,尤其在调用外部模型和执行复杂任务时。结合 @xyflow/react执行沙箱 ,我们可以通过以下方式实现:

  • 节点执行沙箱 :每个节点在执行时,都可以在沙箱环境中运行,避免影响主系统的稳定性。
  • 容器化沙箱 :使用 Docker 容器对节点执行进行隔离。每个工作流节点可以被配置成在单独的 Docker 容器中运行,从而确保任务之间的隔离。
import { Node } from '@xyflow/react';
const ExecutionSandboxNode = () => {
  const onSubmit = (data) => {
    // 在沙箱中执行代码(例如通过 Docker 容器)
    console.log("任务执行中,数据:", data);
    // 假设执行容器代码,返回结果
    const result = executeInSandbox(data);
    console.log("沙箱执行结果:", result);
  };
  return (
    <Node
      id="sandboxNode"
      label="沙箱执行节点"
      onSubmit={onSubmit}
    >
      <input
        type="text"
        placeholder="输入数据执行"
        onChange={(e) => onSubmit(e.target.value)}
      />
    </Node>
  );
};
const executeInSandbox = (data) => {
  // 假设这里执行 Docker 容器代码
  return 
执行结果:${data}
;
};
export default ExecutionSandboxNode;

总结与实际项目应用

项目实践

  • 模型接入 :通过统一的 API 接口将 LLM 模型接入平台,支持多模型切换和动态调用。
  • 图形化工作流编辑器 :基于 @xyflow/react 创建可视化工作流设计器,用户可以通过拖拽操作配置工作流节点。
  • 执行沙箱 :确保每个工作流节点在独立的沙箱环境中执行,避免外部调用影响系统稳定性。

专家简历优化指南(目标 35K+ )

核心技能

  • 熟练掌握 HTML、CSS、JavaScript、Typescript 以及 OOP、FP、 AOP 等设计思想

  • 掌握样式体系构建与落地,对 css 预编译、css in js、module css 以及 utility-first CSS 有深入研究,并从零改良过样式体系以支持 SSR、SSG

  • 熟悉 React、Vue 相关技术栈,熟悉 React、Vue 及相关技术框架的实现原理

  • 掌握构建工具 Webpack、Vite 等,掌握编译工具 Babel,并深入理解其原理,并参与 Rspack 构建

  • 丰富的数据可视化经验,熟悉 Canvas、svg 开发范式,理解 Echarts、Antv 原理,能根据业务需求基于 d3、zrender 开发自定义渲染引擎

  • 丰富的跨端开发经验,熟练使用 Taro、Flutter、React-Native 开发跨端应用,对构建 hybird App 有丰富经验,深入理解跨端开发编译原理

  • 基于 Node.js 开发脚手架、打包构建优化工具及中间件服务

  • 掌握常用设计模式、算法与安全知识,追求开发高质量、高可维护性代码,追求极致产品体验

  • 团队管理经验,并在项目架构设计与性能优化方面具有丰富经验

  • 算法与编程技术

    • 精通各种算法题的分类及解决方法,包括排序与查找、数据结构、动态规划、贪心算法、回溯算法、分治算法、图论算法、数学算法等。
    • 重点掌握动态规划的基本概念、解题步骤和经典题目。
  • 3D 数字孪生平台开发经验

    • 熟练使用 WebGL 和 WebAssembly 技术,开发高效的 3D 渲染引擎。
    • 精通正射影像和倾斜摄影技术,具备 Tile 和模型(包括白膜和精模)的处理经验,能够使用 Blender 进行模型制作。
    • 熟悉材质、光效和粒子系统的实现与优化。
  • 全面性能优化能力

    • 具备打包构建优化经验,熟练使用 Webpack 进行模块打包,掌握 chunk、treeshaking、happypack、cache-loader 等优化技巧,并使用 Webpack Module Federation 进行模块联邦管理。
    • 精通资源优化,能够有效进行图片、字体压缩,管理请求队列,并通过 OSS 和 CDN 提升资源加载速度。
    • 具有应用性能优化经验,包括数据结构优化和应用模块更新。
    • 深入了解缓存机制,熟悉强缓存(Expiration、Cache-Control)、协商缓存(Etag)和策略缓存(Service-Worker)的配置与管理。

项目重难点

这个环节至关重要,很多同学不重视,简历随便写一写就开始投递了,结果投出去几百份可能一家公司面试都没有,结果就在怀疑前端行情出问题了

STAR 法则:

  • 遇到了什么问题 question,需求
  • 怎么评估解决方案,方案对比,方案落地 react 状态管理(redux、mobx、jotai、recoil)Vue3 -> Pinia
  • 具体方案落地
  • 结果反思,细节优化思考

反面案例:

技术栈:Java、Vue2、echarts、WEui、BaiduMap、JavaScript 、HTTP数据库:MySQL管理工具:SVN

责任描述:

1)产品前端研发负责人,主要负责整体样式沟通,样式调配实现;门户、管理平台、移动端、智端、可视化等前端内容实现;

2)实现组织管理、人员管理、党员关系转接、待办通知、绩效考核(复杂功能算法实现)、发展党员(25个流程)、可视化等主体功能,兼容性优化、适配1920*1080屏幕以及响应式布局实现;

3)相关功能开发,包含前后端、数据库;

4)门户框架搭建、门户整体设计、后端接口、门户前端 UI 实现等;

5)微信小程序框架搭建、小程序页面设计及开发、知识图谱技术预演;

6 )项目经理工作辅助,包含需求沟通、UI设计沟通、交付材料项目经历整理、前端代码质量管理、部分功能设计。

项目经历深度优化

工作内容和成果

  • 架构设计 】参与智慧管理平台整体架构设计、技术选型与方案评审,担任全栈开发,完成相关核心模块
  • 企微开发 】对接企业微信生态,基于企微 SDK 完成平台支付、消息推送、机器人等功能开发
  • 可视化 】主导完成平台可视化渲染引擎(可视化图表的组件,数据协议)设计与开发,基于 echarts (svgRenderer、canvasRenderer 一千万行数据的表格渲染【不能使用 虚拟滚动 】 canvas table,chunk)封装业务图表库,服务于平台可视化场景
  • 地图开发 】使用百度地图 SDK,封装业务地图渲染器(MapRenderer),包含:地图撒点、地区数据下钻等功能
  • 小程序与App 】基于 uniapp 实现智慧党建用户端多端开发落地,产物编译为 H5、微信小程序两端应用
  • 团队基建 】推进团队业务组件库、图表库与基础库沉淀,完成 10+ 个业务组件沉淀,以此提升了团队协同开发效率
  • 优化 】设计产品响应式系统,基于 media query 设计响应式端点规则,适配不同端应用的展示
  • 自研 OA 打通 】...

以 STAR 法则梳理

【技术栈】

  • Java、Vue2、ECharts、WEui、BaiduMap、JavaScript、HTTP
  • 数据库 :MySQL
  • 管理工具 :SVN

【产品前端研发负责人】

  • 情境 (Situation) :担任产品前端研发负责人,负责门户、管理平台、移动端、智端、可视化等前端内容的实现。
  • 任务 (Task) :主要任务是与设计团队沟通,调配和实现整体样式,确保产品界面的一致性和用户体验。
  • 行动 (Action) :我协调设计与开发团队,定期召开样式沟通会,亲自进行样式的调配与实现,并负责不同平台和设备的前端内容开发。
  • 结果 (Result) :成功实现了多个平台的前端开发工作,提升了产品的用户体验和一致性,获得了团队和用户的高度评价。

【实现复杂功能及优化】

  • 情境 (Situation) :项目需要实现复杂功能算法和大规模功能模块,包括组织管理、人员管理、党员关系转接、待办通知、绩效考核、发展党员(25个流程)和可视化功能。
  • 任务 (Task) :负责上述复杂功能的实现,并优化其兼容性和响应式布局。
  • 行动 (Action) :通过设计和实现复杂算法,确保各模块的功能性;进行兼容性优化,使系统适配1920*1080屏幕和响应式布局。
  • 结果 (Result) :成功实现并优化了所有复杂功能,系统在不同设备和分辨率下均表现良好,提高了用户操作的流畅度和满意度。

【全面功能开发】

  • 情境 (Situation) :需要进行前后端和数据库的全面开发,确保系统各功能模块的无缝集成。
  • 任务 (Task) :开发和实现相关功能,包括前端UI、后端接口和数据库交互。
  • 行动 (Action) :采用Java、Vue2等技术,开发并调试各功能模块,与后端团队密切合作,确保接口的准确性和数据的一致性。
  • 结果 (Result) :成功完成了所有功能模块的开发和集成,系统运行稳定,性能优异,受到了客户的好评。

【微信小程序开发与知识图谱预演】

  • 情境 (Situation) :项目需要开发微信小程序,并进行知识图谱技术的预演。
  • 任务 (Task) :负责小程序框架的搭建、页面设计及开发,同时进行知识图谱的技术预演。
  • 行动 (Action) :使用WEui、JavaScript等技术,设计并开发小程序页面,进行知识图谱的技术预演和验证。
  • 结果 (Result) :成功搭建了微信小程序框架,完成了页面设计和开发工作,知识图谱技术预演顺利,通过了技术验证。

【项目经理工作辅助】

  • 情境 (Situation) :在项目中辅助项目经理,确保项目需求沟通顺畅,UI设计协调到位,交付材料齐全,前端代码质量高。
  • 任务 (Task) :辅助项目经理进行需求沟通、UI设计沟通、交付材料整理、前端代码质量管理以及部分功能设计。
  • 行动 (Action) :积极参与需求和UI设计的沟通,整理和管理项目交付材料,进行代码审查和质量管理,并参与功能设计。
  • 结果 (Result) :成功辅助项目经理完成了项目的各项工作,提高了项目的开发效率和交付质量,确保了项目的顺利进行。

高级项目实战提升简历看点

你可能不具备这些项目的实战经验,很多同学写了很多年管理系统,简单增删改查项目,如果不跳出这个圈子,很难在薪资上有非常大的突破!

  • 大厂 UI 组件库(Vue3)整体设计与开发实践(monorepo 架构)

  • 大厂业务 Hooks 库(React 18)整体设计与开发实践(从零到一的架构、规范流程)

  • 企业级脚手架工具开发实践

  • 企业级文档编辑器飞书文档开发实践

  • 前端性能、异常与行为监控

  • 3D 可视化数字孪生低代码实战 💥

    • 基于 cesium(arcGis、超图) 方案的 WebGIS 开发实践
    • 基于 openlayer、mapbox 开发
    • 基于 WebGL 3D 可视化开发实践

冲刺年包 50W+ 薪资长线规划

冲刺核心要素

  1. 全面的技术储备

    1. 框架基础

      • Vue 和 React 经验:包括 Vue3 + Typescript 和 React18(Hooks、Concurrent)
      • 掌握框架原理:React 生态库(React-Router、Redux)和 Vue 生态库原理
    2. 工程化能力

      • 构建工具:Webpack、Vite、Rspack、ESBuild、swc
      • CI/CD 自动化:自动化构建和自动化部署
    3. 基建能力

      • Node.js、命令行工具开发(Cli)
      • UI 库、图表库、工具库开发
    4. 业务领域经验

      • 管理系统和图表类应用
      • 可视化、编辑器、云表格、低代码平台、SaaS 产品、数字孪生、三维可视化
  2. 项目经验

    • 参与过至少两个大型项目,并主导过一个复杂项目
    1. 管理系统:包括项目搭建、技术方案选择、技术栈构建、CI/CD 流程
    2. 其他领域项目:如可视化、编辑器、云表格、低代码平台、SaaS 产品、数字孪生、三维可视化
  3. 面试表现

    1. 个人介绍

      • 准备个人介绍草稿,涵盖基本信息、技术栈和项目重难点
    2. STAR 法则

      • 问题描述:阐述遇到的问题或需求
      • 解决方案评估:方案对比与选择(如 React 状态管理:redux、mobx、jotai、recoil,Vue3 使用 Pinia)
      • 方案实施:具体的实施步骤
      • 反思与优化:项目反思及优化建议
    3. 面试准备

      • 重点复习知识点:如 v8 内存管理、Promise A+ 规范、事件循环、this、面向对象编程原型
      • 技术储备:结合项目经验展示技术在项目中的应用
  4. 学历提升

    1. 现有学历:大专
    2. 未来计划:尽快取得本科证书(不需要注明具体年限)
    3. 学历背景:民办学校
    4. 内推建议:应对学历和工作经历问题,通过内推提升机会

自身短板与补益

  • 项目简单,管理后台一做就是大半年,天天 CRUD

    • 看开源项目(react-hook-form ts 类型、hook 处理、状态管理、架构 Provider,keyPath)
    • 找一些不错的项目练手
    • 拿好的项目,学习完放在简历里, 可视化、编辑器、云表格、低代码、SaaS 产品、数字孪生、三维可视化
    • 1.自研:15K, 2.外包:20K ,这个火坑, 灰(供需决定)
  • 技术栈掌握不深不广,只会用 Vue2 (Vue3 + Typescript),React18(React stack reconciler)

  • 架构、方案设计没碰过

    • React,create-react-app、umi,没有真正从零到一去设计初始化过一个项目
    • Vue,Vue CLI,Vite/Webpack。Vue2 CLI 创出来项目 1. webpack、2.vite
  • 没有专精的技能或业务

    • 自驱 (假定自己是 Leader),项目的赢利点、商业价值【 可视化、编辑器、白板、团队基建、AI产品
    • 与生俱来有些东西,好奇心、自驱力、清晰规划
    • 我:管理平台,HPE(官网、后台管理),云表格(维格表、飞书云表格)、云编辑器(CKEditor 老【html string】)(语雀、【石墨文档】)

妙码学院——全程陪跑、督学、真·企业级全栈项目、内推

⚠️ 暂不支持的文档区域,【文档小组件】

  • 跨端开发 Taro(Taro 编译器 compiler、运行时 runtime)、uniapp
  • 协同编辑器(文档类、画板类)
  • 团队基建工程(UI 库、图表库、Cli -> 产生产物 npm 包)
  • 3D 可视化数字孪生 bigdata
  • 低代码平台

课程体系 2.0 升级,除了基础知识夯实,融入了更多项目实战内容,包含:

  • 企业级脚手架工具开发实践

  • 企业级文档编辑器飞书文档开发实践

  • 大厂 UI 组件库(Vue3)整体设计与开发实践

  • 大厂业务 Hooks 库(React 18)整体设计与开发实践

  • 埋点与数据监控平台实战

  • 3D 可视化数字孪生实战 💥

    • 基于 cesium 方案的 WebGIS 开发实践
    • 基于 WebGL 3D 可视化开发实践

妙码学院全网独家项目实战矩阵

所有项目实战,均完全 从零到一手写纯原创 ,项目架构与编码规范真一线大厂级。

  • 微前端在分拆原子应用场景下的落地与实践

  • 类飞书文档协同编辑器从零到一架构实现

  • 推动团队基建落地

    • React UI 库
    • Vue Composition API 库
    • 企业级脚手架
  • 数字孪生平台整体架构设计

  • 企业级无代码可视化平台实践(Vue3)

  • 低代码平台设计与实现

    • 编排引擎
    • 流程引擎
    • 编辑器
    • 代码执行器与 JavaScript 沙箱
  • 用户行为分析 SDK 及监控可视化平台架构设计与实现

  • 可视化渲染引擎设计与实现

  • 基于 RAG / Agent 前端 AI 应用流程编排平台

前端阶段性能力与冲刺目标

以下是对您提供的内容进行权威和专业化改写的建议:

1~3 年

在此阶段,重点在于评估个人的基础知识和热情。对前端基础、计算机原理、网络通信和算法等领域的要求较高。由于在此阶段难以评估业务深度,因此更多关注基础知识的掌握程度。

  • 关键在于通过学术教育或网络资源加强基础知识;
  • 在简历中以多种方式展示对前端的热情,展现个人潜力;
  • 积极探索前沿技术,关注国内外技术动态;
  • 尝试开发小型项目或参与社区开源项目;
  • 建立技术博客,以输出促进知识吸收。

3~5 年

此阶段通常是向成为独立工程师发展的关键时期,避免重复使用有限的经验。

  • 关注社区中关于进阶的资料和路线,强化基础知识;

  • 深入掌握常用框架的高级用法,探索其原理;

  • 在业务开发中不仅完成功能,还需考虑项目结构设计、封装基础工具、设计和开发基础组件;

  • 思考提高团队效率的方法,例如:

    • 集成代码检验和风格统一插件(如 eslint、stylelint、prettier、spellcheck);
    • 从工程化角度提高本地开发效率,优化webpack构建,探索esbuild、vite等工具;
    • 对于多项目开发,整理差异和统一部分,建立内部脚手架以减少重复工作;
    • 尝试搭建CI/CD平台,维护公司内部的通用npm包;
    • 培养软技能,如沟通协作,协调各角色共同推进目标。

5年+

进入此阶段,可能朝技术专家或管理方向发展。期望您能够独立负责高复杂度项目,突破关键技术难题。

  • 负责技术调研,关注行业趋势,选择最优技术方案,具备决策能力;
  • 拥有丰富的技术经验和技术储备,能够解决遇到的困难,并有自己的方法论;
  • 协助或主导业务目标制定,合理推动项目达成预期效果;
  • 是否具有团队领导经验,能够协调跨团队项目,处理团队成员情绪问题,解决技能分布不平衡等问题;
  • 打造技术氛围,促进团队共同成长。

【未知组件reminder】