零知识证明如何为链上AI交易代理提供可信执行与可验证推理
1. 先聊一个现实问题链上的交易代理凭什么让人信任做DeFi的人都清楚链上环境是一个典型的零信任世界——代码公开、账本公开、人人可校验。但要在这个环境里跑一个AI交易代理事情就变得拧巴了。假设你在某个协议里部署了一个自动化策略根据行情数据、链上活跃度、资金费率这类信号模型给出加仓、减仓或者观望的判断然后路由到借贷协议或者DEX里执行。这个代理跑三个月、表现不错参与者也赚到了钱。但问题来了——用户凭什么确信你跑的那个“模型”就是你公开宣称的那个模型你说你在用某个神经网络做推理可实际上你完全可以在服务器上偷偷写死几条规则涨了就说看多、跌了就说看空反正用户看不到你服务端发生了什么。就算你人品没问题你的服务器被入侵、推理结果被替换用户同样发现不了。这就是zkML要解决的场景用零知识证明把“机器学习推理过程”变成可公开验证的计算完整性证明让链上的任何人都能验证“交易代理确实按照某个模型跑出了这个结果”但不需要把模型参数全部公开更不需要信任某个服务器。我把这套东西在模拟环境里实际搭了一遍做了一个可以提交链上信号的可验证交易代理原型。这篇文章把整个链路拆开讲清楚——为什么交易代理需要证明机制、零知识证明是怎么塞进机器学习推理里的、系统架构怎么设计、参数怎么选、有哪些坑是文档里不会写的。如果你想在DeFi里落地一个带可信背书的AI代理这篇可以直接当参考。先说清楚一个边界我不是在说“AI交易稳赚”也不是在讲某个具体协议怎么用zkML。我想聊的是底层工程问题——如何让一个链下运行的AI推理结果在链上获得可校验的可信度。这个问题搞明白之后换什么策略、换什么模型逻辑都一样。2. zkML到底在证明什么机制拆解很多文章喜欢直接甩定义但zkML的难点不在“零知识”这三个字而在“机器学习推理”这件事怎么变成一个可证明的数学对象。我先把这条链路从底层捋一遍。2.1 推理本身就是一次固定的计算过程机器学习模型的推理本质上就是一段确定的计算流程。拿一个最简化的线性模型举例score w1 * x1 w2 * x2 w3 * x3 b if score threshold: action increase else: action decrease把同样的输入丢进去模型权重不变那么输出永远一样。这就是“确定性计算”。一个神经网络再复杂无非是把这种计算组织成多层矩阵乘法和激活函数。换句话说推理不是黑魔法而是一个可以被写成指令序列的算术过程。这个特性至关重要因为零知识证明系统也只能处理“被展开成算术电路的计算过程”。如果AI推理是确定性的那它就能被电路描述如果电路能被描述它就能被证明。2.2 把模型和推理变成算术电路所谓算术电路就是把计算过程拆成一行行的加法和乘法。比如y w1 * x1 w2 * x2可以拆成两步t1 w1 * x1 t2 w2 * x2 y t1 t2每一条指令都变成电路里的一个门乘法门、加法门。神经网络里的卷积、全连接层、ReLU激活本质上也是一层层的乘法和加法组合ReLU这类不可导的分段函数可以拆成“当输入大于0取本身否则取0”的比较逻辑再电路化。关键点在这里模型权重、输入特征、中间结果、最终输出所有这些变量都变成电路里的“导线值”。证明者知道这些值验证者只信证明不看值。2.3 公开输入、私有输入、证明和验证一个zkML系统里有两类数据公开输入public input链上所有人都能看到的。比如当时的时间戳、链上行情快照的哈希、模型版本号、最终的交易动作加仓/减仓/观望。私有输入private witness证明者不想公开的。通常是模型权重、部分内部特征、可能还有关键中间结果。证明者要做的事情是拿着私有输入和公开输入完整执行一遍电路把全部中间值记录下来生成一个零知识证明。验证者拿到这个证明和公开输入几毫秒到几秒钟就能确认两件事证明者确实执行了那条电路电路的最终输出和公开声明的结果一致。但验证者完全不知道中间发生了什么不知道权重具体是多少。用大白话讲一次我想证明“我按某套规矩算出了这个数”但我不想把规矩本身告诉全世界。我只需要给一个数学印章让别人盖一下章就能确信我守规矩了。2.4 一个容易被误解的点很多人以为zkML是在证明“我的模型预测得准”不是的。ZK证明只保证“计算过程没有作弊”不保证“模型本身在市场上有效”。模型选得好不好、市场环境变没变这是另一回事。一个完全过拟合的历史模型照样可以产出合法证明——它证明的只是“你确实用它算了”而不是“它算得对”。所以做zkML交易代理时要把“计算守信”和“策略有效”拆开考虑。你可以用ZK保证前者后者只能靠模型本身的质量、回测和风控来把关。这个认知差异会影响你整套系统的产品定位——你是卖“模型可信”还是卖“收益保证”前者可以做后者无论技术上多牛都不该承诺。3. 可验证AI交易代理的系统架构设计理解了机制下一步是把它落到可运行的系统上。我把整个架构拆成五个模块逐一说明职责和关键设计决定。3.1 链下组件推理节点与证明生成器交易代理的实际推理运行在链下。原因很直接链上跑完整神经网络gas成本高到离谱而且模型参数上链等于模型完全公开。链下组件负责两大任务——推理节点监听链上数据源比如某个区块时间戳、某交易池的加权价格、某个借贷协议的清算线波动把原始数据清洗成模型输入特征。推理完成后得到交易动作。证明生成器把“特征输入模型权重推理动作”作为中间数据生成一份零知识证明。证明生成是整条链路里最重计算的一步需要比较高的CPU/内存配置。在这套系统里我把推理节点和证明生成器分开部署避免推理热路径被证明计算拖垮。3.2 链上组件验证合约链上有一个验证合约它的作用只有一个——验证证明是否有效。具体来说合约做的事情包括校验验证密钥和模型版本是否匹配检查公开输入是否正确绑定本次交易时间戳、数据哈希、动作执行验证函数确认零知识证明有效如果验证通过允许后续的交易执行逻辑比如跨协议调用、仓位调整继续跑。验证合约不应该直接负责交易执行应该把它当作一个“门禁模块”。这样设计的好处是将来换模型、换策略只要验证密钥更新不需要动交易执行逻辑。3.3 重放攻击与公共输入绑定这是最容易忽略的工程细节。如果我拿到别人某个时刻提交的一个“加仓证明”能不能自己复制一份在另一个时间点重复提交当然不行——那就成重放攻击了。解决方案是把不可伪造的上下文信息绑定成公共输入。我在系统里用的方案是把当前链上的某个随机数或区块哈希作为数据源采样进模型的输入特征同时把这个哈希也作为公共输入的一部分交给验证合约合约在验证时自己取当前链上的哈希比对不匹配直接拒绝。换句话说证明和“当时的环境状态”绑定在一起。只要公共输入里有足够强的时间锚和状态锚旧证明在下一分钟就会失效想重放也没门。3.4 链上数据源与链下信号的处理差异模型需要的数据分两类一类是链上本来就有的比如交易池深度、某个协议的借贷总量、清算历史这类数据直接从公开节点读取然后哈希上链即可另一类是链下数据比如中心化交易所的订单簿深度、情绪指数这类数据必须依赖预言机喂价上链。我在原型里只用了链上数据原因不是链下数据没用而是zkML的证明是“绑定输入”的——如果输入本身来源不可信证明再合法也没意义。链下数据的可信度由预言机方案决定那是另一层信任体系和ZK的信任假设叠加在一起会让系统复杂度上升一个量级。等核心链路跑稳了再考虑把预言机喂的数据纳入输入特征表会更稳妥。3.5 发起一次链上交易动作的完整时序整个流程走一遍是这样的第1步链下监听模块捕获到某区块的状态变化提取特征向量第2步推理节点加载模型权重计算出交易决策第3步证明生成器构建算术电路把模型权重、特征、中间值作为witness生成ZK证明第4步代理节点组装一笔交易附带证明和公共输入动作、数据哈希、验证密钥标识第5步验证合约先验证签名和公共输入绑定再验证ZK证明第6步验证通过后交易执行模块按预授权逻辑执行动作比如调整某个仓位的大小。其中第3步到第4步之间还有个“冷身检查”环节——我在代码里加了策略阈值限制比如最大仓位不能超过某个比例、单次操作不能超过某个幅度。原因很直接ZK只保证“模型计算没作弊”但模型可能在极端行情下输出一个风控上不可接受的数字。风控逻辑和模型计算必须解耦风控规则直接在合约层写死不做成模型的一部分。4. 证明方案和参数选型不是越先进越好zkML的工程落地很大程度上取决于你选哪套证明系统。我实测对比了几条路线各有利弊。4.1 三种主流路线的对比先说结论没有绝对最优只有场景最合适。方案风格证明生成速度相对验证开销gas算术化复杂度适用场景Groth16风格快低单次验证约20万gas级别需要可信初始化且电路变更需重新初始化模型固定、参数固定、长期跑同一套电路Plonk风格中中低通用可更新初始化电路变更友好模型迭代频繁、需要灵活升级STARK风格较慢高验证gas明显更贵避免可信初始化抗量子更看重信任假设、不怕gas成本我在原型里先用的是Groth16风格路线因为模型尺寸小、电路固定运行效率最高。但是当我想迭代模型、增加一个输入维度的时候麻烦来了——电路一变可信初始化参数就得重做整套验证密钥要重新发布。后来我把方案切成了Plonk风格原因是它支持通用参考字符串模型迭代只需要重新编译电路和更新验证密钥不需要跑整套复杂的初始化仪式。对交易代理这种需要持续调整模型字数的场景灵活性比那点gas差更重要。4.2 模型规模与电路尺寸的博弈电路尺寸决定了证明生成时间和成本。电路的规模大致等于“乘法门的数量”。一个简单的逻辑一个只有几层全连接的小网络比如3层、每层16个神经元电路可能只有几万到几十万个乘法门普通笔记本几分钟就能生成证明到了稍微像样的模型比如一层LSTM、注意力机制电路规模直接冲上百万门证明生成时间变成小时级内存需求也开始吃紧如果模型再上一个量级没有专门优化和并行计算硬件直接跑不动。我在做原型时第一次就把模型设计得太花哨——加入了时序特征、注意力加权结果证明生成时间到了无法接受的程度。后来把模型压缩成两层全连接加一个直接决策头电路规模降了一个数量级证明生成时间才回到可以接受的分钟级。模型精度和证明成本是矛盾关系。交易代理的真实需求未必需要多么前卫的模型——很多情况下三四个核心特征加一个非线性决策头已经比一整票直觉操作稳定得多。关键是要找到那个“精度够用、电路可跑”的平衡点不是越准越好。4.3 量化与定点运算零知识证明电路跑的数值运算和普通机器学习训练用的浮点运算不一样。在电路里浮点运算复杂且开销高大多数方案会把权重和输入量化成定点数。我在实际项目里采用的思路是把权重缩放到固定的小数位精度比如保留8位小数再用整数运算表示整个推理过程。这种处理方式会让模型精度和浮点版本有轻微差异但通常在可接受范围内。有个坑必须提醒如果模型训练时用的是FP32推理时直接套量化权重没有做量化感知训练精度损失可能比想象中更大。更稳的做法是训练阶段就加入量化噪声模拟让模型适应低精度表达。我的经验数据是8位小数量化经过量化感知训练后在交易信号任务上的准确率损失可以控制在1%以内但如果直接拿原模型硬量损失可能到3%-5%。对交易信号来说这个差距足以让回测曲线变形一定要在训练阶段就考虑部署时的精度约束。4.4 证明生成的硬件门槛很多人低估了证明生成所需的硬件。我一开始在开发机上做实验16GB内存、普通CPU跑一个几十万门的小电路生成证明花了将近半小时。后来换到高配的云主机多核CPU 64GB内存同样的电路压缩到几分钟。如果模型规模再大一些想要把证明生成时间压到分钟级以内就需要并行计算能力甚至多机并行生成方案。这也是为什么从一个产品视角来看zkML的模型不可能很大、迭代不可能很频繁——每次迭代的证明生成开销和验证密钥发布流程都会成为新的约束条件。5. 实操中踩过的坑与应对方案这些坑不是从官方文档里看来的是我在真实搭建过程中一个一个排除出来的。5.1 电路编译器的选择比证明系统本身更影响调试效率很多人上手zkML时精力全放在选证明系统上结果卡在电路编译环节。我试过用底层方式手写R1CS约束再逐行约束模型运算。结果就是写起来极慢、调试极其痛苦一个括号错误可能找半天。后来我换成了更高级的电路描述方式允许用类似普通编程的语法定义约束关系自动编译成算术电路。体验差别相当于“用汇编写业务逻辑”和“用高级语言写业务逻辑”。电路编译器的体验直接决定你迭代模型的速度。如果你要连调多个模型版本这点时间差会放大很多倍。5.2 模型权重更新和验证密钥的联动这是我在方案切换时踩的最大的坑。第一次跑通时我修改了模型权重但没有重新编译电路只在代码里换了一个权重文件路径。验证端一直报“证明无效”找了半天才发现验证密钥还是老的。在zkML系统里“模型权重”和“电路结构”是绑定的概念。一旦模型结构变化——哪怕只是增加了一层、改变了一个输入维度——电路结构就会变验证密钥必须同步更新所有集成了旧验证密钥的合约也要重新部署。我后面做了一个版本管理表每次改动都记录模型结构版本、电路版本、验证密钥版本、合约地址。发布流程做成半自动的改模型必须走完整流程不允许只改权重文件跳过电路编译。5.3 证明生成时间与交易时效的矛盾DeFi的很多策略对时效性很敏感比如清算监控错过几个区块就意味着机会消失。但zkML的证明生成往往需要几十秒到几分钟中间的时间窗口非常尴尬。我的处理方式是折中不追求每个区块都出证明而是固定一个执行周期。比如每N分钟批量生成一次证明只对“当前执行周期内最值得执行的动作”出证明。这样模型输出不必实时连续交易代理变成了“定期快照评估 证明执行”的节奏。对很多交易策略来说这个延迟是可接受的但对高频套利类策略这个模式就行不通了。如果必须更快的证明生成唯一的出路就是上更强的算力做证明生成并行化。但在工程上先想清楚策略的时效需求再做技术选型能省掉很多无用功。5.4 模型参数的隐私性与公开性的再思考最初我认为模型的权重参数应该作为私有witness保护起来这正是“零知识”的魅力所在。但实际操作后我发现在交易代理场景中模型权重完全不公开反而制造了新的信任问题。想一想如果用户看不到模型权重他们凭什么相信这个模型没有故意嵌入某种异常行为ZK证明保证“模型确实这么算”但如果模型本身是在恶意数据上训练的结果照样有问题。这个时候完全不让用户看模型的任何内容并不能真正解决信任问题。我最终的折中方案是公开模型结构和权重摘要哈希承诺权重细节不公开。用户至少能验证“用承诺值对应的权重推理”。更进一步说如果想做完全透明的代理直接把权重公开也不是不行——零知识在这里的真正价值其实更多体现在保护“输入数据和中间结果”的隐私上。这个理解比“保护模型权重”更符合DeFi应用的实际需求。5.5 链上验证的成本实际感受我记录了几组gas数据不同方案、不同电路规模小电路、Groth16风格单次验证大约20万gas级别换算成普通网络下的费用在可接受范围内同电路的Plonk风格方案验证gas大约高30%-50%STARK风格方案验证gas明显高出一个量级基本上只能作为备选。所以如果你关心长期运行成本Groth16风格的性价比目前是最突出的代价是要处理可信初始化。如果是小规模试验或模型迭代频繁Plonk风格更务实。另外一个细节如果不想让每次交易动作都单独验证可以做成“有效证明缓冲池”比如一个证明覆盖一批历史信号然后在合约层做聚合验证但这会引入更复杂的电路结构。6. 从Demo到可落地我建议的推进顺序如果你打算自己做一套类似的原型我建议按下面这个顺序推进不要一上来就追求完整平台化。6.1 第一步用一个极小模型跑通全链路先用最简单的线性模型或两层全连接输入特征不超过5个直接把“特征提取 → 推理 → 证明生成 → 链上验证”整条链路走通。这个阶段的目标不是性能而是确认每一个环节之间的数据格式不脱节。我当时在这个阶段花了最多时间调试的其实不是证明部分而是链上合约、推理输出、公共输入三者的字段命名对齐问题。先把这条链路打通后面的优化才有意义。6.2 第二步换一个更真实的交易策略模型链路通了以后把模型换成更贴近真实场景的版本比如加入资金费率、借贷利率变化率这类信号。这个阶段会暴露性能问题——证明生成时间、gas成本、模型精度损失都会一起冒出来。不要同时调整太多变量一次只改一个。6.3 第三步加入防重放和风控逻辑这是从“技术演示品”迈向“可用工具”的分水岭。把区块哈希绑定、风控阈值、模型版本管理全部加上。我测试过不加防重放直接跑是什么状态——攻击者完全可以把历史证明重新提交造成重复执行。这类问题不解决系统不能算真正可用。6.4 第四步考虑多策略、多模型的并行扩展等到单策略跑稳了再做扩展不同模型分配不同验证密钥每个策略独立证明、独立验证、共享一套交易执行层。扩展的关键是赌上“验证合约模块化”——把验证逻辑和策略执行逻辑完全分离新策略接入不需要动老逻辑。关于要不要把运行节点全部去中心化、由谁来运营证明生成器这类问题我的建议是别在Demo阶段为这个分心。先把单信任假设下的技术链路跑通验证清楚“证明有效、结果可信、成本可接受”然后再讨论多节点协作。你不可能在证明生成的性能问题还没解决时就规划一个分布式证明集群那是把顺序搞反了。最后分享一个我自己的习惯每次调完模型我会记录三组数字——浮点版本的准确率、量化版本的准确率、生成一份证明的耗时。这三组数字放在一张表里长期跟踪。因为zkML系统的每一个技术环节都会互相影响只有把数字记下来才能在“模型改复杂了”和“证明变慢了”之间准确找到瓶颈。这套系统还有太多东西可以优化比如递归证明、批量验证、多策略互斥等等但最基本的信任链路已经足够扎实——只要你愿意公开你的验证密钥和模型版本任何人都能自己检查你那个跑在链下的交易代理到底有没有老老实实数胡萝卜。

