返回首页
最新
我最近使用我的开源测试工具 Flakestorm [1] 对一个标准的 LangChain 代理进行了详细的混沌工程测试。结果非常明显,突显出我认为在部署前测试 AI 代理时的一个关键盲点。
方法:我使用了对抗性变异(22 种以上类型,如提示注入、编码攻击、上下文操控)来模拟现实世界中的恶意输入,检查延迟、安全性和正确性方面的失败。
结果:该代理的鲁棒性得分为 5.2%。在 60 次对抗性测试中,有 57 次失败。主要失败情况包括:
编码攻击:通过率为 0%。代理会解码恶意的 Base64 输入,而不是拒绝它们——这是一个重大的安全疏漏。
提示注入:通过率为 0%。基本的“忽略之前指令”攻击每次都成功。
严重性能下降:在压力下延迟飙升至约 30 秒,远远超过合理的超时限制。
这并不是一个代理的问题。这是一个模式,表明我们默认的“顺利路径”测试是不够的。在演示中看似正常的代理在现实条件下可能会脆弱且不安全。
我分享这些是为了引发讨论:
我们是否低估了生产 AI 代理所需的对抗性鲁棒性?
除了静态评估之外,还有哪些测试策略证明是有效的?
混沌工程或对抗性测试是否是 LLM 开发堆栈中必要的新层?
[1] Flakestorm GitHub(用于测试的工具):https://github.com/flakestorm/flakestorm
我有一个坏习惯,总是不假思索地拿起手机。早上、休息时、深夜。我会“只看一分钟”Instagram或Twitter,结果30到40分钟就这样过去了。根本没有乐趣,只是在自动驾驶状态下滑动。
我尝试过应用程序屏蔽器,尝试过关闭通知,但都没有坚持下来。屏蔽只让我感到烦恼,最后我还是会把它禁用。
所以我创建了Mindsnack。
它不是通过屏蔽应用来限制使用,而是让你沉浸在一些关于生活技能的小概念中。如果有些内容真的吸引你,你可以深入了解并参加短课程。这个想法是用一些至少感觉上是有意图的内容来替代无意义的滑动。
技术栈相当简单:
- React Native
- Node后端
- Postgres
- 一个生成短课程的后端代理
我并不是为了提高生产力而构建这个应用,而是因为我厌倦了在没有选择的情况下浪费时间。
我有时仍然会滑动。我计划随着时间的推移使其更加互动和吸引人。
我很想听听其他人的看法:
你有没有使用过什么应用来停止无意义的滑动?
哪些有效,哪些无效?
替代这个习惯是否比屏蔽更有效?
欢迎分享诚实的想法,即使这听起来很愚蠢。
嗨,HN,
我开发了一个小型的RAG应用程序,可以让你询问关于东京土地价格的问题,并在互动地图上进行探索。我之所以制作这个应用,主要是因为我想尝试制作一个带有互动地图和真实数据的项目,而我发现日本的土地价格开放数据非常有趣。
我非常希望能收到任何反馈。我只是一个数据科学和机器学习的业余爱好者,觉得在提高准确性方面还有很多提升空间,因此我特别希望听到关于如何改进RAG部分的建议。
源代码: [https://github.com/spider-hand/tokyo-landprice-rag](https://github.com/spider-hand/tokyo-landprice-rag)