【共创稿事节】关卡进了源码,却对不上 JSON——回归不是再截一张图

从Notebook到生产环境:机器学习模型落地的七道关卡 机器学习模型部署不是简单启动API,而是涵盖数据契约、模型服务、流量治理与可观测性的系统工程。其核心在于将实验性代码转化为高可用、低延迟、可监控的生产服务,关键技术包括ONNX模型序列化、Triton推理服务器集成、Envoy流量治理及Pydantic数据校验。这些实践直面真实产线挑战:版本兼容性、GPU显存泄漏、首请求延迟、灰度发布风险与K8s滚动更新故障。本文聚焦ML模型从本地Notebook迈向稳定Production的关键路径,覆盖模型导出、容器化、健康检查、日志规范、错误码体系及混沌演练等硬核环节 阅读详情

改完引擎或关卡,有人只丢一张通关截图过来。我要的是可执行的红绿:规则单测有没有跑,shipped 的 levels.cj 是否还等于生成器吐出的那份。

约定写在纸上不够。它得变成 test_rules.py 里可执行的断言,以及 build_levels.py 发现偷懒时直接打回。

这篇只谈回归工程我怎么卡住——规格、同步、打回句。规则层三条约定的定义不在这里重复。

回归管线服务的仍是这款纯仓颉手机游戏;早前迁移线上「仓颉 + ArkTS」的混编边界,不在这篇展开。

这是驿路回归这一段我正在用的卡法,不是所有仓颉仓的测试宪法。第一次先把「只交截图」挡掉,换成要红绿日志;已经有自己 executable spec 的,欢迎拿断言切法和我对一对。

我把回归入口写进日常命令:改引擎先跑规则单测;改关先改 JSON 再 emit,再跑「shipped == generated」;通关类测试用求解器路径喂 try_step,避免「有解但步进拒绝」漏网。Agent 若只交截图,我会要红绿日志。

第一次先做的,是改引擎跑 test_rules、改关先改 JSON 再 emit,并盯「shipped == generated」;Agent 只交通关截图时,要红绿日志,不收图。

test_rules.py:可执行规格,不是说明文档

文件头写得很硬:这是 executable spec;Cangjie 实现若与这些行为 disagreement,默认 Cangjie 错,除非先改 spec。镜像的是引擎与 Zip 巡逻层:格子边界、正交邻居(曼哈顿距离为 1)、墙阻挡、can_enter / try_step(含拖回即 undo)。

断言实际压什么(比复述约定定义有用):

  • 触点映射:中心格映射;越界拒绝(test_rejects_outside)。

  • 巡逻规则:必须从 1 起;拒对角;拒墙;拖回 undo;按钮 undo/clear;拒重访;拒跳号。

  • 出货关通关:求解器路径逐步 try_step 为真并最终胜利(教程长安尺寸有 timeout 例外要记账)。

  • 目录同步:levels.cj 文本必须等于从 levels.json emit 的结果——断言句就是 levels.cj must be emitted from levels.json。

  • 另有 UI 文案 / theme token:回归不止规则一层。

优点:规则对象与 UI 脱钩后,CI/本机都能红绿;Agent 改引擎,我这边要求先过这张网。缺点:spec 与实现双写时,人要守「先改谁」;只跑求解器不跑 try_step 通关,会漏「路径存在但步进拒绝」。

build_levels.py:同步规则我先卡在「不通过就停」上

脚本职责极窄:从 resources/rawfile/levels.json 生成 entry/src/main/cangjie/levels.cj。不发明关;教程长安 6×8 置顶;emit 头注释写明 Generated from JSON、勿手改发明。

load_verified 的「不通过就停」比口号管用:

  • 教程 waypoints 被改 → 不让 emit

  • 站名表与预期不一致 → 不让 emit

  • 错字站名(如「汽梁」)→ 不让 emit,要求正确站名

