2026年2月

各位预祝新年大好!

终于要到过年放假的时候了,还是没什么好拿的出手的礼物抽出来赠送给你们,所以就送一个我很喜欢的游戏,《神界原罪 2》shy

Xnip2026-02-14_21-36-10

Steam 链接: http://store.steampowered.com/app/435150/2/

介绍视频:

关于《神界原罪 2》,我以前很不喜欢回合制的游戏类型,觉得你一下我一下的战斗比较磨叽哈哈,但这个游戏改变了我对回合制游戏的看法,后面像《P5R》这样的回合制游戏都会很主动细心的玩通关。

游戏内容非常丰富,世界内非常自由开放,战斗非常爽(个人觉得比《博德之门 3》更爽),剧情也是非常不错,喜欢 CRPG 的若沉浸下去真是早上启动一天就又没了。不过游戏初入手可能会比较复杂,所以也需要耐心去进入状态。一周目强力建议不看任何攻略好好摸索哈哈。

总的来说,这是玩一款少一款的游戏。

抽奖规则:

  1. 仅一级评论参与抽奖,多次回复不影响抽中概率;
  2. 抽中的用户我会用 Steam 账户通过礼物的方式赠送游戏;
  3. 开奖时间为 2026 年 2 月 23 日晚上 10 点;
  4. 通过帖子内的回复工具@抽奖助手进行抽奖。

游戏周期性史低,所以我会在史低时赠送sobbing,一般不会差几天,肯定会赠送出去~。最后祝各位新年快乐,身体安康过大年good

作者:张庆玉,阿里云计算平台事业部开发工程师

本文整理自 Streaming Lakehouse Meetup 活动分享,阿里云计算平台事业部开发工程师张庆玉分享的 StarRocks 与 Apache Paimon 的深度集成实践,探讨如何构建真正意义上的 Lakehouse Native 数据引擎。

在数据湖已成为企业数字化转型重要基础设施的当下,如何在一个统一的计算引擎中高效处理多种数据源,成为业界关注的焦点。StarRocks 通过与 Paimon 的深度融合,正逐步构建一套完整的 Lakehouse Native 解决方案——不仅支持多源联邦分析,更在性能、功能与可观测性上实现系统性突破。

StarRocks 数据湖总体架构:单一引擎,多源联邦分析

StarRocks 与 Paimon 的结合,首先体现在统一的架构设计理念上。借助统一的 Catalog 机制,StarRocks 能够在一个引擎内同时管理内部表和外部数据湖(如 Paimon 表),并支持跨 Catalog 的联邦查询。

这种设计延续了 StarRocks 存算分离的核心思想。虽然数据存储在远端的数据湖中,但查询执行仍能充分利用 StarRocks 在 OLAP 场景下的全部优化能力——从底层的 CPU 指令集加速、向量化执行引擎,到 I/O 层面的缓存策略与合并读取,都可无缝应用于 Paimon 表的查询过程。这使得数据湖不再只是“冷存储”,而真正成为高性能分析的一部分。

StarRocks+Paimon 发展历程

StarRocks 对 Paimon 的支持并非一蹴而就,而是经历了多个版本的持续打磨。

  • StarRocks 3.1: 首次引入 Paimon 外表,通过 JNI (Java Native Interface)实现基本读取能力,并支持 Paimon 物化视图加速查询和谓词下推。这一阶段主要解决“能不能用”的问题。
  • StarRocks 3.2: 性能迎来显著提升—— FE 计划阶段引入 Metadata cache,缓存表分区和 manifests 等元数据,大幅加快计划生成;同时支持表级与列级统计信息采集,提升执行计划质量。3.2 版本还实现了物化视图的分区级别刷新功能,避免了全量刷新带来的资源浪费。此外,该版本进一步增强了对 Paimon DV 表的支持——StarRocks 查询引擎现在可以通过 Native Reader 直接读取 DV 表,相比之前基于 MOR(Merge-On-Read)表结构的 JNI 读取实现,读取性能获得大幅提升,尤其适用于高吞吐、低延迟的实时分析场景。
  • StarRocks 3.3: 标志着 StarRocks 向 Lakehouse Native 迈出关键一步,多项核心特性相继落地——相关细节将在下文逐一展开。

StarRocks+Paimon 最新进展