相关新闻

NLM非局部均值滤波原理与MATLAB图像去噪实现及参数调优

NLM非局部均值滤波原理与MATLAB图像去噪实现及参数调优

简介:非局部均值滤波是图像降噪领域经典算法,这套MATLAB程序包专为学习或实现该算法的开发者与研究生准备,可帮助快速理解原理并完成代码落地。压缩包共十个文件,包含两个程序源文件、七张标准测试图和一个文档说明,整…

2026/10/18 9:59:37 阅读更多 →
LLM Inference 实战:从 prefill 到 decode,用 TaoToken 统一 Key 跑通 KV cache 与 continuous batching 验证

LLM Inference 实战:从 prefill 到 decode,用 TaoToken 统一 Key 跑通 KV cache 与 continuous batching 验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 9:59:37 阅读更多 →
无限畅用Cursor编辑器,四步轻松搞定!TaoToken统一Key接入实战

无限畅用Cursor编辑器,四步轻松搞定!TaoToken统一Key接入实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 9:59:37 阅读更多 →

最新新闻

KAN与六种神经网络架构结合实战:图像分类与时间序列预测对比

KAN与六种神经网络架构结合实战:图像分类与时间序列预测对比

最近一直在做时间序列预测和图像分类的实验,发现朋友圈里聊天总绕不开KAN(Kolmogorov-Arnold Network)这个词。有同学拿"KAN全面吊打MLP"的截图来问我是不是真能替换掉手头的模型,也有同学问KAN跟CNN、LSTM、TCN、Transformer这些经典结构组合之后到底效果怎么样、代…

