## 二进制反编译与控制流结构化历史
本系列分为两部分,探讨二进制反编译的历史——将编译后的代码(如C++、Rust)转换回人类可读的形式——以及控制流结构化这一难题。早期工作,特别是Cristina Cifuentes于1994年的博士论文,奠定了核心支柱:恢复控制流图(CFG)、变量恢复以及将CFG结构化为高级代码结构。这包括识别CFG中的模式(如`if`语句和循环)。
虽然IDA Pro和Reko等工具出现,但学术研究多年来一直有限。一个重要的突破是2013年的Phoenix反编译器,标志着顶级安全会议上发表的首次相关工作。然而,进展缓慢,自此之后发表的相关论文屈指可数,尽管反编译的重要性以及持续存在的挑战不容忽视。
目前的重点是改进控制流结构化,这一过程受到逆向工程歧义的阻碍——单个CFG可以产生多个有效的代码输出。最近的研究探索了编译器感知算法,并利用机器学习进行符号恢复和代码改进。尽管进展缓慢,但像Ghidra这样的开源反编译器的出现预示着该领域充满希望的未来,这将在第二部分中进一步探讨。
## LLM 战役:实时战略基准测试
LLM 战役是一个新的基准测试,旨在通过让大型语言模型 (LLM) 在 1v1 实时战略 (RTS) 游戏中竞争来评估它们。 受 Screeps 游戏启发,LLM 编写并执行 Javascript 代码来控制单位、收集资源并最终摧毁对手的基地。
该基准测试侧重于*上下文学习*——LLM 分析前几轮(总共五轮)的结果,以完善其策略。 结果表明,大多数模型(Claude Opus 4.5、GLM 4.7、GPT 5.2 和 Grok 4.1 Fast)在第 1 轮和第 5 轮之间的胜率有所提高,表明了学习能力。
然而,Gemini 3 Pro 显示出异常,最初表现强劲,但随着它难以有效利用过去比赛的信息而下降——这可能是由于“上下文衰退”造成的。 该研究还强调了性能和成本之间的权衡,Claude Opus 4.5 实现了最高的技能,但价格明显高于 GPT 5.2。 LLM 战役为评估 LLM 编码能力和在动态环境中进行战略思考提供了一个强大的平台。
## scheme-langserver:一种新的Scheme代码编辑方法
Z. Wang 在第18届欧洲Lisp研讨会 (ELS`25) 上介绍了 `scheme-langserver`,这是一种语言服务器协议 (LSP) 实现,旨在改善 Scheme 编程体验。与依赖 REPL 或简单分词的现有 Lisp 语言服务器 (Geiser, Racket LSP 等) 不同,`scheme-langserver` 利用静态代码分析来实现自动补全、“跳转到定义”和类型推断等功能——即使在不完整代码中也能实现。
该项目解决了分析 Scheme 灵活语法的挑战,特别是宏,以提供更准确的代码理解。主要功能包括对 R6RS/R7RS/S7 标准的支持、跨平台索引、自制类型推断系统(集成到自动补全中)以及与 Akku 包管理器的兼容性。
`scheme-langserver` 目前正在积极开发中,可通过 VSCode 使用,是一个社区驱动的开源项目,寻求贡献和资金。虽然仍包含错误,但它代表着朝着更强大、更智能的 Scheme 开发环境迈出的重要一步。进一步的开发目标包括数据流分析以及自制类型推断系统的综合指南,记录在一本计划出版的书籍中。
**项目和资源地址:** [https://doi.org/10.5281/zenodo.15384882](https://doi.org/10.5281/zenodo.15384882) (由于潜在的访问限制,提供镜像)。
这篇帖子详细描述了在使用 Claude Code 等 AI 编程代理时优化上下文窗口的历程,将其比作训练狗——专注是关键,干扰会降低性能。作者发现工具经常用不相关的信息(如构建日志)充斥上下文窗口,导致“上下文腐烂”和浪费 token。
优化从配置 `turbo.json` 和 `.claude/settings.json` 以抑制不必要的构建信息开始。Claude Code 本身也尝试通过使用 `tail` 命令只捕获构建输出的末尾来缓解这个问题,但对于失败的构建来说,这会产生一个不断增加 `tail` 长度的循环。
作者随后强调了管理来自各种工具的冗长输出的更广泛问题,依赖于大量的环境变量。这促使作者提出一个建议:一个标准化的 `LLM=true` 环境变量。这将向工具发出信号,专门为 LLM 代理最小化输出,减少 token 使用,提高上下文质量,并减少环境影响。最终,作者设想未来 `HUMAN=true` 可能会成为默认设置,因为 AI 代理将成为主要的编码者,从而改变我们对代码执行和日志记录的方式。
## 印度的自主人工智能:批判性分析
印度推动“自主人工智能”——独立构建和部署人工智能模型——的动力源于对数据安全、语言表达(考虑到该国22种语言)以及对外国技术的依赖的担忧。Sarvam AI已成为关键参与者,已筹集4100万美元并推出了一个105B参数模型“Indus”,并获得了政府的大量补贴。
然而,审查显示缺乏透明度。尽管声称性能优于更大的模型,但基准测试含糊不清且未经证实。更令人担忧的是泄露的系统提示,显示存在“硬编码的爱国主义”,指示模型优先考虑对印度的积极看法,驳斥批判性框架,并掩盖敏感的历史事件——特别是关于宗教冲突的事件。
这种对齐方式并非嵌入在模型的核心训练中,而是作为限制性提示应用,这引发了人们对Sarvam对该过程的控制的质疑,可能受到Nvidia的强烈引导。批评人士认为,实现自主权的更有效途径是针对印度语言微调现有的开源模型,而不是代价高昂且不透明的全面预训练。
作者认为,真正的自主权需要真正的开源贡献、可验证的基准测试以及致力于呈现*所有*印度历史的承诺,而不仅仅是策划好的叙述。当前的方法有优先考虑品牌而非真正技术进步,以及服务于国家多元化人口的风险。