功能增强

  • Time Travel:StarRocks 现已支持通过 VERSION AS OF 或 TIMESTAMP AS OF 查询历史快照或指定时刻的数据。这一能力在数据审计、故障回滚、AB Test 等场景中具有重要价值,让数据湖具备了更强的时间维度管理能力。

  • Paimon Format Table:作为 Paimon 的一种兼容 Hive 格式的表类型,它允许用户将现有 Hive 表直接迁移到 Paimon,而 StarRocks 能无缝识别并高效查询,极大降低了迁移成本。

性能优化

  • Native Reader/Writer: 在未开启 DV 的情况下,MOR 表需要在查询时实时合并多个版本的增量数据,只能通过 JNI 调用 Java 层处理,存在类型转换、行列格式转换、JVM GC 等开销,效率低下且易引发 OOM。如今,StarRocks 基于 Paimon CPP SDK,在 BE 的 C++ 代码中直接实现 Paimon Native Scanner,实测显示 MOR 表读取性能提升超过 5 倍。写入侧同样受益,Native Writer 显著提升了写入吞吐。

  • Distributed Plan: 面对超大规模表(数十万文件),manifest 解析曾是 FE 的性能瓶颈。为此,StarRocks 引入 Distributed Plan 机制,当 manifest 数量过多时,FE 将解析任务分发至多个 CN 节点并行执行,各节点完成本地谓词下推后返回所需文件列表。这一设计使 plan 阶段的解析能力随 BE 资源线性扩展,有效缓解单点压力。

  • DV Index Cache: 在高并发查询 Paimon 主键表时,index manifest 的全局反序列化会造成严重读放大——即使只查一个分桶,也要加载全量索引。于是,DV Index Cache 应运而生:按桶级别缓存 DV index 对象,避免重复解析。由于缓存的是 Java 对象而非序列化字节,还省去了反序列化开销。实测表明,该优化在高并发场景下 QPS 提升超 80%。

可观测性:完善 profile 指标

StarRocks 完善了 Profile 指标体系,覆盖 plan 与执行两个阶段。在 plan 阶段,用户可查看 manifest 缓存命中率、远程读次数、谓词下推效果及最终扫描文件数,用于判断是否需调大缓存或优化查询条件。在 BE 执行阶段,则能清晰区分 JNI 与 native 读取的比例——若 JNI 占比较高,可能提示需要对表进行 full compaction,或考虑切换至 DV 表模式。

未来规划:性能对齐内表

StarRocks 的长期目标很明确:让查询 Paimon 的性能与体验对齐查询 StarRocks 本地表

目前,BE 执行层的差距已不大——两者均基于列存格式(如 Parquet/ORC),具备类似索引结构,I/O 优化策略也高度通用。真正的挑战在于 FE 的 plan 阶段:Paimon 的 manifest 解析可能因 cache miss 触发高延迟的远程读,导致 plan 耗时波动,影响整体查询稳定性。

未来工作将聚焦于消除 plan 阶段的 latency-sensitive IO,通过更智能的缓存预热、异步解析、元数据压缩等手段,使 Paimon 查询的延迟变得稳定、可预测,彻底告别“毛刺”。

结语

StarRocks 与 Paimon 的深度融合,代表了现代湖仓架构的重要演进方向。它不只是“能查数据湖”,而是真正“懂数据湖”——从架构统一、功能完善到性能极致优化,每一步都围绕真实业务场景展开。

这套 Lakehouse Native 方案已在阿里集团内部多个高并发、低延迟场景中落地验证,为电商、物流、金融等业务提供坚实支撑。随着社区生态的持续壮大,我们有理由相信,StarRocks + Paimon 将成为企业构建下一代实时数据平台的核心引擎。

若干年前注册了 2 个美区苹果 ID ,不用添加付款方式的那种,也没开通 2 步验证,就这么一直平安用着;

马年前夕趁着有国补,整了一台国行新 iPhone ;

激活时苹果账号用的前面的美区 id 登录的;

结果让同意云上贵州,瞬间感觉不对劲;

点进去一看:特么国家地区给直接变成大陆的了!!

感觉是不是自己记错注册地区了;

又登录 account.apple.com 确认账号 2 的确是美区;

手机抹掉重新激活来过,这次用了上面的账号 2 ,这号之前还下载过美区的 app ;

国家地区一开始显示的还是美帝;

点开商店发现和国区简直一模一样,

再看发现账号 2 又直接给自动改成大陆地区了!!!

小僧没有美帝的信用卡国家地区改不回去,号算废了吧,吐血!

