数月前,在我们公布智能体安全产品路线图时,第一时间几乎没有任何回响。
于是我们开始找专业人士,点对点地寻求意见。这个由 AVL Code、AVL Claw、AVL MCP、AVL Skill 组合而成的新品「矩阵」,收获的几乎都是负反馈:
- 这几个就不是一个东西,Skill 怎么能和 Claw 并列呢?
- AVL MCP 是什么鬼,你们要自己搞个私有协议么?
- 明明有开源的 Claw,用就行了,又重复发明轮子!
- AVL Code?你们这是要挑战 Claude Code 吗?你们的澜砥模型行吗?还有 Cursor 呢!就是 OpenCode 你们也挑战不了吧。
我们不知道该如何回答这些问题,于是决定依靠直觉,从 AVL Code 启动——而那时最火的是 Claw。
做了才知道
虽然 IT 部门翻出一堆古董笔记本、搞了一屋子「虾机」,并先把 IT 运营实践了起来,但在研发推进中,第一个中止出局的反而是 AVL Claw。
公司为澜砥团队定的任务是:打造 AI 驱动的可靠安全生产力工具。而「虾机」们的怠工、欺骗——有的「虾」每天自己跑去刷 NBA……——让我们意识到,自己实现 Claw 并不能避免这些问题。完全的系统控制、直接掌握大量登录凭证,挑战了我们对安全红线的理解;更重要的是,我们并非要打造全能生活助理,而是要让它实现稳定的生产力输出。于是果断中止 AVL Claw,加速 AVL Code。
AVL Code,我们定义为 AI 智能编程与安全分析桌面助手。它的模式很清晰:工程师以之为工具,讲清楚任务,让 AI 干活;安全围栏很清晰:作为客户端,可以设定严格的行为管控策略,也运行在主机的安全机制之下,不会如「龙虾控脑」般狂奔;对标对象很清晰:Claude Code、Codex、Cursor 都如高山在前,可以借鉴、可以攀援;初始发力方向也很清晰:模型的局限先天就决定了我们无法在纯编程能力上比拼(但不能没有),所以还是从我们最擅长的安全分析、逆向工程做技能强化,再逐步补强编程能力。我们内置了可执行格式解析、哈希、熵、十六进制、反汇编、反编译、安全领域知识库等工具。
在向前冲击的过程中,模糊的都会清晰化,死路都会被验证走不通,关于 Skill 和 MCP 的争议也迅速清晰了起来。
AVL Skill 最初的设想,是构建一个带有安全检测和证书验签的技能体系,从而建立一条可信链。用国密算法做验证很快就做好了;然而尽管 Skill 投毒事件频发,整个 AI 工具链体系依然在简单的信任模式下向前狂奔。于是,这套机制就很自然地沉淀为 AVL Code 的内部机制。
AVL MCP 的情况也差不多。最初提设想时,是想把它作为反病毒引擎的一个扩展组件。大胡子说,「我们的反病毒引擎是对象检测,在 AI 时代要扩展到过程检测」,于是就考虑把安全机制嵌入到智能体的调用过程中,作为新的中间件产品。但在快速成长的时代,人们往往不会为安全买单,于是 AVL MCP 也被 AVL Code 吸收了。
AVL Code 还没有被证明此路不通,那我们就要加速。于是我们定下了至少每日一更——当然,触发更新的更主要因素不是功能添加,而是及时解决各种小 bug。最频繁的一次,是某一天发布了 6 次版本更新。
狗食先自吃
寻找试用用户并不容易。在资深工程师的技术圈子里,即使你把带着 1000 点券的邀请码送上,他都可能心如止水、点滴不动。真正的好兄弟,并不是点个赞哄你开心,而是直接告诉你:我是 Codex 和 CC 的双枪将,每月用的是 MAX 套餐。在 Codex 和 CC 的重度用户中,很多人都觉得用其他 Code 是浪费生命。
网安圈子呢?你前手给人家提供一个邀请码,几分钟后,日志里就看到一记悍然的注入。反正每天互联网侧都是大量攻击事件,IT 部门也在常态化自动响应——我们早已习惯了「开放服务就会被攻击」的常态。
让别人用,前提是自己用起来。安天一直强调「狗食自吃(Dogfooding)」。这一理念是从微软学来的:1988 年,微软 DOS 已经基本统治个人主机,但局域网操作系统产品 LAN Manager 被 Novell 吊打,没有外部用户。高管 Paul Maritz 写了一封邮件,标题是 "Eating our own Dogfood",意思很简单——没人用,就自己先用。
AVL Code 当然也想搞内部全面推广。但顾虑是:担心 GPU 算力要优先保外部测试体验,因此内部一直没有提供下载地址;而在外侧入口看到内部申请时,产品经理反而基本不给放行。但同事们发现,AVL Code 其实只要登录公司 SSO 就可以试用,于是不再通过申请索要下载地址,而是以可执行程序「人传人」的方式,开始了内部试用。
测试部门率先开始烧 Token。他们当时要测一个辅助小工具「网管之手」,操作系统兼容性要求很细。在兼容性分析环节,AVL Code 几分钟就跑完了人工几小时的活,把模糊的「应该能跑」变成量化的「能跑、不能跑、原因是什么」,产出一张可直接驱动测试设计、技术选型、部署规划的全景兼容性地图。随后,他们又用 AVL Code 智能安装配置 cve-mcp-server,从自然语言指令到 MCP 服务就绪,实现了研发与测试环境的全自动闭环交付。
安服上手 AVL Code,来自一次小实战。一天晚上接到主管部门要求:为响应苹果手机漏洞,安天要快速发布一个在线检查页面,引导低版本用户升级。值班的哥们并不会写代码,于是把工作要求扔进了 AVL Code,页面工具就生成了。
我们最心心念念的安天 CERT 同志们,反而没有第一时间跟进——CERT 最初并不相信 AI 从逆向到溯源能做得比他们更好。改变发生在今年 3 月:跟进响应 Axios 遭遇的 npm 仓库木马投毒事件时,工程师几乎是抱着怀疑把样本丢给 AVL Code 做分析和溯源判定,数分钟后,AVL Code 吐出「组织归属结论:40–50% 可能归属专业网络犯罪组织或新兴 APT,25–30% 可能归属 Lazarus Group 分支」。而 CERT 人工分析的结论是:来自 Lazarus。自此,CERT 部门里的 AVL Code 用户瞬间激增。
而在分析 Shai-Hulud(TeamPCP 蠕虫)时,AVL Code 的输出直接为工程师标定了「claude/settings.json 的 SessionStart 钩子」,从而支撑了「蠕虫主体功能是用 Claude Code 编写的」这一判断。
试用总结下来的结论是:使用效果最好的部门,是把 AVL Code 嵌入了工作流。而工作流的重构并不是设计出来的,而是在与智能体的磨合中,自然涌现出了合理的方式。
硬件是大问题,但智能不是问题
用多少块卡来支撑自用和外测?咬牙切齿也就凑出 8 块。我们起初以为可能十几个人并发就会跑满,但 8 块卡竟然咬牙撑住了。逻辑就是两个字——「优化」,或者五个字——「优化再优化」。
卡是永远不够的。但卡不够,就不做 AI 了吗?
去年在机场候机时,邻座一位大仙正在和几个人狂侃 AI——我是来答辩澜砥垂直大模型备案的,而他在讲如何判断一个 AI 项目。然后他突然发现了正在敲代码的我。
「那兄弟,别干活了,以后都不用干活了,都大模型干了。」
「哦,我们也搞大模型,我们也做了一个基模。」
「你们还搞了个基模?」
「垂直的、二进制的……」我有些悻悻地说。
「别谈什么壹进制、二进制,你们有多少块卡……」
虽然我没想明白「壹」怎么进制,但还是咬咬牙,决定把老弱病残的 3090 也算上,颤颤巍巍地说:20 多块……
「没有一万块卡,搞什么基模。」
老哥瞬间抹杀了我们存在的意义。我心里愤愤——「壹万块卡」,你就知道「壹万卡」——但没说什么,继续干自己的活。
先知不与你同行,但 AI 与你同行
从 ChatGPT 横空出世以来,很多人都同时被期待感与焦虑感包裹着,我们也一样;包括历史上错误的判断和选择,也都会在这时被心理上放大。
2011 年,GPU 加速已被极度关注的时候,我们最开始想的是把它放到最高速的网络检测设备上,来提升协议栈和病毒匹配的效率,但验证结论并不理想——GPU 擅长大量并发,而网络流量检测却有极高的实时性要求。在判断「对样本自动化分析」的价值时,当时内部一致的结论是:GPU 干和 CPU 干没有本质区别。于是我们一边申请专利「一种基于 GPU 和缓冲区的网络数据处理方法及系统」,一边又形成了「GPU 对网络安全用处不大」的基本判断。
这是过早的实践反而做出了错误的判断吗?回望时,我们认为不是。要走正确的道路,试错是必须的,而且更需要持续。
在这个变革的时代,思考难以招架信息的膨胀,信息之间交叉、对立,人人都在用 AI,人人理解的 AI 又都不一样。每一次头脑风暴,都能发散出一堆「可干」的创意,然后每个创意又都能找到一堆「不好干」的理由。
我们也渴望先知大神指点迷津,于是反复经历:辛顿说……,然后李飞飞说……,杨立昆说……,然后感觉大神说得对、大神们说的好像又不太一样、大神说的好像和我这个领域关系不大……
「宁要一个堂吉诃德,不要十个哈姆雷特。」这是我入职安天时,贴在工位旁一张 A4 纸上打印的标语。这句话对我的影响,远胜过了几天的入职培训。
AI 时代能更好地辅助思考,但反复思辨、迟疑,就会在可能性中瘫痪;AI 时代也无与伦比地降低了行动的门槛,先行动、快速试错,就可以把想象推向现实。
做「哈姆雷特」,还是「堂吉诃德」?这是一个选择。我们选择做带有持续回馈机制的堂吉诃德和桑丘。
我们开发 AVL Code,也希望让更多人成为 AI 时代的行动者。
Claude Code、Codex、Cursor,你们真的无比强大,但——我们骑着驴来了!
