最近 GitHub 上有一个很有意思的项目——REA:Reverse Engineer Anything。 什么是“逆向”? 我们平时写软件,是: 想法 → 写代码 → 编译 → 软件 而“逆向”刚好反过来: 软件 → 分析 → 推测代码和逻辑 → 搞清楚它是怎么工作的 比如你手里有一个 App,但是开发者没有公开源代码。 你很好奇: “这个 App 的搜索功能到底是怎么实现的?” 传统的做法,是程序员使用 Ghidra、IDA 等专业工具,把软件拆开分析,从二进制、函数、调用关系、伪代码等信息里,一点一点还原它的运行逻辑。 这个过程,就叫逆向工程(Reverse Engineering)。 而 REA 有意思的地方就在这里: 它试图让 AI Agent 也能做这件事。 REA 可以通过 CLI 和 MCP,把专业的逆向分析能力提供给 AI Agent。 于是你不再只是让 AI: “帮我写一个搜索功能。” 而可以先问: “帮我研究一下这个软件的搜索功能是怎么工作的。” AI Agent 可以借助 REA 去分析软件、寻找相关函数、追踪调用关系、查看伪代码,再根据这些证据理解它的工作方式。 整个过程可以理解成: 软件 → REA → AI Agent → 分析 → 理解 → 重建 所以 REA 并不是一个简单的“源码恢复工具”。 它更像是:
AI会胡说八道,不是因为它坏了,是因为它本来就在猜。 大模型做的事说穿了只有一件:根据前面出现的字,猜下一个最可能出现的字。你问它《红楼梦》的作者是谁,它不是去书架上翻资料,而是在算「无数篇文章里,这个问题后面最常跟着的答案是什么」。 所以它会编。当训练数据里没有确切答案时,它不会说我不知道,它会按最像答案的样子,生成一段通顺的话。书名、人名、年份,格式都对,读起来也顺,但可能全是编的。 这叫幻觉。它不是bug,是这套生成机制的副作用。你越是要求它给个准话,它编得越完整、越自信。 有个笨办法很好用:把问题问小。别问「某某论文讲了什么」,改问「这篇论文里有没有提到某某方法」。给它一个能核对的范围,它编的空间就小了。重要信息让它给出处,然后你自己点进去看一眼。 AI不是百科全书,是一台概率机器。用它提速可以,最后那道关留在自己手里。
理解生成式人工智能模型 生成式AI模型是设计用来创建与现有数据相似的新内容的AI系统。虽然传统人工智能模型生成式AI模型专注于信息的分类和分析,基于从训练数据中学习到的模式生成原创输出。这些输出可以包括文本、图片、音乐和代码。 生成模型101 通过称为神经网络的深度学习架构,生成式AI模型生成真实且连贯的内容。他们通过处理大量数据,识别其中的模式、结构和关系来学习。 一旦训练完成,这些模型会根据学到的模式预测最可能的结果,生成新内容。例如,一个生成式人工智能模型在代码仓库可以通过预测逻辑序列和结构来生成函数式代码片段。 生成式AI模型的关键特征 生成式AI模型与其他AI模型在几个重要方面有所不同:  创造力:他们创造新内容,而不仅仅是分析或分类数据。  模式识别:他们识别大量数据集中的复杂模式,以产生连贯的输出。  多功能性:他们涉猎多个领域,包括文本生成、图像创作、音频合成和软件开发。 生成式AI模型在DevOps和平台工程师探索人工智能自动化持续集成与持续交付/部署(CI/CD)、智能基础设施管理和预测系统监控。这些模型可以生成代码、优化配置,甚至在系统潜在问题发生前预见。
不是错觉。你在同一个对话框里聊太久,AI真的会越来越差。 问题出在它的记忆方式上。大模型没有真正的记忆,它每次回答,都是把你们从头到尾的整段对话重新读一遍。这个能读进去的总长度有上限,叫上下文窗口。一旦超了,最早的内容就被挤出去,它看不见了。 就算没超,麻烦也在。对话越长,它要同时顾及的信息越多,注意力就被摊薄。开头你定的规则、给的背景,到后面权重越来越低。于是它开始重复说过的话,忘了你第二句就提过的要求,语气也慢慢变回默认的那套客套。 有个笨办法很管用:一个任务开一个新对话。做到一半发现它跑偏了,别在原对话里反复纠正,把目前确认好的结论复制出来,开新窗口重新交代一遍。要它遵守的规则,写在每条新对话的开头,不要指望它从上一段里继承。 跟AI干活,像带一个记性很好、但只能记一页纸的助理。纸写满了就换一张,别往上接着挤。