内心的法克声如滔滔江水连绵不绝!!

上班最后一天,随手写了一下 25 年总结,文章地址:https://itlanyan.com/2025-ai-coding-summary/

前言

2025 年开始在工作中和工作外大规模使用 AI 辅助编程,以提升工作和编程效率。总的来说,2025 年 AI 编程使用较为深入,本文主要总结一下使用情况和一些心得体会。

AI 编程发展过程

FortranC等高级语言被设计出来的早期,大家都用文本编辑器写代码,然后通过编译器编译成可执行文件。这个时期的计算机能力有限,如今常用的代码补全、代码高亮、代码格式化等功能都是后来才有的。即使没有现在火热的 AI 辅助编程,这个阶段也能完全被称得上“古法编程”(当然更早期还有打孔编程和汇编编程,本人没经历过)。

随着计算机性能的提升,大家开始使用集成开发环境( IDE )来编写代码,如Visual StudioEclipse等。这些 IDE 提供了代码补全、代码高亮、代码格式化等功能,编程更工具化和工程化。这个时期还是以手动编写代码为主,但通过 IDE 内置功能(如IntelliSense、代码片段)或者插件(如Tabnine)可以做到变量、函数等代码片段的自动补全和重构,不需要反复查文档以及担心编写错误,编程体验和效率上了一个台阶。就本人所知,一些内网环境以及不怎么接触 AI 编程的程序员,可能还在使用这个时期的编程方式。在如今的视角,这个阶段的操作是“古法编程”。

随着神经网络的发展以及 ChatGPT 的问世,AI 编程开始进入人们的视野,并带来了翻天覆地的变化。最初人们发现 ChatGPT 可以在对话中编写和运行代码,虽然能力很弱,但是已经表现出一定的潜力。接着Github Copilot出现了,开发人员写下描述片段,然后一顿按 tab 键就能速速生成(垃圾)代码。这个阶段的代码自动生成能力较IntelliSense等基于语义语法的补全更为智能,能理解上下文并预测生成更为复杂的代码,开发人员需要敲击键盘的次数大大减少,编程体验和效率又上了一个台阶。如今免费的Visual Studio Code集成了免费版Github Copilot,打开就能体验到基于 AI 的自动代码补全和代码生成,个人感觉已经非常好用了。现在看来,这个阶段的操作应该是“AI 编程 1.0”。

得益于 AI 编程模型的快速发展,2025 年下半年以来,Vibe Coding (氛围编程)大行其道。人们只需要输入自然语言描述,剩下的活都可以让 AI 来干:编程、测试、调试、部署等。各大 AI 编程工具如雨后春笋般涌现,如CursorWindsurfTRAE等。更激进的编程工具如Gemini CLIClaude Code,甚至连看代码的窗口都不提供,有任何问题直接自然语言描述,工具帮你做完代码编写、代码审查、运行调试和部署等一系列之前都需要人参与的工作(权限都提供的情况下)。更为重要的是,使用Claude Sonnet/Opus等强大的编程模型,编程能力和质量已经达到甚至超过了普通的中高级程序员,一个人带几个 AI 助手能快速完成一个中小型项目的开发和维护,让人非常震撼。

使用过的 AI 编程工具

在过去的一年中,本人尝试了多款编程工具,本节分别做简要介绍。

Cursor

Cursor 是第一款使用的 AI 编程工具,也是目前仍然高频使用的 AI 编程工具和编辑器。魔改自 VS Code ,对于习惯了 VS Code 的用户来说,上手非常容易。和其它竞品相比,个人认为 Cursor 最大的优势是强大的Tab 补全能力,而且是项目感知级别的,远超 Copilot 、Antigravity 等工具。使用 Cursor 给变量或者类等重命名,不用像之前一样按 F2 然后再费劲确认,在任何地方修改,然后一路 Tab 补全,包括代码、注释、SQL 语句、文档等都给你重命名保持一致性,快速方便。Cursor 的 Agent 模式(原来叫 Edit )不知道是否首创,直接帮你写代码修改文件,并且支持多 Agent 协同工作,非常强大好用。

对于国人来说,Cursor 另外一个优点是支持支付宝等国内付款方式,国人友好。默认使用 Auto 模型,联网就能使用(但是本人测试过额度用完后的 Auto 模式非常智障,不清楚现在好点没)。但是如果要在 Cursor 中使用 Claude Sonnet/Opus 及 GPT Codex 等国外模型,就需要科学上网了。最初 Cursor 计费按次数,后来次数减半,到如今变成了按量,变相涨价了。本人最开始也是按次数的,但是有次更新后不能使用 Claude 等模型,然后取消订阅改用国外信用卡支付,就发现变成按量了,有点遗憾。