同步规则我这边先卡住:改关先改 JSON,再跑脚本;脚本绿不等于 HAP 绿——这两层验收分开记账。求解侧另有「source of truth for ship-or-reject」心智:能不能出货,先看验证表与 emit,不看「我手写了一份很像的字面量」。

优点:坏坐标、坏墙、错站名在生成期炸。缺点:多一步同步;Agent 最爱跳过脚本直接改 .cj——正是下面打回句要挡的。

偷懒形态 → 打回句

不讲约定条文,只讲看见什么、回什么:

  • 规则塞进 onTouch / 引擎 import Canvas → 「GridMap import 含 UI → 打回」

  • 「先让手指能动」双写规则 → 「步进是否仍唯一入口」

  • 手写「看起来像」的 levels.cj → 禁令 1

  • 跳过求解器直接改字面量 → 禁令 2

  • 「JSON 里有文件」偷换成「应用已加载」 → 禁令 3

  • 按 ArkTS(鸿蒙默认应用语言)文档填 Canvas 方法名 → 「脚手架熟 ≠ 验收约定熟」

  • 「棋盘很漂亮、编号走不通」 → 「规则又溜回触摸回调」

优点:打回句短,适合写进 session goal / memories。缺点:人要真用这些句子打断;只会赞「画出来了」,回归网等于没挂。把打回句与 test_rules 失败信息并排看更有效——测试红了补实现;测试绿但约定被偷懒,用打回句补人审。

和驿路篇的关系(只回指概念,不加系列链接)

概念见驿路篇三条约定标题即可。这篇落地的是:unittest 压 GridMap/canEnter 行为、emit 字节级同步、assertEqual(shipped, generated) 一类可跑断言。CJMP(跨平台框架)本案例未用——一句边界,不做框架安利。

收束

目前我这样做:test_rules.py 当 executable spec;build_levels.py 验证失败就停 emit;偷懒形态对着打回句;通关类用求解器路径喂 try_step;脚本绿与 HAP 绿分账。目前我认:规则约定要变成红绿,才算进工程。

仍待验证:spec 与 Cangjie 实现双写时「先改谁」的纪律能不能自动化;教程长安 timeout 例外要不要单独记账字段;UI 文案 / theme token 回归是否该拆成第二张网。

抛出问题:executable spec 默认「实现错、除非先改 spec」,在多 Agent 仓库里会不会反而鼓励改 spec 逃课?只收红绿、不收截图,观感类验收(章皮 / 半身)你放在哪一层,才不会和规则网搅糊?

DOM型XSS靶场实战:从原理到绕过的8个关卡深度解析 跨站脚本攻击(XSS)是Web安全领域的核心漏洞类型,其本质在于恶意脚本在用户浏览器中被执行。DOM型XSS作为XSS的一种,其特殊性在于攻击完全在客户端完成,不经过服务器交互,这使得其检测和防御思路与传统反射型、存储型XSS有显著差异。理解其原理对前端安全至关重要。本文聚焦DOM型XSS的实战复现,通过搭建本地靶场环境,深入剖析`innerHTML`、`document.write`、`eval`等危险函数如何引入漏洞,并详解如何利用`location.hash`、事件处理器逃逸、编码绕过及DOM Clo 阅读详情

相关推荐

Cursor实战案例-游戏与媒体-70-文字冒险求生游戏:基于Python和JSON关卡配置的量化交易题材RPG游戏

在 RPG 剧情游戏与人机交互式系统设计中,如何编写分支繁密、数值联动复杂的剧情跳转是一个技术难点。传统的做法会导致代码中充斥着成千上万行难以维护的 `if-else` 逻辑嵌套。本案例针对此痛点,采用**数据驱动设计 (Data-Driven Design)** 理念,设计并实现了一个基于 Python 引擎与外部 JSON 状态树路由的“量化交易员生存冒险”文字 RPG 游戏。游戏的所有关卡跳转、玩家决策分支以及资产、压力值等数值联动全量配置在 JSON 文件中。读完本文,您将能够掌握数据与引擎解耦架构

yueyeguzhuo的专栏 13

