Entire Dashboard:可视化AI编程协作过程,解决Git上下文丢失难题

news2026/5/10 17:20:46
1. 项目概述如果你和我一样最近几年在开发工作中深度依赖了像 Cursor、Claude Code 这类 AI 编程助手那你肯定也遇到过类似的困惑Git 提交记录里只有冷冰冰的代码变更但那些真正驱动我写出这段代码的 AI 对话、思考过程、被否决的方案却像沙滩上的脚印一样随着提交完成就消失了。几个月后回看我常常想不起来当时为什么要把这个if条件改成那样或者那个复杂的正则表达式背后到底解决了什么具体问题。这种“上下文丢失”在团队协作和代码审查时尤其麻烦你只能看到“是什么”却完全不知道“为什么”。最近我在 GitHub 上发现了一个名为Entire Dashboard的开源项目它精准地戳中了我的这个痛点。简单来说这是一个自托管的、专门用于分析和可视化 AI 辅助开发活动的数据看板。它的核心价值在于能把entireio/cli命令行工具在你本地捕获的、所有与 AI 交互的“元数据”——包括你向 AI 提的每一个问题、AI 给出的每一次回答、它调用了哪些工具、修改了哪些文件甚至消耗了多少 Token——全部收集起来并通过一个直观的 Web 界面呈现给你和你的团队。想象一下你不再需要翻找聊天记录或者凭记忆去复盘一次代码重构而是能像查看 Git 历史一样清晰地回溯每一次提交背后完整的 AI 会话链路。这对于评估 AI 工具的实际效能、优化提示词技巧、甚至是进行高质量的代码审查都提供了前所未有的数据支撑。接下来我就结合自己的部署和使用体验带你深入拆解这个项目看看它如何工作又能为我们带来哪些实实在在的便利。2. 核心设计思路与架构解析2.1 解决什么问题从 Git 的“断层”说起要理解 Entire Dashboard 的价值我们得先看看传统开发流程的“信息断层”。Git 是一个伟大的版本控制系统但它记录的是结果代码的最终状态差异而非过程产生这个结果的决策路径。当 AI 深度介入后这个过程变得尤为复杂。一次代码变更可能源于你与 AI 的多轮对话、AI 的多次试错、以及你对 AI 建议的多次修正。这些富含价值的上下文信息目前大多散落在 IDE 的聊天窗口或你的短期记忆中。Entire Dashboard 背后的Entire 平台其设计初衷就是填补这个断层。它通过一个本地运行的 CLI 工具在你使用 AI 编程助手如 Cursor、Claude Code时以“检查点”Checkpoints的形式持续记录会话数据。这些数据被关联到最终的 Git 提交上从而在代码变更和生成它的思考过程之间建立了一条可追溯的链路。2.2 核心概念Checkpoint 与数据模型整个系统的数据基石是Checkpoint。你可以把它理解为一个超级增强版的、带上下文的 Git Commit。一个典型的 Checkpoint 可能包含以下元数据会话上下文触发此次 AI 交互的原始问题或指令Prompt。AI 响应模型生成的代码、解释或建议。工具调用记录AI 在执行任务时调用了哪些内部或外部工具例如读取文件、执行命令。文件编辑历史在会话过程中哪些文件被创建、读取、修改。资源消耗本次交互消耗的 Token 数量区分输入和输出。代理状态如果使用了 Agent 模式还会记录代理的思考链Chain-of-Thought。所有这些数据都以结构化的方式通常是 JSON存储在你本地仓库的一个特定目录中例如.entire/目录下。entireio/cli负责在后台默默捕获这些信息而 Entire Dashboard 的任务就是将这些分散的、原始的 JSON 文件聚合、处理并可视化。2.3 系统架构与工作流项目的架构图清晰地展示了一个从数据采集到可视化分析的全流程开发者本地环境 (IDE AI Agent) ↓ [entireio/cli] 实时捕获会话事件生成 Checkpoint 数据 ↓ 数据存储于本地仓库的 .entire/ 目录 ↓ Entire Dashboard 后端服务 (Core Service) 拉取并处理数据 ↓ 处理后的结构化数据存入关系型数据库 (MySQL) ↓ Entire Dashboard 前端界面 (Web Dashboard) 查询并渲染可视化图表这个流程有几个关键设计点值得注意本地优先与隐私所有原始数据首先存储在开发者本地这符合数据隐私和安全的最佳实践。只有当你主动将仓库添加到 Dashboard 并执行同步操作后数据才会被发送到自托管的 Dashboard 服务器。异步处理后端服务承担了繁重的数据解析、关联和聚合工作。它需要将 Checkpoint 与 Git 提交哈希正确关联并计算各种衍生指标如每日 AI 贡献占比、Token 消耗趋势等。多仓库聚合Dashboard 的核心优势之一是能跨多个仓库进行分析。这对于团队负责人或技术管理者来说非常有用可以从一个统一的视角观察 AI 在整个组织或项目群中的使用情况。注意Entire Dashboard 本身是一个分析和展示工具它不负责数据的初始捕获。你必须先在开发机器上安装并配置好entireio/cli并在你的 IDE 中启用对应的 AI Agent 插件如 Cursor 的内置 Agent数据流才会开始。3. 从零开始部署与配置实战纸上谈兵终觉浅绝知此事要躬行。下面我就带你走一遍从环境准备到数据可视化的完整操作流程。我的部署环境是一台 Ubuntu 22.04 的云服务器但 Docker 方案使得它在 macOS 或 Windows 上同样简单。3.1 前置条件安装并配置 Entire CLIDashboard 是“无米之炊”数据源必须先行。首先在你的开发电脑比如你的笔记本电脑上安装 Entire CLI。# 使用官方安装脚本通常是最可靠的方式 curl -fsSL https://entire.io/install.sh | bash安装完成后你需要初始化 CLI 并将其与你的代码仓库关联。# 进入你的项目目录 cd /path/to/your/project # 初始化 Entire 配置 entire init执行entire init后它通常会在项目根目录下创建一个.entire/config.yaml配置文件并可能提示你进行一些初始设置比如选择数据存储格式、设置忽略规则等。接下来是最关键的一步确保你的 AI 编程助手正在被entire监控。以 Cursor 为例你需要在其设置中启用“Compatibility Mode”或确保其使用支持entire协议的 AI Agent。entireio/cli会以后台服务形式运行监听特定端口或文件系统事件来捕获 IDE 与 AI 模型之间的通信。实操心得在初次配置时我建议在一个测试仓库里先跑通整个流程。创建一个简单的test.py文件然后用 Cursor 的 AI 功能去修改它同时观察.entire/目录下是否生成了新的.json或.checkpoint文件。这是验证数据捕获是否生效的最直接方法。3.2 使用 Docker Compose 一键部署 Dashboard这是最推荐的方式能避免复杂的本地 Java、Node.js 和 MySQL 环境配置。假设你的服务器已经安装了 Docker 和 Docker Compose。# 1. 克隆 Entire Dashboard 仓库 git clone https://github.com/sunmh207/entire-dashboard.git cd entire-dashboard # 2. 启动所有服务前端、后端、数据库 docker compose up -d执行docker compose up -d后Docker 会完成以下几件事拉取或构建前端Node.js和后端Java Spring Boot的镜像。启动一个 MySQL 容器作为数据库。根据项目中的docker-compose.yml配置设置容器间的网络连接、数据卷挂载和环境变量。等待一两分钟所有容器应该都处于运行状态。你可以用docker compose ps命令检查。3.3 初始访问与系统配置在浏览器中访问http://你的服务器IP:81。你会看到登录界面。使用默认凭证登录用户名:admin密码:admin安全警告登录后第一件事就是立即去用户设置里修改这个默认密码在生产环境中使用默认密码是极其危险的行为。首次进入主界面可能空空如也。这是因为我们还没有添加任何数据源仓库。整个配置流程的核心链路如下添加仓库在侧边栏找到 “Repositories” 页面点击 “Add Repository”。填写仓库信息你需要提供仓库的克隆 URL支持 HTTPS 或 SSH、分支以及认证信息如 Personal Access Token。Dashboard 支持 GitHub、GitLab 和 Gitee。触发数据同步添加成功后在仓库列表中找到它点击 “Sync” 按钮。这时Dashboard 后端会做两件事克隆/拉取代码将你指定的仓库克隆到服务器的一个临时目录。扫描并提取.entire数据遍历仓库历史寻找.entire/目录下的所有 Checkpoint 文件解析它们并将结构化数据存入 MySQL 数据库。查看数据同步完成后你就可以在 “Overview”、“Checkpoints”、“Sessions” 等页面看到可视化图表和详细列表了。踩坑记录我第一次同步一个较大的仓库时遇到了超时错误。原因是默认的同步进程可能有时间或内存限制。解决方案是检查后端服务的日志docker compose logs backend并根据错误提示调整 Docker Compose 文件中后端容器的环境变量例如增加JAVA_OPTS: “-Xmx2g”来分配更多内存。4. 核心功能深度体验与使用技巧部署完成只是开始真正发挥价值在于如何使用。Entire Dashboard 的界面设计清晰主要功能模块围绕数据分析展开。4.1 全局概览与团队级洞察“Overview” 页面是仪表盘的核心它提供了跨所有已同步仓库的聚合视图。这里有几个关键指标板AI 贡献度趋势图以折线图展示选定时间段内AI 参与生成的代码行数或提交数占总量的百分比。这是我个人最看重的图表它能直观反映团队对 AI 工具的依赖程度变化。例如在引入一个新的 AI 编码规范后可以观察此比例是否有健康上升。Token 消耗分析按仓库或按日聚合展示输入 Token 和输出 Token 的消耗量。这对于成本管控非常重要特别是如果你使用的是按 Token 付费的 API 模型。你可以快速识别出哪个仓库或哪个开发者的 AI 使用“成本”最高进而分析其使用模式是否高效。高频提示词Prompt统计系统会自动聚类和分析常用的 Prompt 开头。你会发现像“如何优化这个函数”、“为这段代码添加注释”、“修复某个错误”这类通用提示词频繁出现。这个功能能启发团队沉淀出更高效、更精准的提示词模板。使用技巧利用日期筛选器进行对比分析。比如对比上线某个内部 AI 提示词库前后两周的数据看平均每次会话解决的 Issue 数量是否有提升或单次任务的 Token 效率是否优化。4.2 会话与检查点详情追溯“Sessions” 和 “Checkpoints” 页面提供了钻取到单次交互的能力。会话列表展示每一次独立的 AI 对话过程。列表会显示会话的起止时间、关联的最终 Git 提交哈希、涉及的代码文件以及消耗的 Token 总数。点击任意会话可以进入详情页。检查点详情页这是整个系统的“高光时刻”。页面被清晰地分为几个面板对话记录完整再现你和 AI 的每一轮问答就像重放聊天历史一样。这对于代码审查场景是无价之宝审查者可以直接看到某段复杂逻辑是如何被一步步讨论和构建出来的。代码变更差分对比直观地展示在此次会话中AI 具体对哪些文件做了哪些修改增、删、改并与修改前的版本进行对比。元数据面板列出本次会话的所有工具调用、文件访问记录以及精确的 Token 消耗细分。实操心得在团队 Code Review 时我现在的习惯是不仅看 Git Diff还会要求开发者附上关键变更所对应的 Entire Checkpoint 链接。审查者能立刻理解“为什么这个边界条件要这么处理”或者“那个复杂的算法选择是基于 AI 提供的哪几个方案的比较”极大提升了审查效率和代码质量。4.3 仓库与开发者维度分析“Repositories” 页面不仅用于管理也提供了分析功能。你可以比较不同仓库之间的 AI 活跃度。开发者活动统计Dashboard 能够将 Checkpoint 数据与 Git 作者信息进行关联通常通过邮箱匹配。这样你就能在“Contributors”视图下看到每个团队成员使用 AI 的频率、产出和消耗情况。这并非用于监控员工而是用于识别最佳实践——那些能高效利用 AI 产出高质量代码的开发者他们的工作模式值得被总结和分享。提交关联度分析系统会分析有多少比例的 Git 提交关联了 AI 会话。一个健康的、深度集成 AI 的工作流这个比例应该会稳步提高。5. 常见问题排查与性能调优指南在实际使用中你可能会遇到一些问题。下面是我遇到并解决过的一些典型情况。5.1 数据同步失败这是最常见的问题原因多样。问题现象可能原因排查步骤与解决方案同步一直处于“Pending”或“Running”状态最终超时。1. 仓库过大克隆耗时太长。2. 服务器网络到代码托管平台如 GitHub连接不稳定。3. 后端服务处理大量历史 Checkpoint 数据时内存不足。1. 查看后端容器日志docker compose logs backend --tail100。2. 如果是网络问题尝试在服务器上直接git clone测试。3. 如果是内存问题在docker-compose.yml中为backend服务增加环境变量JAVA_OPTS: “-Xmx4g -Xms2g”。同步完成但 Overview 页面没有数据。1. 该仓库的.entire目录下确实没有数据。2. CLI 未正确配置或未在开发中启用。3. Dashboard 在解析 Checkpoint 文件格式时出错。1. 确认开发端本地仓库的.entire/目录下存在.json文件。2. 检查entireio/cli是否在运行 (entire status)。3. 查看后端日志中是否有 JSON 解析错误可能是 Checkpoint 版本与 Dashboard 不兼容。添加仓库时认证失败。提供的 Personal Access Token (PAT) 权限不足或已过期。1. 确保 PAT 具有读取仓库内容的权限对于 GitHub至少需要repo权限。2. 如果使用 SSH URL确保服务器上部署了有效的 SSH 私钥。5.2 仪表盘访问缓慢或图表加载卡顿当同步了大量仓库和历史数据后前端图表渲染或数据查询可能会变慢。前端优化确保服务器资源充足。如果前端容器通常是 Nginx 服务静态文件响应慢可以检查服务器 CPU 和内存使用情况。对于数据量大的情况图表库渲染大量数据点也可能成为瓶颈可以尝试在 Dashboard 设置中减少默认查询的时间范围例如从“最近一年”改为“最近一个月”。后端数据库优化性能瓶颈更常出现在数据库查询。由于 Checkpoint 和会话数据会不断增长需要对 MySQL 数据库进行基本优化索引检查关键查询表如checkpoints,sessions,events的主键、外键以及常用于筛选的字段如repository_id,created_at,author_email必须建立索引。你可以通过连接 MySQL 容器执行EXPLAIN语句来分析慢查询。数据归档考虑只同步最近一年或两年的活跃数据。对于历史更久远的数据可以在entireio/cli端进行配置限制其记录范围或者定期清理服务器上已同步的旧仓库数据。5.3 数据安全与隐私考量这是一个自托管项目数据安全的责任在于部署者。网络暴露确保 Dashboard 的访问端口默认 81不要直接暴露在公网。务必通过 VPN、内网访问或者至少配置 Nginx 反向代理并设置强密码认证和 HTTPS 加密。数据库安全修改 Docker Compose 文件中 MySQL 的默认 root 密码。定期备份数据库。代码仓库令牌管理用于同步仓库的 PAT 或 SSH 密钥应仅具有最小必要权限只读并定期轮换。用户权限目前开源版本似乎只有基础的用户/密码登录。对于小型团队足够但对于稍大的组织你可能需要自行集成 OAuth2 或 LDAP或者通过前置的代理网关如 Authelia来增加一层统一认证。6. 进阶应用场景与未来展望经过一段时间的深入使用我发现 Entire Dashboard 的价值远不止于个人回顾。它正在成为我们团队工程实践中的一个基础设施组件。场景一AI 编码规范与提示词工程优化。我们定期从 Dashboard 中导出高频 Prompt 和对应的代码产出质量结合后续的 Bug 率、Review 评论来集体评审和迭代我们的内部提示词库。数据告诉我们哪些提问方式更容易得到稳健的代码哪些则容易引入模糊或错误。场景二新人 onboarding 与培训。让新同事查看资深同事在解决典型业务问题时的 AI 会话记录是一种极其高效的学习方式。他们能学到的不只是代码更是分解问题、与 AI 协作的思维方式。场景三量化评估与 ROI 分析。在向管理层汇报 AI 编程工具的投资回报时空洞的“提升效率”远不如 Dashboard 提供的具体数据有说服力AI 参与了公司多少比例的代码提交在哪些模块或任务类型上参与度最高预计节省了多少基础编码时间从项目本身来看sunmh207/entire-dashboard作为一个开源项目其路线图也值得关注。我期待未来能看到更强大的数据导出和 API 功能方便与企业内部的 BI 系统集成更细粒度的权限管理以适应不同规模的团队以及对更多 AI 编程助手如 GitHub Copilot、Codeium的深度支持。最后一点个人体会工具的价值在于被使用。Entire Dashboard 最大的意义是它让 AI 辅助开发这个有时显得“黑盒”的过程变得可观测、可分析、可优化。它不仅仅是一个看板更是一种倡导“数据驱动的开发者体验”的理念。如果你和你的团队已经开始规模使用 AI 编程那么花点时间部署和尝试这个工具很可能会为你带来意想不到的洞察和效率提升。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2601134.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…