通义灵码

通义灵码是阿里云推出的 AI 编程工具,是 VS Code 的一个插件。当然现在阿里也推出了自己的 IDE Qoder ,估计是和 Cursor 等对标,但是本人未使用过。

通义灵码的优点是免费,只要登陆了阿里的账号,就能享受免费的 pro 权益(许久未用,不清楚现在是否也这样)。缺点是使用的模型能力较弱,和当时使用的 Claude Sonnet/Opus 等强大的编程模型相比,差距较大,因此一段时间后就不再使用了。

TRAE

TRAE 是字节推出的对标 Cursor 的 AI 编程工具,有国内版和国际版。本人使用过的是国际版,最初说能免费使用 Claude Sonnet 模型,但后来额度越来越少,经常需要排队,因此就不再使用了。国内版可能只能使用国内备案模型,估计效果应该是差一些的。

Windsurf

Windsurf 当初是作为 Cursor 的平替下载使用的,但是用下来感觉不如 Cursor 好用,用得少后来也不用了。

Claude Code

Claude Code 是 Anthropic 官方推出的 AI 编程工具,直接在命令行( CLI )中使用 AI 编程。Claude Code 出来之后,感觉就没有 Gemini CLI 什么事了,原因应该是 Claude 的 Sonnet/Opus 的模型能力更强,最初的额度也给的很足(当然现在额度就很少了)。

因为个人还是习惯看代码和 review 代码,Claude Code 虽说可以连接 IDE 使但总觉得不方便,因此相对来说 Cursor 还是用的多一些。另外一个原因是 Anthropic 的 CEO 对中国有很大偏见和敌意,现在GPT Codex的能力上来了,也就用得少了。

Antigravity

Antigravity 应该是 Google 收购 Windsurf 团队后推出来的编程 IDE,也是套壳 VS Code 。但是使用体验上和 Cursor 相差太大了,Tab 补全慢且能力弱上一截,Agent 模式编程经常死掉无法恢复,就让人很无语。Cursor 的更新频率非常高,基本上十多天就来一个新版本,而 Antigravity 基本上一个月才更新一次,也没看到大的功能改进。要不是Google AI Pro 套餐包含了 Veo 3 、Nano Banana Pro 等附加工具,还有额度上比 Claude Code 大方点,不然真想用了。

OpenClaw

年初 OpenClaw 又爆火,本人在 Hetzner 上搭建了一个( Hetzner 上 2 核 4G 机器一个月不到 4 欧!)跑了一下,感觉自己用不到,一周没用后又给删了。主要是现在还没找到 OpenClaw 的实际应用场景,等找到了再考虑。

总结

总的来说,最满意的是 Cursor ,其次是 Claude Code,当然免费的 VS Code 自带的 Copilot 也是好用的,但是估计会拿你的代码去训练。如果说续费或者续费购买,只买一个的话推荐 Cursor ,两个的话推荐 Cursor 和 Claude Code 。

使用 AI 编程的项目

在 AI 的加持下,2025 年完成了几个项目,感觉效果都还不错。

VSIX 文件下载器

第一个是 VSIX 文件下载器,已经在之前的博文《 VSIX Downloader:一个 VS Code 插件下载工具》中介绍过了。这个需求非常真实,就是上面各种 AI 工具基本都是套壳 VS Code ,但是那段时间 VS Code 取消了 VSIX 文件下载的功能(现在在 VS Code 中加回来了),因此催生了这款工具。

这款工具主要是 AI 编写,但是最难的部分是有些插件分不同平台(如 Python 插件分 Windows 、Mac 、Linux 等多个版本),这个平台参数 AI 不知道,是本人通过 Fiddler 抓包并分析得到的。目前插件配套的下载站从谷歌搜索一天大概有几十的访问量,也算为互联网做了点贡献。

Telegram 反垃圾消息机器人

第二个使用 AI 编写的项目是 Telegram 反垃圾消息机器人,也在之前的博文《 Ttg-antispam:一个 telegram 反垃圾用户和垃圾信息机器人》中介绍过了。