2026/10/18 10:46:50 阅读更多 →
用AI Agent聊聊天就能完成数据抓取与报告生成?一文讲透原理与实战

用AI Agent聊聊天就能完成数据抓取与报告生成?一文讲透原理与实战

以前我做数据汇总,流程基本是:先写一个爬虫脚本,跑完看一眼结果,再打开表格工具手动清洗,最后复制粘贴写总结。这套流程干久了你会发现,真正费时间的不是“抓”,而是“改”——页面结构变一下&a…

2026/10/18 10:46:50 阅读更多 →
规格管理工具实测与自建方案:从文档混乱到自动化校验

规格管理工具实测与自建方案:从文档混乱到自动化校验

1. 为什么会盯上规格工具这条赛道先讲个我自己的翻车现场。去年在某团队做一套跨平台业务系统,代码还没写几行,光是对需求就吵了三轮。产品说这个流程要支持灰度开关,开发说设计文档里根本没提这个状态位,测试拿着旧版用例对不上新…

2026/10/18 10:46:50 阅读更多 →
EarlGrey iOS UI自动化测试实战:同步机制、元素匹配与工程接入

EarlGrey iOS UI自动化测试实战:同步机制、元素匹配与工程接入

1. EarlGrey是什么:先搞清楚它解决什么问题做iOS测试的同学应该都有同感:UI自动化这块,选择一直很纠结。Appium、XCUITest、KIF各有一批拥趸,但对原生iOS项目来说,EarlGrey是一个绕不开的名字。它由一家大型科技公司的…

2026/10/18 10:46:50 阅读更多 →
智能UI逆向工程:解构ChatGPT交互状态与行为逻辑

智能UI逆向工程:解构ChatGPT交互状态与行为逻辑

1. 这不是“破解”,而是对智能界面交互逻辑的系统性解构“ChatGPT Intelligent UI 的逆向工程”这个标题,乍看容易让人联想到代码层的暴力拆包或协议嗅探——但实际操作中,我反复验证过:真正有价值的逆向,从来不在二进…

2026/10/18 10:46:50 阅读更多 →
手写现代C++ Web服务器:从socket到HTTP响应的完整闭环

手写现代C++ Web服务器:从socket到HTTP响应的完整闭环

如果你点进这篇文章,多半已经受够了那种“框架搭好、回调填完、项目跑通”的开发方式。业务代码写了好几年,浏览器地址栏敲下回车之后,数据到底在操作系统里经过哪几条路、HTTP 请求是怎么被解析成一个个字段的,大多数人其实说不清…

2026/10/18 10:45:50 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →