- 博客(65)
- 收藏
- 关注
原创 浏览器端模型推理:ONNX Runtime Web 与 WebGPU 后端
ONNX Runtime Web 的 WebGPU 后端,把 GPU 计算能力引入浏览器,使端侧推理在中等模型上达到可用延迟。核心机制是算子编译为 WGSL、数据全程驻留显存、shader 缓存复用。落地步骤如下。第一步,检测 navigator.gpu 可用性,规划回退链路。第二步,用 FP16 或 INT8 量化模型,控制显存占用。第三步,封装 SessionManager,处理加载并发与超时。第四步,实现预处理链路,保证数值一致性。第五步,页面加载后预热 session,提前编译 shader。
2026-07-28 13:37:00
原创 前端 XSS 防御:DOMPurify 与 CSP 的协同策略
XSS 防御的核心是纵深:DOMPurify 净化 HTML 结构,Trusted Types 强制 sink 类型,CSP 约束脚本执行。三者覆盖不同攻击路径,单独使用均有绕过面,协同使用才能形成完整防线。落地步骤如下。第一步,用 report-only 模式部署 CSP,收集现有违规数据。第二步,梳理内联脚本,迁移到 nonce 或外链。第三步,在所有 innerHTML 调用点接入 DOMPurify,按场景配置白名单。
2026-07-28 13:31:30
2
原创 大模型思考链的前端展示:流式渲染与折叠交互的工程化实践
推理模型的思考链展示,本质上是一个高频写入与有限渲染预算的矛盾。核心解法是把接收、分流、批量、渲染四层解耦,用状态机处理标签跨 chunk,用 requestAnimationFrame 锁定渲染频率,用增量渲染压缩重算范围。落地步骤如下。第一步,用 fetch 加 ReadableStream,替换 EventSource,获得 POST 与自定义 Header 能力。第二步,实现 StreamParser 状态机,把 reason 与 content 分流到两个 buffer。
2026-07-28 13:26:30
3
原创 多智能体博弈中的 NPC 协作:从独立决策到团队目标分解
多智能体博弈中的 NPC 协作,通过共享态势、团队目标分解与角色分配。把独立决策升级为有结构的团队行为。按血量近敌度排序分配主攻、侧翼与掩护,让队伍结构自然成型;局部协商用距离裁决资源归属避免争抢僵持。工程落地须给态势共享加感知半径与噪声、周期性重评防任务悬空、并为协商设超时兜底与队长强裁;同时以队长选举或去中心化消除单点脆性。算力上把决策降频、限制协商对手数,并按战场规模分级——小股用轻量规则、大军才上完整协作。协作让 NPC 从散沙变队伍,前提是通信、脆性与算力三道边界都被工程化兜住。
2026-07-28 13:22:00
11
原创 主机平台的 CPU 特性利用:从 SIMD 到 Job 系统的平台差异
主机平台的 CPU 特性利用,通过统一 Job 接口叠加运行时平台探测,把核数与 SIMD 宽度的差异收敛到可插拔的调度粒度与向量后端,实现"写一次逻辑、按平台适配"。启动期探测核数与向量宽度作为分派依据,同一算法按宽度走不同 intrinsics 后端、对尾部做标量收尾防越界。工程落地须按核数绑调度粒度防空转、按目标机最大宽度对齐内存防崩溃,并实测缓存供给避免宽向量空转;多份后端须逐一验证数值一致以防行为偏差。维护上用编译期分派收敛差异,跨主机移植的目标是让同一逻辑在三种硬件各达最优,抽象与实测缺一不可。
2026-07-28 13:18:30
2
原创 Next.js App Router 渲染策略:SSR、SSG 与 ISR 的混合落地
Next.js App Router 的混合渲染策略,核心是「按数据新鲜度分级渲染」。落地步骤为:首先梳理页面内各数据块的新鲜度需求,划分静态、准实时、实时三类;其次为静态块使用 SSG 与,为准实时块配置 ISR 与revalidate,为实时块使用 SSR 或 Streaming;接着把动态函数调用隔离到独立路由段或客户端组件,避免整页被强制动态化;然后为 ISR 配置按需失效机制,确保数据变更能主动反映;最后在自托管场景下显式实现分布式 CacheHandler,消除多实例缓存不一致。
2026-07-27 02:09:44
192
原创 AI 对话流性能调优:万级消息的虚拟滚动落地
AI 对话流的虚拟滚动落地,核心是「动态高度索引 + 流式锚定 + 测量稳定窗口」三件套。落地步骤为:首先建立基于消息类型分桶的预估高度模型,作为索引初始化基准;其次实现偏移量索引的二分查找,保证万级消息下的滚动定位性能;接着用 ResizeObserver 采集实测高度并回写索引,配合向前补偿消除滚动条抖动;然后实现流式输出的滚动锚定,保证用户阅读历史消息时新消息追加不抢占位置;最后补充应用内全文搜索与 ARIA 声明,弥补虚拟滚动对可访问性的削弱。
2026-07-27 02:05:24
167
原创 组件级响应式的破局:CSS 容器查询的工程落地与取舍
容器查询把响应式的判定基准从视口下沉到组件容器,是设计系统与可复用组件库的关键基础设施。落地步骤可归纳为:首先识别真正需要「按容器宽度自适应」的组件,避免滥用;其次优先使用,规避size的塌陷风险;再次用为容器命名,防止嵌套误匹配;接着通过@supports准备视口断点降级方案;最后对长列表场景做基准测试,确认样式重算开销在可接受范围内。容器查询不替代媒体查询,二者分工互补:媒体查询负责页面级骨架与全局视口策略,容器查询负责组件级细节自适应。
2026-07-27 02:02:24
204
原创 3D 资产生成的质量门禁:用几何与材质指标做自动化验收
3D 资产生成的质量门禁,通过几何合法性、UV 拉伸与材质规范三类可计算指标,在资产入库前自动拦截破面、翻法线、拉伸与撞色等隐性瑕疵,把美术的验收负担从全量人筛降到可疑递人。几何检查用边共享计数识别非流形、UV 用面积偏差度量拉伸,硬伤强制打回、软瑕疵标记人工修。工程落地须按资产尺寸设相对容差、以实际导出数据为准而非信生成器自检,且对"合法但丑"与风格不一致保留美术终审。算力上需分级初筛与批处理,避免验收加速器反成瓶颈。质量门禁的价值是用指标守住可用性底线,把人留给真正需要审美的环节。
2026-07-27 01:57:54
146
原创 端侧语音驱动的数字人:ASR 与 TTS 与表情绑定的低延迟管线
端侧语音驱动的数字人,通过把 ASR、轻量语义、TTS、音素对齐与表情绑定全链路本地化。实现毫秒级、与在线规模无关的低延迟交互。流式音素对齐让口型随 TTS 吐音实时流动,是压低感知延迟的核心;表情绑定叠加神态使数字人更鲜活。工程落地须让 ASR 也流式输出形成级联、用骨骼绑定替代简单缩放、并以轻量情绪估计驱动表情;同时以本地热词与置信度过滤抑制识别误差、用静音检测防错断句,并对碎片硬件做算力错峰与降级。端侧数字人的价值在于自然对话节奏,前提是把识别精度、断句与算力三难一并工程化兜住。
2026-07-27 01:54:14
192
原创 多模态 AI 前端工程——图像上传、压缩与流式返回的协同设计
多模态 AI 前端体验的核心是压缩、上传、流式三阶段的协同。通过限制最大边长压缩图片、按场景选择 Base64 内联或 multipart 上传、用 Fetch ReadableStream 解析 SSE,逐 token 渲染,能把首字节延迟压到最低,让用户尽早看到反馈。落地步骤分四步。第一步,实现图片压缩与编码,限制最大边长在 1024 到 1568 像素,质量 0.7 到 0.85,WebP 优先。第二步,根据图片大小选择传输方式,小图 Base64 内联,大图 multipart 上传换取 URL。
2026-07-26 18:37:38
177
原创 CSS Houdini Paint API 实战——自定义绘制与性能边界剖析
下面实现一个噪点纹理绘制器,演示从 Worklet 编写到主线程注册再到 CSS 使用的完整链路,并重点处理性能陷阱。// noise-paint.js —— Paint Worklet 模块// 为什么用 Worklet:在合成线程绘制,避免主线程卡顿// 为什么缓存随机值:paint 每帧调用,重新随机会导致噪点抖动闪烁// 预生成噪点表:模块加载时一次生成,paint 时只读取// 为什么用 Float32Array:比普通数组访问更快,内存连续i++) {
2026-07-26 18:31:27
134
原创 Function Calling 前端编排——错误恢复、重试与降级的工程化实践
Function Calling 在前端落地时,工具调用的失败恢复是体验成败的关键。核心思路是把失败分类处理:瞬时失败用指数退避重试,永久失败不重试直接降级,非幂等写操作禁止自动重试,连续失败用熔断器止损。落地步骤建议分三步走。第一步,实现错误分类器与指数退避,覆盖最常见的瞬时失败,这是投入产出比最高的部分。第二步,引入幂等性标记与降级函数,让非幂等操作有安全降级路径,避免链路中断。第三步,加入熔断器与自纠轮次限制,防止故障扩散和 Token 浪费。
2026-07-26 18:26:57
207
原创 大模型游戏剧情评测:用自动化指标抑制幻觉与 OOC 出戏
大模型游戏剧情评测通过实体一致性、OOC 与连贯性三类可计算指标,在文本入库前量化并拦截幻觉与角色失格,把策划的直觉不满转为工程可度量的质量闸门。实体以世界观状态为基准抓硬伤,OOC 按人设禁行清单守界,连贯性做轻量因果自检。工程落地须将三项加权成综合分并对硬伤强制打回、软疑点标记人工复核,且图谱与角色状态须与剧情进度实时同步防误杀;隐性失控需语义模型补位,并按内容重要性分级投入以控成本。评测是质量与成本的平衡术,目标是用最少算力拦住最致命的失控。
2026-07-26 18:21:27
157
原创 ECS 中的确定性随机与回放:让帧同步在 DOTS 上成立
ECS 中的确定性随机与回放,通过可控随机源、固定系统 tick 顺序与状态哈希校验,把 DOTS 世界钉死在可复现轨迹上。使帧同步得以成立并兼作反作弊验证。线性同余随机源保证同种子同序列、跨平台一致,回放重放输入比对哈希可定位确定性破损帧。工程落地须禁用非确定性容器遍历、以定点数或统一精度消除浮点跨架构误差,且状态哈希须覆盖所有同步相关组件。性能上逻辑层保确定性、渲染层放行非确定,并只把影响玩法的状态纳入同步集。确定性是手段而非目的,锁住"必须一致"的部分,帧同步与回放才真正可靠。
2026-07-26 18:16:37
185
原创 微前端隔离边界:qiankun 与 Module Federation 的取舍之道
微前端隔离的本质,是在“隔离强度”与“复用效率”之间做取舍。qiankun 选运行时沙箱,隔离强但复用弱;MF 选构建时共享,复用强但隔离弱。没有折中方案,只有按场景选边。落地步骤建议如下。第一步,评估技术栈异构程度,全栈统一优先 MF,异构优先 qiankun。第二步,qiankun 方案下,启用 experimentalStyleIsolation 而非 Shadow DOM,配置全局错误兜底与卸载清理。
2026-07-25 01:23:28
910
1
原创 前端 Prompt 工程化:模板版本管理与 A/B 评测的工程闭环
前端 Prompt 工程化的本质,是把“经验性调参”转化为“可度量、可灰度、可回滚”的工程闭环。核心是版本管理、变量契约、灰度分流、评测回路四件套。落地步骤建议如下。第一步,建立 Prompt 注册中心,统一存储模板与版本,前端先接入 stable 版本替换硬编码。第二步,定义变量契约与编译期校验,消除运行时变量缺失。第三步,实现哈希分桶的灰度分流,保证用户 sticky,配合超时降级到本地兜底。第四步,搭建离线评测集与自动评分管线,A/B 对比用业务指标而非模型自评。
2026-07-25 01:19:07
979
原创 Monorepo 构建缓存治理:pnpm 与 Turbo 的增量管线实践
Monorepo 构建缓存治理的本质,是把“重复劳动”转化为“内容寻址复用”。pnpm 在依赖层消除物理重复,Turbo 在任务层消除逻辑重复,两者协同形成增量管线。落地步骤建议如下。第一步,先迁移到 pnpm 加 workspace,验证依赖安装提速。第二步,引入 Turbo 做任务编排,先只配置 build 任务,观察缓存命中率。第三步,启用远程缓存,自建或用官方服务,配置签名与超时降级。第四步,建立缓存治理面板,监控命中率、存储体积、降级次数三项核心指标。
2026-07-25 01:16:07
973
原创 分层有限状态机与行为树的混合架构:化解复杂角色的行为僵局
分层有限状态机与行为树的混合架构,以外层 HFSM 管理宏观阶段转移、内层行为树处理阶段内精细决策。化解了复杂 NPC 既多面又精细的行为建模难题。外层仅用少量全局条件做阶段裁决保持可审计,内层解耦于阶段只做本层细决策,两层通过阶段枚举清晰分隔。工程落地须为阶段转移加最短停留防抖动、为行为树设失败回退防僵死,并在切换时触发钩子预载资源;同时克制外层阶段数量、配套执行路径可视化以防跨层调试困难。混合架构用结构清晰换取维护门槛,适合真正复杂的角色,简单 NPC 不必强行上双层。
2026-07-25 01:10:57
927
原创 程序化城市路网生成:基于 L-System 与网格约束
程序化城市路网以 L-System 的文法生长生成结构多样的路段,再用网格吸附与去重约束收口,产出连通、不重叠且留出可建街区的可用路网。确定性分叉把路网设计转为规则执行,栅格化与去重保证路直且无冲突。工程落地须做连通分量分析消除孤岛、用噪声扰动平衡规整与有机感,并限制生长轮次防组合爆炸;超大地图需分块生成再融合边界。程序化路网的价值是用参数换规模,前提是把连通性、风格与算力都约束住,生成的城市才真的能跑车、能盖楼。
2026-07-25 01:06:57
934
原创 流式输出的渲染预算:节流与批量提交的工程化治理
大模型流式输出的前端渲染预算治理,核心是把高频 token 流收束到渲染节奏内。浏览器一帧预算约 16.67 毫秒,分给 JS、样式、布局、绘制与合成,流式 setState 在一帧内触发数十次更新会透支预算导致丢帧。治理链路以为节流对齐基准,生产端只写缓冲、消费端按帧整批提交,一帧一次 reconcile;背压检测在缓冲超限时通知上游降速或降级渲染,防内存膨胀;markdown 解析走增量缓存,按前缀复用降低单次解析成本。落地步骤分四步。第一步,引入push写缓冲,rAF 回调内整批commit。
2026-07-24 14:23:55
186
原创 React 组件库的 Tree Shaking:按需加载与副作用的工程化治理
React 组件库的 Tree Shaking 治理由三件事支撑:模块格式 ESM 化让打包器可静态分析,显式声明让打包器敢删,按需入口清晰让业务方引用对应可摇子模块。ESM 声明式importexport在编译期可确定依赖图,未用导出被标记删除;CommonJS 的require是运行时表达式,打包器无法静态判断,只能全量保留,因此库必须以 ESM 发布。是第二道开关,false或精确白名单让打包器放心摇,但须与实际代码逐一核对,CSS 与 polyfill 进白名单,其余置false。
2026-07-24 14:19:24
174
1
原创 多轮对话的前端状态机:上下文窗口与轮次的工程化治理
多轮对话前端治理的核心是两件事:用有限状态机把轮次生命周期显式化,用上下文窗口策略把请求载荷压到预算内。状态机以四态与显式守卫,从入口拦截流叠加,以轮次 ID 比对防护幽灵轮次污染,以支持取消与退避重试。上下文裁剪按系统提示加最近 N 轮的滑动窗口组织,超预算部分走后端摘要,前端只持占位与近期原文。落地步骤分四步。第一步,盘点对话状态与事件,画出迁移图并定义守卫,非idle拒绝send。第二步,实现状态机与轮次 ID 竞态防护,abort静默回idle,429/5xx 指数退避,4xx 抛出交 UI。
2026-07-24 14:14:44
225
原创 移动端 NPC 行为推理的端侧部署:从模型裁剪到 TFLite 落地
移动端 NPC 行为推理的端侧部署,通过剪枝与 INT8 量化把模型压进手机算力边界,再以 TFLite 落地并以帧对齐调度维持决策稳定。量化缩减体积与算力是前提,时间预算调度以"偶尔降频"换"绝不卡顿"。工程落地须以真机耗时标定预算、做精度回流验证防边界误判、限长缓冲防决策滞后,并对碎片硬件建机型分级与 CPU 回退。发热需靠降频与错峰抑制,敏感决策保留高精度或云端兜底。端侧 NPC 智能的价值在于毫秒级、与在线规模无关的决策,前提是把精度、发热与异构都工程化兜住。
2026-07-24 14:09:35
202
4
原创 移动端 GPU 带宽优化:从纹理压缩到带宽计量
移动端 GPU 带宽优化通过纹理压缩、格式降精度与 Early-Z 等手段,削减绘制中反复搬运的数据量,并以带宽计量把收益量化。估算模型把分辨率、像素精度、MSAA 与绘制次数纳入计算,格式选择按内容频率分级平衡质量与带宽。工程落地须以真机计数器校准估算、按最低目标机定格式基线并做渐进增强,且对关键资产做视觉抽检防压缩失真。优化要看端到端帧时间而非单看带宽,并设画质下限防止过度压缩反噬。带宽治理是移动画质与帧率的平衡术,须持续度量。
2026-07-24 14:03:55
209
原创 Core Web Vitals 闭环:LCP/INP/CLS 的前端监控落地
Core Web Vitals 的工程价值在于将用户体验从主观感受转化为可量化的指标。LCP、INP、CLS 三指标分别覆盖加载、交互、视觉稳定三个维度。配合web-vitals库的归因数据,可精确定位性能瓶颈的具体阶段与责任元素。接入采集:引入web-vitals库,封装监控 SDK,注册 LCP、INP、CLS、TTFB 四个指标的监听。归因采集:使用 attribution 版本,记录指标对应的元素、URL、加载阶段,为后端分析提供数据。采样分层。
2026-07-23 07:29:45
179
4
原创 浏览器内 LLM 推理:WebGPU 量化模型与推理管线搭建
WebGPU 为浏览器内 LLM 推理提供了可行的算力底座。int4 量化则让 1B 至 3B 参数模型在消费级设备上稳定运行成为可能。其工程价值集中在隐私合规、离线可用、零 token 成本三个维度,而非算力或精度的对标云端。能力检测:在产品入口检测与 adapter 可用性,明确告知用户是否启用 WebGPU。模型选型:优先选择 1B 以下、已有 int4 ONNX 量化版本的开源模型,如 SmolLM2、Qwen2.5-0.5B。回退策略。
2026-07-23 07:23:15
163
12
原创 场景图膨胀与 Draw Call 爆炸:Three.js InstancedMesh 的工程化破局
Three.js 的 InstancedMesh 通过 GPU 实例化将同构对象的 Draw Call 从 N 压缩到 1,是前端三维可视化场景突破渲染瓶颈的关键手段。其核心机制是:几何体顶点数据上传一次,实例矩阵存储于独立缓冲区,GPU 在单次 Draw Call 内根据实例索引复用顶点数据。评估必要性:通过 Chrome Performance 面板测量当前场景的 Draw Call 数量与主线程耗时,确认瓶颈确在 Draw Call 而非片元填充或 JS 逻辑。容量规划。
2026-07-23 07:17:44
199
原创 剧情知识图谱驱动的 NPC 动态对话:从意图识别到可信生成
剧情知识图谱驱动的 NPC 对话,通过把世界观与剧情进度结构化为检索与过滤底座。让大模型在受约束的前提下自然应答。意图识别、图谱检索、提示组装与后校验四段构成主流程,图谱按剧情幕过滤事实从源头防泄密。后校验以禁词扫描做兜底拦截。工程落地须将披露时点与剧情进度联动、对兜底话术做多样化、并由单一数据源维护图谱以防漂移;隐性歪曲需靠事实一致性比对补防,唯有把"自然"与"守界"同时工程化,NPC 对话才能既活又可信。
2026-07-23 07:13:14
255
原创 权威服务器下的反作弊:从输入校验到状态可重放审计
权威服务器反作弊的核心是"客户端只请求、服务器唯裁决",通过输入合法性校验在状态生效前拦截越界报文。并用哈希链状态快照支撑事后可重放审计。其代价是操作延迟需靠预测与和解掩盖、频率校验需设容忍窗口以防误杀正常玩家、以及全量模拟带来的服务端算力压力需借兴趣管理降本。工程落地须把异常计数与阶梯封禁联动,哈希链落盘支撑复盘,且校验阈值随玩法持续调参。唯有把信任边界、体验与成本一起设计,反作弊才既稳又不被玩家感知。
2026-07-23 07:09:34
538
原创 Agent 前端交互:工具调用的可视化与中断恢复机制
Agent 前端工具调用可视化的核心,是把后端多步执行建模成"事件流驱动状态机、检查点支撑中断恢复"的双层结构。事件按stepIndex有序写入并做幂等去重,检查点全量持久化到 IndexedDB 支持断点续传,SSE 断连用指数退避重连并从最后 stepIndex 续传。工程落地的关键步骤包括:用纯函数 reducer 保证状态可重放,恢复时先读检查点再建 SSE 避免空白闪烁,用户主动中断时 abort 并置 paused 态,敏感信息展示前脱敏。
2026-07-22 09:59:49
644
原创 ECharts 大数据量渲染:增量加载与 WebGL 模式的工程取舍
ECharts 大数据量渲染的优化分两条路径:增量加载用appendData分片喂入并把"秒级卡死"换成"渐进可见",WebGL 模式把顶点绘制卸载到 GPU 突破 Canvas 2D 的性能天花板。工程落地的关键步骤包括:先埋点分离数据处理与绘制耗时以定位瓶颈,数据预处理做 LTTB 降采样,渲染模式由运行时探测决定而非硬编码,增量加载每片让出一帧并配超时降级,销毁时调用 dispose 释放显存。
2026-07-22 09:56:19
579
3
原创 RAG 前端交互:引用溯源与上下文片段的高保真渲染
RAG 前端引用溯源的核心,是把模型输出从"置信黑盒"解构为"答案 + 锚点 + 片段"的复合结构,并通过强映射、弱映射、未解析三态呈现让用户区分可信度。工程落地的关键步骤包括:用ref持有流式缓冲并按锚点边界增量解析,用Map做 O(1) 片段查找,对无匹配 id 显式返回null而非静默丢弃,并为 SSE 断连、片段去重、hover 抖动设计显式应对。引用溯源的覆盖率受模型标注稳定性限制,强映射比例通常为 60%-80%,剩余需用户判断;多模态片段要求渲染层插件化;
2026-07-22 09:52:49
559
原创 从文本提示到可交互道具:AIGC 生成游戏资产的语义对齐与合规校验
AIGC 接入游戏资产管线,靠的是把"描述即生产"转化为可审计的语义对齐与合规校验链路。意图解析、生成、结构重建与语义校验四段构成主流程,对齐度评分以结构化约束为基准驱动自动放行或回退。合规标记对原始资产做哈希留痕并拦截版权不明者。工程落地须设对齐阈值并结合美术抽检,版权存疑资产一律不入库,且为生成设预算上限以抑制成本膨胀。唯有把对齐与合规都量化,生成式资产才能稳定进入引擎生产。
2026-07-22 09:48:09
789
原创 内存分配器与 GC 停顿:游戏运行时的隐形帧率杀手
游戏运行时内存管理通过帧分配器与对象池把每帧分配降到趋近于零,消除由频繁分配与 GC 引发的隐形停顿。其代价是分配器维护的复杂度、对象池只增不减的内存膨胀、以及跨语言托管侧 GC 难以被原生分配器覆盖。工程落地须为帧分配器设上限并在越界时告警,对象池须重置防脏状态并设收缩上限,且同时治理原生与托管两侧的内存。配套的内存追踪工具是定位泄漏与碎片的必需基础设施,不能缺位。
2026-07-22 09:43:29
542
原创 D3 力导向图的性能拐点:从 SVG 到 Canvas 的降级路径与实测
D3 力导向图的性能瓶颈在渲染管线,不在算法。SVG 每帧触发全量 Layout,是帧率崩溃的根因。Canvas 跳过 Layout,性能提升一到两个数量级。降级路径按节点数划分。500 以下用 SVG,保留交互与无障碍。500 到 5000 用 Canvas,配离屏缓存与 rAF 节流。5000 以上考虑 WebGL 或采样降密度。阈值基于实际机型基准测试调整。落地把握四个关键。第一,离屏缓存节点精灵,主循环只 drawImage。这是万节点流畅的核心。第二,rAF 节流,渲染与刷新率对齐。
2026-07-21 23:55:04
214
5
原创 LLM API 前端鉴权设计:密钥托管、代理转发与防泄露的三重防线
LLM 前端鉴权的核心原则是密钥不下发。前端持短时令牌,网关持真 Key。三层信任边界把泄露面压缩到分钟级。落地分四步。第一,密钥托管到 Secret Manager 或受限环境变量,代码仓库不存 Key。第二,网关实现令牌签发与流式代理端点。关键点是把 selfHandleResponse 关掉,透传 SSE。第三,前端实现令牌缓存与并发合并刷新。提前 60 秒判定过期,避免临界态失败。第四,加配额预扣与限流。按用户限流,按 token 预扣额度。性能与安全的权衡要前置评估。
2026-07-21 23:49:54
210
2
原创 Vue 3 响应式内核剖析:Proxy 依赖收集与副作用调度的工程实现
Vue 3 响应式内核由三部分构成。Proxy 负责拦截读写。track 与 trigger 借助三层 WeakMap-Map-Set 结构,建立属性与副作用的映射。effect 栈与 cleanup 共同维护正确的依赖归属。落地时把握三个关键。第一,依赖存储用 WeakMap,让对象销毁时依赖自动回收,但 effect 闭包内的强引用需用 stop 主动清理。第二,trigger 遍历前复制 Set,避免 cleanup 边删边遍历的跳项。
2026-07-21 23:44:33
229
原创 程序化植被散布:泊松采样与生态分布约束
程序化植被散布以泊松盘采样生成均匀不扎堆的落点,并依地形生态权重选物种,把自然感以规则化方式种入开放世界。其代价是密度失控压垮帧率、物种过多导致实例化批次数膨胀、以及纯规则分布缺乏自然意外感。工程落地须让密度联动视距与实例化上限、远处用公告板降级,把物种归入有限材质桶控制批次,落点与地形高度图对齐防悬空,并以规则生成叠加少量手工关键点缀兼顾规模与自然。采样须固定种子以保证地形可复现。补充一句:上面这套我上线头一周就踩了坑,排查到凌晨三点,根因是配置漏了一项,照抄前先把清单过一遍。
2026-07-21 23:40:13
162
3
原创 断线重连:状态追平与输入历史重放的实现
断线重连通过快照下发与增量追平让客户端快速恢复一致状态,其工程难点在快照体积、追平延迟与安全防护。工程落地须以感兴趣区域裁剪快照并压缩、加校验和拒绝损坏数据,客户端加载时整体替换本地状态杜绝脏数据,增量按实体 ID 精确覆盖。重连接口必须严格鉴权与限频,且仅下发该玩家有权知晓的信息,防止成为战场状态泄露与伪造会话的攻击面。对局时长增长时应以增量补发为主,避免全量快照拖垮重连体验。
2026-07-21 23:34:53
216
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