现在有了 AI ,垃圾消息更泛滥了,没有反垃圾机器人的情况下,tg 群里充满了各种垃圾信息。基于自身的需求,开发了这个机器人,目前运行稳定,tg 群里基本上没有垃圾消息了,达到了本人的预期。

公司内的预研项目

25 年第四季度,开始了公司内的预研项目,期间也通过 AI 辅助编程,完成了一些功能。由于项目的追求主要是性能,因此整体的架构和主要实现还是手写+Tab 补全,AI 辅助生成测试用例,自动化测试,排查 bug 等。项目的结果达到了预期,但是其中 AI 的参与度比上面两个项目少了许多。

做这个项目期间,遇到了两个 AI 局限性的事情。一个是让 AI 写 MPI 并行时的稀疏矩阵转置,就这么一个简单的功能,快把 Cursor 和 Claude Code 的额度都干没了,在 MPI 多进程并行的情况下还是卡死(现在模型更新了,不知道是否能完美解决了)。另外一个是让 AI 帮忙分析可能的性能提升点,Cursor 和 Claude Code 说的条条是道,交付出来的代码一运行,比优化前还慢了,最后还是手动优化。

总结

AI 编程的发展速度非常快,已经到了一个非常成熟的阶段,个人认为已经可以替代大部分业务型的编程工作了。这波 AI 浪潮带来的明显感觉是现在大家都很焦虑:老板很焦虑,怕没蹭上 AI 被时代淘汰;员工很焦虑,怕被 AI 取代;计算机行业的卷新模型忙着把自己工作干没,其它行业的担心总有一天把自己工作干没。

按照现在的发展速度,2026 年恐怕科技变化会更剧烈,无论结局是更多人失业还是 AI 崩盘退潮,我们的许多习惯和思考方式都已经被改变了。对于用上了 AI 辅助编程的开发人员来说,可能回不到原来完全手写代码的古法编程时代了。

(本文纯手工编写,没有使用 AI 辅助)

此前公司有提供了一个月,后来到期了没续,但我现在已经完全离不开了。

虽然自己也买了 antigravity ,但是还是觉得 qoder 顺手,刚刚去买了 10$一个月,再延续一下此前的体验。qoder 的 cli 也挺好用的。

 VMware17是 VMware Workstation 17​ 的安装包,这玩意儿是用来在电脑上跑虚拟机的,比如你想在一台 Windows 电脑里再装个 Linux、Win7、Win10 来测试软件、搭环境,用它就很方便。

一、准备工作

  1. 下载安装包

    • 安装包下载:https://pan.quark.cn/s/175b29637ce5 ,去 VMware 下 VMware17.exe(注意区分 Workstation Pro 和 Player 版本,Pro 功能全,Player 免费但限制多)。
    • 文件大小几百 MB,下的时候注意别断网。
  2. 用管理员身份运行(必须)

    • 右键 VMware17.exe→ 选“以管理员身份运行”,不然可能装不上驱动或权限报错。

二、安装步骤

  1. 双击 VMware17.exe(如果右键过了就直接双击)。
  2. 弹出“用户账户控制”提示 → 点  “是”
  3. 进入安装向导,选语言(默认英文,有的版本有中文)→ 点  “Next”
  4. 阅读许可协议 → 选 “I accept…” → 点  “Next”
  5. 选安装类型:

    • 一般选 Typical(典型安装) ​ 就行,省事儿;想自定义路径或组件就选 Custom。
  6. 选安装位置:

    • 默认在 C 盘,可点 Browse 改到其他盘(建议留够空间,虚拟机文件挺占地方)。
  7. 用户体验设置:

    • 可取消勾选“帮助改进 VMware…”(不想上报数据就取消),然后点  “Next”
  8. 快捷方式:

    • 默认勾“桌面快捷方式”和“开始菜单文件夹”,保持默认就行。
  9. 点  “Install” ​ 开始安装,等进度条走完(几分钟)。
  10. 安装完会提示输入许可证密钥(如果有),没密钥可以先点“Finish”,之后用试用模式。

三、首次运行与基本使用

  1. 在开始菜单或桌面找到 VMware Workstation 17​ → 点开。
  2. 第一次打开会让选“试用”或“输入许可证”,试用一般能用 30 天。
  3. 新建虚拟机:

    • 点“Create a New Virtual Machine” → 选安装来源(ISO 镜像或物理光驱)→ 按向导设置系统类型、内存、硬盘大小 → 完成后启动就能装系统。
  4. 虚拟机界面跟真机差不多,鼠标点进去操作,Ctrl+Alt 切回主机。

自然语言理解、摘要生成、代码编写、逻辑推理,OpenAI 等厂商的模型把这些事情做得相当好。但是只有一个问题,那就是 “贵".尤其是在应用上了规模之后,API 调用费用的增长速度会让人心跳加速。

Prompt 缓存是应对这个问题最直接也最容易被忽视的手段。本文会从原理讲到实践,覆盖四种不同层级的缓存策略,配有代码示例和架构图。

LLM 的成本为什么涨得这么快

LLM API 的定价模型就三个维度:输入 Token 数(也就是 Prompt 长度)、输出 Token 数(响应长度)、调用次数。

比如FAQ 机器人、聊天式新人引导助手、内部开发者工具、AI 仪表板——这些应用有一个共同特征:大量重复或高度相似的 Prompt 被反复发送,而期望得到的回答几乎一样。

如果不做缓存的话,每次调用都要按量计费,那费用肯定就爆炸了。

Prompt 缓存是什么

一句话概括:

当相同或等价的 Prompt 再次出现时,直接复用之前的 LLM 响应,而不是重新调用 API。

先查缓存,命中就直接返回;没命中再去调 LLM,拿到结果后存入缓存。

就这一个改动,成本就能降低 30%–90%,具体数字取决于工作负载的重复程度。

策略 1:精确匹配缓存

这是最基础的方案。逻辑非常简单:完全相同的 Prompt 字符串出现时,直接返回缓存结果。

适用场景包括静态 FAQ、政策说明文档、"解释 X"这一类 Prompt,以及聊天机器人中反复出现的 system prompt。

下面是 Node.js 的实现:

 import crypto from "crypto";  

const cache = new Map();  

function hashPrompt(prompt) {  
  return crypto.createHash("sha256").update(prompt).digest("hex");  
}  

async function getLLMResponse(prompt) {  
  const key = hashPrompt(prompt);  

  // Step 1: Cache lookup  
  if (cache.has(key)) {  
    return cache.get(key);  
  }  

  // Step 2: Call LLM API  
  const response = await callLLM(prompt);  

  // Step 3: Store in cache  
  cache.set(key, response);  

  return response;  
 }

为什么要对 Prompt 做哈希?因为 Prompt 本身可能很长,哈希之后得到固定长度的 key,查找速度快,SHA-256 的碰撞概率也低到可以忽略。

内存缓存的优点是极快,单实例或小规模系统用起来非常合适。但是这样做也进程重启缓存就没了,多实例之间也无法共享。

策略 2:规范化缓存

精确匹配有一个很容易遇到的问题:Prompt 里多一个空格、少一个换行、大小写不同,就被当成不同的 key 了。实际上这些差异对语义毫无影响。

解决办法是在缓存前先做规范化处理。举个例子:

规范化之前:

  "Explain REST APIs"  
 "Explain REST APIs "  
 "Explain  REST APIs"

规范化之后全部变成:

  "explain rest apis"

代码实现:

 function normalizePrompt(prompt) {  
  return prompt  
    .toLowerCase()  
    .replace(/\s+/g, " ")  
    .trim();  
}  

function getCacheKey(prompt) {  
  return hashPrompt(normalizePrompt(prompt));  
 }

不必要的 cache miss 减少了,命中率明显上升,同时整个过程依然是确定性的、安全的。

策略 3:语义缓存

"What is REST?" 和 "Explain REST architecture" 说的其实是同一件事,但无论精确匹配还是规范化匹配都会把它们当作两个完全不同的请求。

所以思路是引入向量嵌入。把 Prompt 编码成向量,通过余弦相似度之类的指标判断两个 Prompt 是否"足够接近"。如果相似度超过阈值,直接返回缓存结果。

语义缓存流程

工具选型方面,Embedding 可以用 OpenAI 的接口,向量存储可以选 Pinecone、Weaviate 这类专门的向量数据库,小规模场景下在内存里做相似度搜索也够用。

伪代码如下:

 const SIMILARITY_THRESHOLD = 0.90;  

async function getSemanticResponse(prompt) {  
  const embedding = await getEmbedding(prompt);  

  const match = await vectorDB.findClosest(embedding);  

  if (match && match.score > SIMILARITY_THRESHOLD) {  
    return match.response;  
  }  

  const response = await callLLM(prompt);  

  await vectorDB.store({  
    embedding,  
    response  
  });  

  return response;  
 }

