从AwesomeCursorPrompt看提示工程:构建高效AI编程协作工作流

news2026/5/16 7:03:12
1. 项目概述从“AwesomeCursorPrompt”看提示工程的演进最近在GitHub上看到一个挺有意思的项目叫“AwesomeCursorPrompt”。光看名字可能很多朋友会有点懵——“Cursor”是那个AI代码编辑器“Prompt”是提示词那这个项目到底是干嘛的简单来说这是一个专门为Cursor编辑器收集、整理和分享高质量AI提示词Prompt的仓库。但如果你觉得它只是个简单的“提示词合集”那就太小看它了。在我看来这个项目更像是一个风向标它精准地捕捉到了当前AI辅助编程领域一个正在发生的深刻变化提示工程Prompt Engineering正在从一种“玄学”或“技巧”演变为一种可系统化学习、可复用、可优化的工程实践。我自己作为一线开发者从ChatGPT刚出来就一直在用各种AI工具辅助编码。早期阶段大家更多是凭感觉去“问”AI效果时好时坏非常依赖运气和个人经验。后来像Cursor、GitHub Copilot这样的工具出现将AI深度集成到了开发环境中交互方式从“问答”变成了“协作”。这时一个精准、高效的提示词Prompt就变得至关重要。它直接决定了AI是能理解你的意图帮你写出优雅的代码还是给你一堆似是而非、需要大量修改的垃圾。“AwesomeCursorPrompt”这个项目正是为了解决这个痛点而生的。它面向所有使用Cursor以及类似AI编程工具的开发者无论你是想快速生成一个函数、重构一段代码、编写单元测试还是想学习如何用自然语言描述复杂的技术需求都能在这里找到经过验证的、高质量的提示词模板。这个项目的价值在于它降低了提示工程的门槛让开发者不必从零开始摸索可以直接站在“巨人”的肩膀上快速提升与AI协作的效率和代码质量。2. 核心思路拆解如何构建一个高效的提示词库一个成功的提示词库绝不是简单的复制粘贴和堆砌。从“AwesomeCursorPrompt”的项目结构和内容设计上我们可以反推出其背后清晰的构建思路。这不仅仅是整理资料更是一种对“如何有效使用AI编程工具”的方法论提炼。2.1 分类体系场景化而非功能化打开这个项目的README或目录你会发现它的分类非常“接地气”。它很可能不是按照“字符串操作”、“算法”、“数据库”这样的纯技术维度来划分而是按照开发者在日常工作中实际遇到的场景来组织。2.1.1 为什么场景化分类更有效因为开发者在使用AI时大脑里想的不是“我要一个排序算法”而是“我有一组用户数据需要按最后登录时间倒序排列并且要处理空值”。前者是功能后者是场景。场景化的提示词包含了上下文、约束条件和预期目标AI更容易理解并给出符合上下文的代码。例如可能会有的分类包括代码生成Code Generation从注释生成代码、根据函数签名补全实现、根据数据库Schema生成CRUD操作等。代码重构与优化Refactoring Optimization将冗长函数拆解、将回调改为Promise/async-await、优化循环性能、添加错误处理等。测试编写Test Writing为现有函数生成单元测试包括边界条件、生成集成测试用例、生成Mock数据等。代码解释与文档Code Explanation Documentation解释一段复杂代码的逻辑、为函数或类生成文档注释、生成变更日志CHANGELOG等。调试与问题排查Debugging Troubleshooting分析错误堆栈信息、解释某个API的常见坑点、检查代码中的潜在安全漏洞等。工具与配置Tooling Configuration生成Dockerfile、编写CI/CD流水线脚本如GitHub Actions、配置ESLint规则、编写Webpack配置等。这种分类方式让开发者能快速定位到自己当前工作流中的具体环节找到最相关的提示词实现“即插即用”。2.1.2 实操心得构建你自己的场景清单我建议每个团队或个人都可以基于这个思路开始积累自己的场景化提示词库。不要追求大而全先从你最常做的、最耗时的任务开始。比如如果你经常需要写数据库迁移脚本那就专门建立一个“数据库迁移”分类里面收集针对不同数据库MySQL, PostgreSQL和不同操作新增字段、修改索引、数据回填的提示词模板。2.2 提示词结构遵循“角色-任务-约束-输出”范式高质量的提示词通常有固定的结构这能极大地提高AI响应的准确性和一致性。“AwesomeCursorPrompt”里收集的优质提示词大多暗含或明示了这种结构。一个经典的提示词结构可以拆解为四个部分角色Role明确告诉AI它应该扮演什么角色。例如“你是一个经验丰富的Python后端开发专家尤其擅长使用FastAPI框架。”任务Task清晰、无歧义地描述你要它做什么。这是核心。例如“请为下面的用户模型编写一个Pydantic Schema并包含数据验证。”约束与上下文Constraints Context提供所有必要的限制条件和背景信息。这是决定输出质量的关键。例如“使用Python 3.10的语法。密码字段需要哈希存储不应在响应中返回。created_at和updated_at字段由数据库自动管理。”输出格式Output Format指定你期望的回答格式。例如“请只输出代码不要有任何解释。将代码包裹在python代码块中。”2.2.1 示例拆解一个差的提示词“写个函数计算平均数。” 一个遵循范式的好提示词角色你是一个注重代码健壮性和可读性的JavaScript开发者。 任务编写一个函数计算一个数字数组的平均值。 约束函数名为calculateAverage。需要处理空数组输入此时应返回null。需要考虑数组中可能包含非数字元素应将其过滤掉。请使用ES6语法。 输出请提供完整的函数实现代码并附上两个使用示例。后者能引导AI生成更安全、更符合生产标准的代码。在构建提示词库时为每个模板标注清楚其适用的“角色”和典型的“约束”条件能极大提升复用价值。2.3 质量评估与迭代不仅仅是收集更是优化一个静态的提示词库很快就会过时。AI模型在更新最佳实践也在演进。“AwesomeCursorPrompt”这类项目要保持活力必须有一套质量评估和迭代机制。2.3.1 如何评估一个提示词的好坏可以从以下几个维度考量准确性生成的代码是否能正确无误地完成任务逻辑是否有缺陷可靠性在不同上下文或输入下是否都能稳定输出符合要求的代码是否处理了边界情况效率生成的代码在时间/空间复杂度上是否合理是否引入了不必要的依赖或冗余操作可读性与风格代码是否符合常见的编码规范如PEP 8 for Python变量命名是否清晰安全性是否避免了常见的漏洞模式如SQL注入、XSS对于用户输入是否有适当的校验在项目中可以通过社区贡献者的使用反馈GitHub Issues, Discussions、Star数量、Fork后修改的情况来间接评估一个提示词的热度和有效性。更直接的方式是维护者可以定期用一批标准测试用例去跑这些提示词检查AI生成结果的质量。2.3.2 迭代流程一个好的提示词库应该是活的。其迭代流程可能包括收集从社区贡献、个人实践、其他优质资源中收集初始提示词。标准化按照前述的结构范式进行重写和格式化确保清晰一致。测试在主流AI模型如GPT-4, Claude 3上实际运行检查输出。优化根据测试结果调整提示词的措辞、增加或减少约束条件、明确输出格式。分类与归档将优化后的提示词放入合适的场景分类中并可能添加标签如“初级”、“高级”、“特定于React”等。社区验证开放给社区使用收集反馈进入下一轮迭代。3. 核心应用场景与实战技巧了解了构建思路我们来看看这些提示词具体能在哪些地方帮我们大幅提效。我会结合几个具体的场景分享我个人的使用技巧和避坑经验。3.1 场景一快速生成样板代码与脚手架这是最直接的应用。当你开始一个新模块、新功能或新项目时往往需要写大量结构类似、但细节不同的样板代码。3.1.1 实战案例生成一个RESTful API控制器假设我们在用Node.js Express开发一个用户管理模块需要生成一个用户的控制器Controller。低效提示词“用Express写一个用户API。”高效提示词参考AwesomeCursorPrompt风格角色你是一个专业的Node.js后端工程师熟悉Express框架和RESTful API设计规范。 任务为我创建一个用户管理相关的Express控制器Controller。 上下文与约束假设我们已经有一个用户模型User Model可以通过require(‘../models/User’)引入。需要实现以下端点endpointsGET /api/users 获取用户列表支持分页查询page,limit查询参数。GET /api/users/:id 根据ID获取单个用户详情。POST /api/users 创建新用户。请求体应包含name,email,password。PUT /api/users/:id 更新用户信息。DELETE /api/users/:id 删除用户软删除添加deletedAt字段。请使用异步函数async/await。需要进行基本的输入验证如邮箱格式。密码在存储前必须使用bcrypt进行哈希处理。对于GET /api/users/:id和删除操作如果用户不存在应返回404状态码和相应信息。请遵循一致的错误处理模式使用try…catch并将错误传递给Express的全局错误处理中间件。 输出请输出完整的控制器代码文件内容文件名为userController.js。在代码关键部分添加简要注释。使用后一个提示词Cursor或ChatGPT能生成一个结构清晰、包含基本错误处理和安全考虑的控制器骨架你只需要微调数据库交互细节和业务逻辑即可。3.1.2 避坑技巧明确依赖在提示词开头就说明你使用的框架、库的版本。比如“使用Express 4.x”“使用Mongoose进行MongoDB操作”。指定代码风格如果你团队使用ESLint Prettier可以在约束里加上“代码风格需符合Airbnb JavaScript规范”。这能减少生成后的格式调整工作。先定义接口对于复杂功能可以先用提示词让AI帮你设计函数签名、API接口定义确认无误后再让它生成具体实现。这相当于让AI先做“架构设计”。3.2 场景二代码重构与优化面对遗留代码或自己写的“历史债”重构是常态。AI可以成为一个强大的重构助手。3.2.1 实战案例将回调函数改为Async/Await有一段使用回调函数处理文件读取和数据库查询的老代码你想将其现代化。高效提示词角色你是一个代码重构专家擅长将旧的Node.js回调风格代码转换为现代的Async/Await风格并保持功能完全一致。 任务重构下面这段代码。请保持原有逻辑不变仅将回调函数改为使用async/await和try…catch进行错误处理。 上下文这是原始的代码片段粘贴代码。 约束需要使用fs.promisesAPI 替代fs。数据库查询函数假设已经支持Promise可以直接await。注意错误传播确保任何一步出错都能被捕获并妥善处理。 输出只输出重构后的完整代码。3.2.2 避坑技巧提供完整上下文重构时尽量提供涉及到的所有相关函数和模块信息避免AI因为信息不足做出错误假设。分步进行对于大型重构不要一次性让AI重写整个文件。可以按函数或按模块分批进行每完成一步都进行测试。要求保留注释在提示词中明确要求“保留原有代码中的所有业务逻辑注释”。AI生成的代码有时会丢失原有注释而注释里可能包含重要的业务背景信息。3.3 场景三编写测试用例写测试尤其是覆盖边界条件Edge Cases的测试是件繁琐但重要的事。AI在这方面可以做得非常好。3.3.1 实战案例为工具函数生成单元测试你有一个工具函数formatDate(timestamp, formatString)你想为它添加Jest单元测试。高效提示词角色你是一个资深的测试工程师擅长编写覆盖全面的单元测试尤其关注边界条件和异常输入。 任务为以下formatDate函数编写Jest单元测试。 上下文这是函数的实现代码粘贴代码。 约束测试文件应单独放置使用Jest框架。需要覆盖以下场景正常输入传入合法的Unix时间戳和格式字符串验证输出是否正确。边界输入传入0(1970-01-01)传入null,undefined, 空字符串。非法输入传入非数字时间戳、传入非字符串的格式参数。格式字符串测试分别测试 ‘YYYY-MM-DD‘, ‘MM/DD/YYYY‘, ‘相对时间如‘刚刚’‘ 等不同格式。每个测试用例要有清晰的描述it(‘should…‘, …)。使用describe对测试进行分组。 输出输出完整的测试文件代码。3.3.2 避坑技巧明确测试框架除了Jest也可能是Mocha/Chai, pytest, unittest等必须说清楚。定义“正确”行为对于某些函数你需要明确告诉AI什么是“正确”的输出。特别是处理异常时是返回null、抛出错误、还是返回默认值让AI生成测试数据可以额外让AI帮你生成用于测试的Mock数据或Fixture特别是当数据结构比较复杂时。3.4 场景四学习与探索新技术栈当你需要快速上手一个新技术、新库时阅读官方文档固然重要但让AI根据你的具体需求生成示例代码学习效率会高得多。3.4.1 实战案例学习使用一个新的状态管理库Zustand你想在React项目中使用Zustand替代Redux。高效提示词角色你是一个熟悉React生态的前端架构师精通多种状态管理方案。请以Zustand为例进行讲解。 任务教我如何在React函数组件中使用Zustand创建一个简单的计数器Store并在组件中读写状态。 约束请从安装开始讲起 (npm install zustand)。创建一个Store包含count状态以及increment,decrement,reset三个动作。展示如何在组件中通过Hook使用这个Store分别展示读取状态和调用动作的方法。请解释与Redux Toolkit相比Zustand在写法上的主要区别和优势。 输出请分步骤提供代码示例和简要的文字说明。通过这样的提示词你不仅能得到可运行的代码还能获得对比分析加深理解。4. 高级技巧构建属于你自己的“提示词工作流”“AwesomeCursorPrompt”给了我们一个宝库但最高效的使用方式是将其内化并形成自己的一套“提示词工作流”。4.1 创建个人提示词片段库大多数现代编辑器包括Cursor本身和IDE都支持代码片段Snippets功能。你可以将最常用、最有效的提示词保存为片段。4.1.1 操作步骤以VS Code/Cursor为例打开命令面板Cmd/Ctrl Shift P。输入 “Configure User Snippets”。选择一种语言如markdown或创建全局片段New Global Snippets file。在JSON文件中定义一个片段。例如{ “Generate React Component with PropTypes”: { “prefix”: “prompt-rc”, “body”: [ “角色你是一个专业的React开发者遵循函数式组件和Hooks的最佳实践。”, “任务创建一个React函数组件。”, “约束组件名称为${1:ComponentName}。需要接收以下props${2:props}。请使用PropTypes进行类型检查。组件内部需要用到useState和useEffect Hook。代码风格遵循Airbnb规范。”, “输出只输出完整的组件代码包含导入语句和PropTypes定义。” ], “description”: “Prompt to generate a React functional component” } }保存后在任何文件中输入prompt-rc并按Tab键这个完整的提示词模板就会被插入你只需要修改ComponentName和props等占位符即可。4.1.2 管理技巧按场景命名前缀比如prompt-api-开头的用于生成API代码prompt-test-开头的用于生成测试prompt-refac-用于重构。定期回顾和更新每隔一段时间回顾你的片段库根据AI模型能力的更新和你自己经验的积累优化旧的提示词。4.2 利用Cursor的“”指令和上下文功能Cursor编辑器本身提供了强大的AI集成功能远不止一个聊天框。“”引用指令在聊天中你可以用“”引用当前文件、特定代码块、甚至错误信息。这相当于在提示词中自动添加上下文。例如你可以选中一段代码然后问“选中的代码 请为这段代码添加详细的JSDoc注释。” AI会基于你选中的代码来操作。“/”命令Cursor有内置的快捷命令如/tests为当前文件生成测试、/fix修复代码中的错误或警告。了解并熟练使用这些命令本身就是使用“内置提示词”的过程。项目级上下文确保你的项目根目录有清晰的README.md和必要的配置文件如package.json,tsconfig.json。Cursor会读取这些文件来理解你的项目环境、技术栈和配置从而在回答问题时更具针对性。4.3 迭代优化如何与AI“对话”来打磨提示词有时候AI第一次给出的结果并不完美。这时你需要进行“对话式优化”。第一次尝试给出一个基础提示词获得初始输出。指出问题如果输出不符合要求不要直接重写提示词而是告诉AI哪里不对。例如“你生成的函数没有处理输入为数组为空的情况请修正。”提供反馈AI修正后如果还有细节问题继续反馈“现在可以处理空数组了但如果数组里包含非数字元素应该过滤掉它们而不是报错请修改。”固化成功模式当经过几轮对话得到完美输出后将整个对话过程中最终有效的那个完整提示词包括你所有修正指令的精华保存下来更新到你的片段库或“AwesomeCursorPrompt”这样的仓库中。这才是提示词迭代的核心。5. 常见问题与排查实录在实际使用“AwesomeCursorPrompt”类资源以及与AI编程工具协作时我踩过不少坑也总结出一些共性问题。5.1 问题一AI生成的代码看起来正确但运行不起来或逻辑有误这是最常见的问题。原因往往是提示词的“约束”部分不够精确或者AI对某些边界条件的理解与你的预期有偏差。排查思路检查上下文完整性你是否提供了所有必要的接口定义、数据结构AI可能对你项目中的某个自定义类或函数做出了错误假设。审查边界条件仔细阅读AI生成的代码特别是条件判断、循环终止、空值处理、错误捕获等部分。手动构造几个边界用例在脑子里跑一遍。让AI解释代码如果逻辑复杂可以直接把AI生成的代码贴回去问它“请逐行解释这段代码的逻辑并指出可能的边界情况缺陷。” 很多时候AI自己就能发现问题。分而治之对于复杂的生成任务不要让它一次生成一整段逻辑。让它先生成核心算法你验证通过后再让它围绕这个核心添加错误处理、日志等外围代码。我的经验永远不要完全信任第一次生成的代码。把它当作一个能力超强的“实习生”写的初稿你必须进行严格的Code Review。对于关键业务逻辑生成代码后立即补充你原本就计划要写的单元测试用测试来验证其正确性。5.2 问题二同一个提示词在不同时间或不同会话中效果差异很大这可能是由于AI模型本身的随机性温度参数或者模型版本更新导致的。解决方案降低随机性如果使用的AI工具允许设置参数如Temperature尝试将其调低例如从0.7调到0.2这样生成的输出会更确定、更倾向于常见模式。固化提示词版本在提示词中明确指定你期望的AI模型或风格。例如开头加上“你是一个严谨、细致的工程师请输出零错误、可直接运行的代码。” 这能在一定程度上引导AI的风格。保存“种子”有些高级API允许传入seed参数来固定随机数种子从而获得完全可复现的输出。如果可行对于非常重要的提示词可以记录下产生最佳结果时使用的seed。建立黄金标准用例为你最常用的几个提示词保存一组“输入-期望输出”的配对。当感觉AI表现不稳定时用这个黄金用例测试一下看是提示词问题还是模型本身的问题。5.3 问题三生成的代码风格与项目现有风格不符AI可能使用了不同的缩进、命名约定、引号类型等。解决方案在提示词中明确编码规范这是最有效的一步。直接告诉AI“请遵循项目现有的代码风格使用2个空格缩进变量名采用小驼峰命名法字符串使用单引号等等。”利用编辑器的格式化工具生成代码后立即使用Prettier、Black、gofmt等工具进行自动格式化。将这些工具配置为保存时自动运行。提供示例代码在提示词中可以附带一小段你项目中典型的、风格良好的代码并说“请参照下面代码段的风格和格式进行编写。” AI的模仿能力很强。5.4 问题四对于非常新颖或小众的技术栈AI生成质量不高AI的训练数据有滞后性对于刚发布不久的技术或非常小众的库它可能了解不深。应对策略提供官方文档片段将官方文档中关键的API说明、示例代码复制到提示词中作为上下文提供给AI。这相当于给它“临时补课”。分步引导不要让它一步到位实现复杂功能。先让它学习基础用法“请根据[粘贴的文档]展示如何初始化这个库。” 然后基于它的正确回答再提出更复杂的要求。结合搜索引擎对于这类问题传统的搜索引擎查找GitHub Issue、博客文章可能比AI更有效。你可以先用搜索引擎找到解决方案的轮廓或关键代码片段然后再让AI帮你整合、优化或适配到你的项目中。5.5 问题五过度依赖AI导致自身能力退化这是最需要警惕的“元问题”。AI是强大的助手但不能成为拐杖。我的原则理解而非复制对于AI生成的每一段重要代码都要确保自己理解其原理。如果不理解就让它解释或者自己去查阅相关资料。动手验证即使是AI生成的测试用例也要自己思考是否覆盖全面并实际运行看看。保持编码手感定期关闭AI辅助完全靠自己手写一些代码解决一些小问题保持对语言特性和底层逻辑的敏感度。AI是副驾驶始终记住你才是项目的负责人和最终决策者。AI提供建议和方案但做出判断、承担责任的必须是你自己。“AwesomeCursorPrompt”这类项目的出现标志着AI辅助编程正在走向成熟和体系化。它不再是一个炫技的玩具而是正在成为开发者工具箱中一个标准且强大的组成部分。它的意义不在于提供了多少现成的提示词而在于展示了一种高效学习和使用AI的方法论通过社区协作将最佳实践沉淀为可复用的知识资产。对于我们每个开发者而言最重要的不是记住所有提示词而是学会如何思考、如何构建、如何迭代一个有效的提示词并将这种能力融入自己的工作流最终实现人与AI的协同进化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2617443.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;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…