8作者: ThailandJohn7 天前
我是一名曾经的系统架构师(思科/VMware),现在在泰国从事构建工作。TheAuditor v2.0是对我三个月前发布的原型进行的一次全面架构重写(800+次提交)。 对我来说,“顿悟”时刻并非来自成功,而是源于一次巨大的失败。我曾尝试使用AI来重构一个复杂的模式更改(从“Products”到“ProductsVariants”的基础性更改),但由于其范围之大,最终彻底失败。我意识到两件事: * **上下文崩溃:** AI无法在其上下文窗口中保留足够多的文件,以理解重构的全部范围,因此开始产生幻觉,"修复"一些表面问题。如果我继续施压,它会直接陷入恐慌,编造问题“以便能够解决它们”,这只会导致情况陷入恶性循环。这就是这个工具的“反派起源故事”。:D * **知识陈旧:** 它一直试图在一个Node 22项目中实现Node 16的模式,或者默认使用过时的库(比如glob v7而不是v11),因为它训练的数据已经过时。 我意识到,AI代理在输出可运行的代码方面非常出色,但它们对代码一无所知。它们优化的是“不惜一切代价让它运行”——通常通过引入安全漏洞或技术债务来绕过错误。这是一个有趣的悖论,因为当被“逼到墙角/被迫”使用前沿版本、语法和最佳实践时,它在执行或编写代码方面没有任何问题。然而,它对周围环境的认知是如此可笑地缺乏,除非受到明确的看护,否则它会做任何其他事情。 我构建了v2,使其成为解决许多这些问题的“健全性检查”,并旨在继续解决我面临的相同和类似问题。TheAuditor没有让AI去猜测,而是将整个代码库索引到一个本地SQLite图数据库中。这为AI提供了一个可查询的现实地图,允许它验证依赖关系和导入,而无需将“所有”文件加载到上下文中。 A/B演示:[https://www.youtube.com/watch?v=512uqMaZlTg](https://www.youtube.com/watch?v=512uqMaZlTg) 正如在演示视频中看到的那样,它现在可以运行“aud explain”并获得500行确定性的“仅事实”信息,而不是试图读取10多个完整文件和/或使用grep来弥补幻觉。它只获取它需要查看的内容,而不是读取10多个文件,试图将它们保留在上下文中,找到它正在寻找的内容,并试图记住它最初为什么要寻找。 我还了解到,正则表达式/字符串/启发式方法根本无法扩展,而且非常缓慢(数小时 vs 数分钟)。我尝试了基于正则表达式的规则/解析器方法,但它们在复杂文件上总是默默地失败,并且受到持续的限制(最糟糕的问题是必须为每组规则读取所有文件)。我放弃了这种方法,并构建了一个“三重录入保真度”系统。 现在,该工具就像一个账本:解析器发出清单,数据库发出收据。如果它们不匹配,系统会故意崩溃。 它不再仅仅是一个扫描器;它是一个护栏。在我的日常工作流程中,在AI(我选择的是CC/Codex)针对我目前面临的任何问题陈述运行预先调查之前,我不会让AI编写一行代码。这确保了它基于事实,而不是推断假设,或者更糟的是,幻觉。 话虽如此,我的工具并不完美。为了支持这一切,我不得不为Python/JS/TS构建一个伪编译器,这意味着为每个框架、每个语法——实际上是所有内容——准备提取器。有时我无法正确处理,有时我可能没有足够的时间来构建它以支持所有内容。 因此,我的建议是将该工具与您选择的AI代理集成,而不是将其视为您(人类)的工具。我喜欢将该工具用作“确认或否认”,其中AI运行该工具,在源代码中进行验证,并提供预实施审计。基于该审计,我将创建一个“aud planning”。 v2.0中的一些主要里程碑 * **混合污点:** 我扩展了Oracle Labs的IFDS研究,以跟踪跨微服务边界的数据流(例如,React fetch → Express中间件 → 控制器)。 * **三重录入保真度:** 这适用于每一层(索引器 -> 提取器 -> 解析器 -> 存储)。每个步骤都有协同工作的保真度检查。如果管道中的任何地方出现静默数据丢失,该工具会故意崩溃。 * **图数据库:** 从基于文件的解析迁移到SQLite图数据库,以处理正则表达式遗漏的复杂关系。 * **范围:** 增加了对Rust、Go、Bash、AWS CDK和Terraform的支持(v1仅支持Python/JS)。 * **代理功能:** 增加了规划和重构引擎,允许AI代理不仅扫描代码,而且安全地规划和执行架构更改。
1作者: lexokoh7 天前
我开发这个工具,是因为作为一名移动端开发者,在使用 AI API 时反复遇到同样的问题。最佳实践建议不要在移动应用中直接嵌入 API 密钥,但唯一的替代方案就是搭建一个后端服务器,专门用于将请求转发给 OpenAI。这种服务器会增加成本、复杂性、扩展工作量和维护负担,仅仅是为了转发请求和隐藏密钥。我反复地重建这个“无用”的后端,最终意识到:既然无论如何都必须拥有一个后端,它就应该做一些有价值的事情。<p>正是这个想法促使我开发了一个简单、安全的 AI 代理,它负责密钥管理、速率限制、使用控制、促销和升级。这样,移动端开发者就可以保持前端的简洁性,而无需管理定制的后端基础设施。
1作者: northlondoner7 天前
注意到 C# 被低估了。关于 C# 的内存安全。引入像 Rust 这样的多范式内存安全方法有多难?例如,所有权模型,是否可以通过某种元框架来强制执行这种实践?
1作者: gztomas7 天前
我们正在推出一种执行模型,介于 LLM 代码生成和自主智能体之间。<p>LLM 仅生成两个确定性接口之间的粘合逻辑: - 前端知道如何渲染的 UI 模式 - 后端公开的受限运行时接口,从 `list_comments` 等特定函数到 `restricted http_call` 等更广泛的基元<p>这两个接口都是固定的、类型化的和可检查的。LLM 无法创建 UI 组件或后端功能。它只能组合已存在的内容。<p>这与 A2UI 类似,但切入点不同。A2UI 将智能体操作渲染到 UI 中。在这里,UI 和运行时是一流的,LLM 生成组合逻辑,没有开放式的操作循环。<p>你也可以把它想象成 MVC,其中 View 和 Model 是固定的,而 Controller 是按需生成的。<p>文章和简短演示视频: <a href="https:&#x2F;&#x2F;cased.com&#x2F;blog&#x2F;2025-12-11-how-we-build-generative-ui&#x2F;" rel="nofollow">https:&#x2F;&#x2F;cased.com&#x2F;blog&#x2F;2025-12-11-how-we-build-generative-ui...</a><p>对失败模式、约束和相关现有技术的反馈感兴趣。
1作者: dboon7 天前
我注意到 Claude Code 添加了 /stats 命令,并且统计数据缓存在 $HOME/.claude 中,所以我用 Bun + WASM 写了一个有趣的程序,它会提取这些统计数据(非敏感、不可识别),将它们发布到数据库中,并让你了解你的使用情况。 WASM 部分是一个非常有趣的射线步进 SDF 渲染器,它可以在你的终端中渲染一个特别的冬季版 Claude。如果你只对这部分感兴趣,它也可以在浏览器中渲染。我给他起了个名字叫 Santa Claude。 代码在这里[^1],如果你对渲染代码感兴趣,或者想确认我没有窃取你的信用卡信息,可以查看。 [^1]: <a href="https://github.com/tspader/claude-wrapped/" rel="nofollow">https://github.com/tspader/claude-wrapped/</a>