语义缓存的风险

语义缓存的核心风险在于阈值设定。设得太低会把不相关的 Prompt 混为一谈,返回错误结果;设得太高又和精确匹配没什么区别。0.90 是一个比较常见的起步值,具体数字需要根据业务场景调优。

策略 4:分层缓存架构

生产环境一般不会只用单一缓存策略,而是按层级组合。典型的三层架构长这样:

 L1 Cache (In-memory, per instance)  
    |  
 L2 Cache (Redis / Shared Cache)  
    |  
 L3 Semantic Cache (Vector DB)  
    |  
 LLM Provider

每一层的定位不同。L1 是进程内存缓存,速度最快但作用域最小;L2 一般用 Redis,多个实例可以共享同一份缓存;L3 是语义缓存层,处理那些文本不同但意思相近的 Prompt。只有三层都没命中的情况下,请求才会打到 LLM Provider。

缓存过期与失效

Prompt 缓存不能"设了就忘"。以下几种情况必须主动失效:模型版本升级了,Prompt 模板改了,或者缓存的内容涉及时效性信息。

最简单的做法是设 TTL:

 cache.set(key, response, {  
   ttl: 60*60*24// 24 hours  
 });

成本影响

缓存带来的收益是双重的——成本下降,延迟也降低了。对于重复率高的工作负载,这两个指标的改善都非常可观。

总结

在 LLM 系统的各种优化手段中,Prompt 缓存的投入产出比可能是最高的。入手门槛低,可以渐进式迭代,而且到了一定规模之后几乎是刚需。

可以先从精确缓存做起,这是成本最低、风险最小的方案。规范化处理应该尽早加上,代码量很小但效果明显。语义缓存只在业务确实需要时才引入,因为它带来了额外的复杂度和向量计算开销。TTL 和版本控制是必须配套的机制。最后缓存命中率要持续监控,因为这是判断缓存策略是否有效的核心指标。

如果正在生产环境跑 AI 系统却没做 Prompt 缓存,可以试试上面的方法,肯定会为你省钱。

https://avoid.overfit.cn/post/10623b71c58d425dae471f5333a54e4c

作者: Vasanthan K

核心目标:价格合适、购买方便,主要需求:eSIM + Google VPN + 备用机。

简单整理了一下人在大陆,目前可行的购买渠道。如果大家有其他靠谱渠道,欢迎在评论区补充。

  • 官网购买 + 转运


    • 按价格来看,比较合适的地区:美国、中国台湾、日本、加拿大
    • 转运方式:可通过转运公司寄到香港,再人肉带回 / 邮寄;或直接转运国内,需缴税
    • 存在砍单风险,流程相对繁琐,但可以自己体验一遍完整的购买流程

  • 亚马逊购买


    • 美亚(网页版):Pixel 10 128G 售价 $599 ( Google 美国官网 $649 )
    • 亚马逊海外购(微信小程序):以德版为主,Pixel 10 256G 约 5887 元( Google 美国官网 256G 约 5200 元),不确定关税是否另算
    • 不确定是否可以直邮中国以及关税情况

  • 京东全球购自营


    • 目前台版 Pixel 10 128G 售价 5932 元(含关税 730 元,台版官网约 5300 元)
    • 个人过往体验:价格容易背刺,基本无售后;也有网友反馈非全新机,真伪难辨

  • 闲鱼、淘宝


    • 水货、组装机混杂,版本真假较难分辨,希望懂行的 V 友指点
  • 代购 / 人肉带回


    • 早年在企鹅群找当时的群主免费代购过 Nexus 6 ,依赖互相信任
    • 之前我也帮网友从澳洲带过 17PM ,整体体验还行,同样需要信任基础
    • 记得 V 站之前有在日本的老哥免费帮忙代买 iPhone ,不确定是否也帮代买 Pixel


我个人后面大概率会优先考虑前两种方案,128G 的 Pixel 10 对我来说足够用了。

想问问大家:

你们的 Pixel 都是在哪买的?靠不靠谱?价格怎么样?

买过的 V 友可以分享下经历,也欢迎指出这些渠道的潜在风险和注意事项。

DxO ViewPoint 4 是专门用来修照片透视和畸变的工具,Mac 和 Windows 都能用。拍建筑、风景或者人像的时候,经常会遇到画面歪了、线条不直、边缘变形这些问题,用它就能很快调回来。

第一步:先把安装包下好

