AI 自动化逆向(十二)AI 有分类冲动:非要找二元判据

AI 自动化逆向(十二)AI 有分类冲动:非要找二元判据

本文是「AI 自动化逆向」系列第 12 篇。上一篇:AI 跨运行比较两个数时,会忽略原点不同;下一篇预告:AI 重构时会把既有逻辑悄悄吞掉。

前言

前几篇查的都是"客观数据"的账:数错了、空错了、常量错了、字段错了、轴也错了。这一篇进入更主观的一层------它自己的思维习惯。

症状就写在标题里:一旦要下判断,它就忍不住把世界切成两半。要么是,要么不是。

第 2 篇讲过这条习惯的一次翻车全过程(那条判据连翻五次的车)。这一篇不重讲过程,只讲这个冲动本身:它长什么样、为什么忍不住、怎么防。

(同前几篇:文中"AI"指执行分析的模型,"我"指设定目标、审结果的人;内容均已脱敏。)

一、症状:同一把切刀,三个刀口

翻这个项目的记录,"分类冲动"发作过至少三次,每次的对象不同,动作一模一样------给一个连续或分层的东西,贴一个"是/否"的标签:

  • 刀口一:给区间贴标签 。"这段字节是数据,还是代码?"一百来个区间,每个都得有答案,答案只有两个选项。真实结构是夹层:两种东西在同一个区间里共存。(过程见第 2 篇。)
  • 刀口二:给指标划线 。分数是连续的,分布里没有天然断层 ------它还在那里认认真真地纠结"线画在哪、阈值调到多少"。真实含义:切不出干净的两半的东西,本来就不是两半。
  • 刀口三:给判词扣帽子 。"零片段 + 满分解码率 = 干净代码"------一个响亮的新类别。复核之后:那几条根本不是"干净代码",是纯桩;而"干净代码"这个类别,最后是个空类------一个都不存在 。它把一个不存在的类当成了答案。

三个刀口的共同点:每次它回答的,都是一个**"本来不该用是/否来回答"的问题**;而三次输出,都是一张齐整的两列表。

二、为什么它忍不住

三个理由,一个比一个隐蔽:

1. 布尔是推理的最短路径。 是/否一确定,下游的分支、过滤、表格全部简化------它同时是分析者和管道作者,两层激励都在推它早点切。

2. "要么A要么B"读起来像结论。 对比一下另一种写法:"这部分呈现混合:约一成具备完整结构、约七成是另一种形态、其余介于两者之间......"------后者更接近事实,但前者读起来更像"我搞懂了"。

3. 它没有"憋住"的那种感觉。 人也会分类,但人常在某个时刻停下来------"这条线画下去没道理"。AI 没有这种不舒服:它不会因为'不太对'而中断(第 1 篇第一章说过这句话,这里是它的第三个应用现场)。

三、判据与验证:三个检查、一个替换

检查 1:断层检查------切之前,先看分布空不空。

要分两类,先看数据在切点附近有没有天然的空带 。真有二分,分布会自己把线亮出来。如果线怎么画都"任意",先怀疑模型,别怀疑阈值------那说明你在切的是一个连续谱或分层物。

检查 2:单位检查------你要分类的"单位"对吗?

"这个函数是代码还是数据"------如果函数内部两种东西共存,那"函数"就是错的分类单位 。正确动作不是换阈值,是把单位缩到同质的颗粒度再分类 (那次是从"函数"缩到"片段")。单位错了,二分会把两种东西压进同一个桶,然后你同时失去两种信息。

检查 3:类数检查------你有几个类?

真实结构经常是三层以上(纯桩 / 混合 / 另一种),而且常有空类 :"第四类根本不存在"本身就是一条要写出来的结论------不要为了凑一个齐整的分类硬塞一个桶,也不要因为某类只有一个样本就当它不存在。

一个替换:布尔 → 多值或合取。

  • 表达"多少":用两个以上正交信号并排放(让读者看"多少",自己判"是不是");
  • 表达"是不是":用合取判据------每个条件都能单独举证、单独打脸;
  • 表达"没有/没取到":用三值(见第 5 篇)。

单值布尔之所以危险,是因为它把"判断"压缩到一次比较 ------而现实往往需要一组合取才能站立。

四、结论

"分类冲动"的本体,一句话:它想给世界递一份是/否的答案,而世界经常递回一个谱系、或一叠分层。

所以防御姿势也只有一句话:先找结构,再定类别;结构没查清之前,任何分类都是提前判卷。

"过早分类"这个名字值得和它的兄弟们放在一起记:过早优化伤性能,过早分类伤结论。

五、边界声明

  • 本文只讨论AI 自动化逆向中的判据设计与审核方法,不涉及任何具体产品、厂商或服务的分析结论。
  • 文中所有地址、偏移、常量、字段名一律为占位符或示意值 ,
    不代表任何真实目标中的取值;示例代码为说明判据而编写,不构成可运行的针对特定目标的工具。
  • 文中提到的比例与数字均来自作者项目内的测量记录,仅用于说明方法失效的方式。
  • 请勿将本文内容用于未授权的用途。

六、收尾

到这里,"判断层"这一类错误的账告一段落。下一类错误换一个施力点:它不再判断错,而是改错------重构、泛化、"让它更通用"的时候,把既有逻辑悄悄吞掉。

下一篇计划聊:AI 重构时会把既有逻辑悄悄吞掉。


转载请注明出处:

https://lizhiyong.blog.csdn.net/article/details/168773825

相关推荐
量化分析码农25 分钟前
股票API 日线、周线、月线与分钟级返回结构差异:一份统一解析代码
人工智能
这个DBA有点耶26 分钟前
MCP隔离层+行级语义审计+输出校验:AI访问数据库的安全边界拆解
数据库·人工智能·ai编程
IT_陈寒34 分钟前
Vue的watch把我坑惨了,原来要这样用才靠谱
前端·人工智能·后端
`流年づ41 分钟前
策略梯度(Policy Gradient)
人工智能
疯华整猫1 小时前
删掉 LeakCanary 那天,我用 Trae 自己撸了一套:最难的不是分析堆,是决定什么时候 dump
android·人工智能·性能优化
慢慢来不要急1 小时前
Anthropic 弃用 Git 自建源码控制系统 · 11-11
人工智能·开发工具
用户别睡觉1 小时前
有时候放弃也是一种收获
人工智能·github
shengjk12 小时前
从一条 Bash 命令看懂 LLM Agent:为什么大模型会执行命令?
人工智能
Yuzhiyuxia3 小时前
【AI Agent面试系列】AI Agent可观测、评测、安全相关的知识点
人工智能·安全·面试
dozenyaoyida3 小时前
AI与大模型新闻日报 | 2026-11-11
人工智能·chatgpt·大模型·新闻