行为指纹驱动的实时关卡生成技术解析

程序化关卡生成是游戏开发中提升内容生产效率的基础技术,其核心在于将设计规则转化为可计算、可迭代的逻辑系统。传统方法依赖静态模板与随机算法,而新一代技术如行为指纹建模与实时设计决策流,使生成过程能动态响应玩家操作习惯,实现从‘画图式生成’到‘逻辑编译式生成’的范式跃迁。该技术融合玩家行为风格识别、轻量级约束求解与增量式场景更新,显著提升关卡适配性与可玩性。在独立开发、设计教学、无障碍适配及自动化测试等场景中已展现工程落地价值。本文聚焦Real-time Level Generation与Behavioral

weixin_34122810的博客 403

UE插件开发实战:从相机遍历到批量截图与JSON清单的自动化管线

在游戏开发与关卡验收中,自动化工具能显著提升重复任务的执行效率。虚幻引擎(Unreal Engine)作为行业主流引擎,其插件架构允许开发者将相机遍历、截图调度与元数据输出封装为可复用模块。本文从运行时与编辑器模块的拆分原理出发,解析如何通过C++实现串行截图队列,利用Tag过滤相机并生成包含坐标、FOV、渲染时间的manifest.json清单。该工具适用于关卡验收、自动化测试、序列帧导出等场景,也可作为学习UE插件工程结构的入门样例。围绕批量截图与元数据输出,提供一套可直接嵌入工程的实现思路。

weixin_29011239的博客 302

当回归不只是截图:JSON数据校验与关卡配置防脱节实践

在软件开发中,回归测试用于确认已有功能未被新改动破坏,但传统视觉回归只比对渲染截图,无法发现代码与配置数据之间的契约断裂。当源码新增关卡而对应JSON配置未同步时,编译仍可成功,运行时却因字段缺失、类型变化或ID不匹配而出现功能异常。为此,工程实践常引入JSON Schema对配置结构进行约束校验,确保必填字段、数据类型和枚举范围符合代码预期;同时通过脚本对代码枚举与JSON配置ID进行双向对账,并构建数据回归流水线,在CI阶段自动拦截“关卡进了源码却对不上JSON”的问题。本文结合关卡配置场景,系统讲解配

weixin_28826545的博客 257

Discuz IIS上传附件大于28M失败报错Upload Failed.修改maxAllowedContentLength(图文教程)

下图:Discuz X3.5的系统信息,上传许可为1024MB(1GB)论坛为局域网论坛,仅供内部同事交流使用!使用官方最新的Discuz! X3.5 Release 20231221 UTF-8 下图:选择上传附件(提示可以最大上传100M) 下图:模拟上传84M的文件(

骚团长的博客 1827

AI人工智能领域多模态大模型的数字孪生应用

本文旨在系统性地介绍多模态大模型在数字孪生领域的最新应用进展,探讨其技术原理、实现方法和应用价值。内容范围涵盖从基础概念到前沿技术,从理论分析到实践案例。文章首先介绍多模态大模型和数字孪生的基本概念,然后深入分析两者的结合点,接着通过具体案例展示应用实践,最后探讨未来发展趋势和挑战。多模态大模型:能够同时处理和融合多种数据模态(如文本、图像、视频、音频等)的大型人工智能模型数字孪生:物理实体或系统的虚拟副本,通过实时数据同步实现虚实交互跨模态融合:将不同数据模态的信息进行有效整合和关联的技术。

AI云原生与云计算技术学院 1323

ArkTS源码驱动的JSON回归测试实践

JSON回归测试是一种基于应用状态契约的自动化验证方法,其核心原理是将前端组件的状态结构(如ArkTS中的@State、@Prop)序列化为标准化JSON,并与预设基线进行语义级比对。相比截图比对,它规避了像素漂移、主题适配和状态不可见等结构性缺陷,显著提升UI自动化测试的准确率与可维护性。技术价值体现在精准定位字段级变更、支持Spock风格声明式断言、无缝集成CI/CD门禁。典型应用场景包括HarmonyOS原生应用的状态一致性校验、跨模块通信契约保障及API响应结构收敛。本文聚焦ArkTS生态下JSON

weixin_33859135的博客 260

Allegro中调整差分对等长的步骤介绍

【代码】Allegro中调整差分对等长的步骤介绍。

qq_30882617的博客 3831

ArkTS源码级JSON回归验证:告别截图比对

在跨端开发中,JSON作为前后端数据交换的核心载体,其结构与类型的稳定性直接决定应用逻辑正确性。然而运行时JSON契约漂移、中间件隐式修改、ArkTS装饰器隐式转换等问题,使传统截图比对失效——UI渲染正常不等于数据可信。源码级JSON回归通过网络层抓包、状态层快照、运行时Schema校验(如Zod)、流量驱动的Spock契约验证四层穿透,将数据验证左移至代码与构建环节。该方案尤其适用于鸿蒙生态下强交互场景(如游戏、教育类App),兼顾TypeScript类型安全与运行时数据可控性,实现从‘视觉回归’到‘契

weixin_32349561的博客 199

推荐系统:NDCG评价指标及其Python实现方法

除了推荐任务,在二分类任务中,也可以计算该指标,代码如下: # ndcg def get_dcg(y_pred, y_true, k): #注意y_pred与y_true必须是一一对应的,并且y_pred越大越接近label=1(用相关性的说法就是,与label=1越相关) df = pd.DataFrame({"y_pred":y_pred, "y_true":y_true}) ...

lanyuelvyun的博客 8240

从部署到养成:Hermes智能体接入DeepSeek与微信机器人的完整实战指南

智能体(Agent)正成为大模型从“对话”走向“行动”的关键形态。它通过拆解指令、调用工具、执行任务,让AI真正参与工作流。Hermes作为可本地部署的开源智能体框架,支持接入DeepSeek等主流大模型,并提供网关、工具调用、记忆管理等模块化能力。从Docker容器部署到微信机器人桥接,从自动化定时任务到Computer Use桌面控制,Hermes将个人助理从概念落地为可运行的工程系统。本文基于真实实践,梳理架构原理、部署流程、API配置与高频故障排查,为技术玩家提供一套从零到一的上手指南。

weixin_29045001的博客 263

游戏开发中源码与JSON配置脱节:从截图回归到数据校验的实战指南

在数据驱动的游戏开发中,源码与JSON配置之间的隐性契约是保证关卡逻辑正确运行的关键。一旦源码新增字段或修改枚举,而配置未同步更新,反序列化库的宽容特性会导致默认值静默覆盖,引发掉落表清空、怪物刷新异常等难以察觉的bug。传统截图回归仅能验证渲染结果,无法捕获数据层的错误。本文从反序列化原理出发,介绍如何通过JSON Schema结构校验、业务引用断言及纯逻辑仿真,将数据回归测试接入CI流水线,在提交阶段自动拦截配置与源码不一致的问题,同时提供一份可直接落地的关卡回归检查清单,帮助团队从视觉验证转向数据流验

weixin_33606346的博客 315

figma MCP + cursor如何将设计稿生成前端页面

Figma MCP配置与代码生成指南 本文详细介绍了如何在Cursor中配置Figma MCP(多上下文处理器)的完整流程:从获取Figma API密钥、设置MCP服务器配置,到添加代码生成规则。关键步骤包括生成Figm a个人访问令牌、配置cursor settings文件、启用MCP服务,以及设置代码规则(包含TypeScript/Vue技术栈规范、BEM命名规则等)。最后提供了将Figma设计稿转化为Vue页面的prompt模板,涵盖文件结构、图片处理、样式规范等具体要求,确保生成代码与设计稿高度一致

weixin_45644355的博客 2905

JSON契约驱动的关卡配置验证:从build_levels.py到ArkTS的全链路校验

JSON作为前后端数据交互的核心载体,其结构一致性直接决定业务逻辑正确性。本文围绕JSON Schema定义、生成、校验与解析四大环节,深入剖析Python脚本动态生成JSON时的字段失真、类型错位与嵌套异常等典型问题;结合Spock框架实现可执行的契约声明式校验,强化测试即规范的工程实践;并在ArkTS运行时构建类型安全的解析防火墙,防范NaN、空字符串及字段缺失引发的静默失败。该方法广泛适用于游戏关卡、短剧分集、TVBox源配置等强数据契约场景,为JSON驱动型应用提供可落地的自动化回归方案。

weixin_34026997的博客 210

利用人工神经网络在Abaqus中实现本构模型的网格粗化计算框架:详细指南与实践

在这篇文章中,我们详细介绍了如何在Abaqus中实现基于人工神经网络(ANN)的本构模型以进行网格粗化的计算框架。我们通过两个主要模块——数据生成器模块和ANN训练模块,实现了这一计算框架,并将训练好的ANN集成到Abaqus的用户材料子程序(UMAT)中,创建了一个基于ANN的本构模型。我希望这篇文章能帮助到那些希望在Abaqus中实现基于ANN的本构模型的读者,同时,我也非常欢迎大家提出宝贵的意见和建议,让我们共同进步。

qq_38334677的博客 1714

基于生存结局(生存分析/COX回归)的中介效应分析

① 建立观察变量OVB和中介变量MVB的回归模型(注意:这里根据mediation包的介绍,需要构建的是probit模型,而不是logist回归模型,网上有很多的代码用的logistic回归,结果自己跑的时候发现报错,我在这里陷了很久;为了方便演示,我们生成了一个协变量(Age)、一个连续型观察变量(liaOVC)、一个二分类观察变量(OVB)、一个连续型中介变量(MVC)、一个二分类中介变量(MVB)以及最后的结局变量(生存时间[time],生存结局[stats])。

m0_61863309的博客 1万+

Agentic 测试指南:从单函数用例到全量回归的 3 个关卡

Agentic 是一款适用于任意 LLM 与 TypeScript AI SDK 的 AI 代理标准库。当你准备改一个工具函数、或给某个 SDK 加一层集成时,怎么确认自己没把既有行为改坏?这个仓库的 Agentic 测试策略不是单一框架,而是一套按使用场景分层的检查关卡。 [![Agentic 测试体系的项目头图](https://raw.gitcode.com/GitHub_Trending

gitblog_07860的博客 393

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Stable-Dreamfusion 文字转3D 实战:一条命令生成可导出网格的3D模型

Stable-Dreamfusion 用 Stable Diffusion 驱动 NeRF,把一段英文文字描述或一张参考图,训练成可 360° 环绕查看的 3D 模型,还能导出带贴图的 obj 网格。它适合想快速出 3D 概念资产的游戏开发者、3D 打印玩家,以及第一次接触文字转3D 的普通用户,一台 CUDA 显卡就能跑起来。 ## 🎬 先睹为快:多角度查看生成效果 [![文字转3D 生成

gitblog_00091的博客 489

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Notebook到生产环境的七道工程关卡:MLOps端到端交付实战

机器学习模型从开发到上线,本质是‘实验确定性’向‘生产可靠性’的范式跃迁。其核心原理在于解耦代码、环境、服务与观测四层治理结构,通过类型化函数封装、ONNX/TorchScript模型序列化、哈希锁定的Docker构建、gRPC契约接口、语义化健康探针等工程手段,保障模型在高并发、长周期、强合规场景下的稳定交付。技术价值体现在SLA可承诺(如P95延迟≤150ms)、故障可归因(结构化日志+全链路追踪)、变更可审计(配置即代码+版本化ConfigMap)。典型应用于金融风控、电商CTR预测、工业预测性维护等

diaoju3333的博客 505

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

REA 逆向工程社区贡献指南:快速找到入口、过质量关卡、避开新手坑

REA(Reverse Engineer Anything)是一个让 AI 代理完成逆向工程的开源项目:把 Hopper、Ghidra、浏览器、.NET 等工具统一成一套 MCP 工具集(MCP 即 Model Context Protocol,让模型调用外部工具的协议),由社区共同维护。读完这篇指南,你能直接回答四个问题:去哪交流?从哪下手?提交前要过哪几关?哪些坑不能踩?——并且拿到一个"今天

gitblog_01184的博客 168

Label Studio 源码跑起来三关速查:标注工具二次开发上手指南

服务起来了,浏览器打开 `localhost:8080` 却是一个光秃秃的骨架页——没有样式、没有按钮,控制台里前端资源 404 一路飘红。这是 Label Studio 源码开发新手最常撞上的第一堵墙:它的 Django 后端和 React 前端是两套独立进程,后端默认不会替你把前端构建出来,热重载(HMR)更得手动接线。搞清这一点,后面所有配置都不玄学。 ## 一图看懂:为什么值得自己从源码

gitblog_00883的博客 842

jsoneditor 内嵌 JSONLint 解析器全解:源码来源、浏览器内嵌策略与 JSON 语法校验实现

本文围绕 jsoneditor 项目中一个特殊而关键的资产——`src/js/assets/jsonlint/` 目录下的 `jsonlint.js`——展开:它既不是 jsoneditor 自研的代码,也不是通过 npm 安装的常规依赖,而是一份以"内嵌(vendored)"方式放进仓库的第三方 JSON 语法解析器。文章将说明它的来源与血统、被内嵌而非引用的原因、它内部如何基于 Jison 生

gitblog_00707的博客 394

JSON for Modern C++ 一致性合规透视:nativejson-benchmark 2016 一致性测试报告逐项解读

nlohmann/json(JSON for Modern C++)在其测试目录下保留了一批由 C/C++ JSON 库基准测试项目 nativejson-benchmark 导出的历史合规报告,其中 `tests/reports/2016-09-09-nativejson_benchmark/` 目录保存了 2016-09-09 生成的完整结果,本报告 `conformance_Nlohmann

gitblog_00250的博客 461

如何提升 LiteParse 对密集表格的还原度?源码级优化指南

本文以开源文档解析器 LiteParse 为例,带你从源码入手提升密集表格的解析还原度:从开启调试开关定位问题,到调整单元格拆分、列轨对齐等关键阈值,再到优化有框线表格检测,帮助你获得准确、可读的 Markdown 表格输出,让 RAG 与 LLM 管线拿到干净的结构化数据。 ## 一、密集表格还原度不高的三种常见症状 在调整任何参数之前,先确认你的文档属于哪一类问题,这决定了应该去源码的哪个

gitblog_01142的博客 813

PMD 开源贡献指南:从构建环境、Pull Request 到代码风格与回归测试的完整工作流

PMD 是一个可扩展的多语言静态代码分析器,覆盖 Java、Apex、JavaScript、Kotlin、Swift 等数十种语言,内置 400+ 规则,并附带 CPD 重复代码检测器。如果你希望修复某个规则的误报、新增一条规则、完善文档,或者只是首次接触这个项目的开源贡献流程,本文将以仓库根目录的 [CONTRIBUTING.md](https://link.gitcode.com/i/3819

gitblog_00074的博客 833

CC-Haha Computer Use 架构解析:从工具注册到 Python Bridge 的四道安全关卡

本文以 CC-Haha 内部文档 [Computer Use 架构](https://link.gitcode.com/i/48e68e13b231bd9cfd77f84643c65191) 为骨架,结合仓库源码系统拆解 Computer Use 模块:从模型发出一次点击,到鼠标真正动起来,中间隔着工具定义、授权检查、Python Bridge(Windows)/原生 Helper(macOS)与

gitblog_00418的博客 629
上一篇: 本周 GitHub 没有大爆款,但 Attention 完成了一次换位
下一篇: 9 月的 GitHub:Agent 开始「上班」,大盘结束三连跌
猛码象限
博客等级 码龄12年 5粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值