安装包下载:https://pan.quark.cn/s/d25f8fb6b22e  ,下载 DxO ViewPoint 4 for Mac v4.13.0.282.dmg,点下载等它跑完。一般默认存在「下载」文件夹里,下完能直接看到这个.dmg文件。

第二步:双击打开dmg文件

找到下载好的.dmg文件,双击它!会弹出一个新窗口,里面有个DxO ViewPoint的图标(一般是软件logo),旁边箭头指去「应用程序」文件夹。

第三步:拖到“应用程序”里

按住DxO ViewPoint的图标,直接往右边“应用程序”文件夹拖就行~ 拖过去等几秒,看到进度条走完,就说明复制好了(相当于安装完成)。

第四步:打开软件试试

打开「访达」,左边点「应用程序」,找到DxO ViewPoint的图标,双击打开。第一次开可能会跳提示“来自未知开发者”(Mac的安全限制),别慌!点提示框里的「仍要打开」,确认后就能正常用了。

【千问】领超级免单卡,零食百货电影机酒都能用!10383LM8Gh复制口令,打开千问 app

新用户复制口令进千问注册就行,应该可以免费得一张,好像只能新用户,还有没领过的朋友们可以试试

不复制口令的这一轮似乎没有优惠券

不知道论坛可不可以发 aff,要是不可以的话麻烦大家提醒一下

为了访问延时低,clash 一般默认都让连香港的线路,但是 AI 类的网站,比如 notebooklm.google 这种就拒绝香港 IP 。显示 https://notebooklm.google/?location=unsupported

又不想把整体路线都切到美国、新加坡这边来,只想让特定的网站,类似 https://notebooklm.google 走美国路线。

请教大佬这个可以自定义设置 config.yaml 吗?

技术分享需要做了一个玩的项目,架构是 vue3+electron(node 模式)+webaudio 实现以下功能(一步一步完成,非一次成型):

( 1 ) 20 个轨道的混音,每个轨道 20 分钟,调用 ffmpeg 转成 wave ( cd 音质格式),并且实现边播放边加载,同时动态清理内存(一个 4 分钟的 wave 是 50m 内存,20 轨同时加载内存绝对爆)

( 2 )支持播放中拖条,显示标尺功能

( 3 )显示波形图,可以改变缩放比例,支持小节:节拍模式和时间模式切换

( 4 )使用第三方库分析人声频谱(单轨道,已经用第三方 AI 切分出来),用钢琴卷帘窗绘制音高图

( 5 )节拍器功能

( 6 )显示对数电平表

( 7 )工程的加载和保存

( 8 )单轨的 mute/solo/拖拽/切分/音量调节

工具就是 10 美元的 copilot ,除了做音频算法的时候用的 9x 的模型,剩下的大多用 cluade4.5 和 auto 模式开发

交互联动这部分是最猛的,AI 在这块几乎一次过,因为设置了缩放或者歌曲速度后,整个界面几乎全部联动,涉及数据和图形显示的地方都需要联动重绘,包括当前播放的进度,AI 这块几乎没翻车

远程 Vibe ,随时随地,我已经快沉迷了。效果看图:


关键设置一:把显示器分辨率调成和手机一致,电脑显示器变成竖屏,文字也能清楚。下图


关键设置二:开启远程的平板触控模式,可以单指滚动,双指缩放等等。下图


关键设置三:使用一个语音输入法,微信豆包输入法都可以。

好了,开始起飞~

出门在外,用手机编辑的帖子,格式有点乱。

咨询业务(算乙方的),工资一般,WLB (只能看性价比了),可以每周 2-3 天在家办公。

岗位可能不多,但可以试试,可以用邮箱直接发简历给我: [email protected]

供参考:此公司在前两年裁员了 400 人左右,长期合同给了 N+3 ,合同到期给了 N+1/或 N
13 薪,15 天年假,每月 1 天病假,年终奖大约 5-15%

US Team

Job Title Job Level Language
Full-stack Engineer Associate ~ Senior Associate Advanced English
Full-stack Engineer Manager ~ Senior Manager Advanced English

JD ( US ) 请点开链接查看图片
https://www.v2ex.com/i/sx2vBb0p.png

Japan Team

Job Title Job Level Language
GenAI Engineer Senior Associate Advanced Japanese/English
Full-stack Engineer Experienced Associate ~ Senior Associate Advanced English

JD(JP) 请点开链接查看图片
https://www.v2ex.com/i/J220o6kK.png