TuBrief
구독 채널
비디오
커뮤니티

为了不被 AI 编写的代码反噬,必须从架构层面进行隔离

TuBrief 편집팀
2026년 7월 7일
0
Computing/Software

원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.

中文한국어Englishहिन्दीEspañolDeutschالعربيةFrançaisPortuguêsРусскийBahasa Indonesia日本語

관련 영상

是时候让 AI 来编写并阅读了吗?16:29

是时候让 AI 来编写并阅读了吗?

Maximilian Schwarzmüller

커뮤니티의 다른 글

사내 시스템에 llm api 붙일 때 마주하는 현실적인 한계와 대응법

2026년 9월 13일

레거시 백엔드에 GPT-6 Astra 붙일 때 예산 승인과 보안 통과를 먼저 끝내는 법이 있습니다

2026년 9월 13일

에이전트끼리 대화하다 6천만 원 청구서가 나오는 이유

2026년 9월 13일

사내 RAG 벡터 검색에 Okta 권한 필터를 직접 거는 방법

2026년 9월 13일

브라우저 에이전트에게 내 구글 계정을 통째로 넘기면 안 되는 이유

2026년 9월 12일

Apple Won the AI Race

2026년 9월 12일

댓글 (0)

Log in to leave a comment

아직 작성된 글이 없습니다

© 2026 . All rights reserved.

TuBrief
구독 채널
비디오
커뮤니티
로그인

为了不被 AI 编写的代码反噬,必须从架构层面进行隔离

生成式 AI 生成代码的速度快得惊人。然而,资深工程师和技术主管面临的真正问题却另有所在:在验证机器秒级生成的代码并将其集成到现有系统的过程中,产生了巨大的认知负荷。根据 Google Cloud 的《DORA 2025 报告》,引入 AI 虽然提高了部署频率,但也同时增加了系统的不稳定性。这意味着人们正在通宵修补盲目复制粘贴 AI 代码所导致的“天坑”。通过人工逐行阅读和调试的传统方式,根本无法应对这种速度。只有建立一个从一开始就不信任 AI 所写逻辑的架构环境,并实现验证自动化,才能防止代码沦为垃圾。

防腐层与硬件级别的沙盒隔离

AI 建议的代码并不了解业务背景。它们看起来虽然没问题,但往往会破坏领域内部微妙的规则。因此,必须将 AI 编写的逻辑视为随时可能崩溃的外部系统。这就是为什么必须从设计阶段开始,就植入“防腐层”(Anti-Corruption Layer),定义明确的抽象接口,以防止污染物质进入现有的领域范围。

仅仅分离软件架构是不够的。AI 代码存在导入恶意库或干扰本地文件系统的风险。当 Stripe 设计其自主智能体系统“Minions”时,将 AI 代码的编译过程置于与主机隔离的独立虚拟机中,并在协议层面禁止网络访问,这一案例极具启发意义。为了防御生产环境,必须在 CI/CD 流水线内部引入内核级别的控制装置:

  • 基于 seccomp 的系统调用控制:声明阻断规则,一旦发现试图获取未经授权的权限 (sudo)、篡改本地套接字或强制注入进程的行为,立即拦截。
  • Landlock 内核隔离:在硬件层面阻止除指定临时目录之外,对源代码原始文件或环境配置文件进行写入访问的行为。
  • 网络白名单控制:通过 DNS 过滤,从源头上封锁除许可包仓库之外的所有外部主机的数据外泄。

我们需要构建一个“零信任”执行环境,将不可信的代码完全囚禁在内部。由此带来的系统故障响应时间缩短,只是随之而来的额外红利。

通过回归测试实现逻辑验证的自动化

开发人员肉眼检查 AI 输出的数百行代码是非常危险的。当大脑疲劳时,会产生“自动化偏见”,从而放行看起来似乎没问题的代码。机器编写逻辑的缺陷,不应由人来捕捉,而应由可执行的测试代码来捕获。在命令 AI 编写实际实现代码之前,应颠倒顺序,要求其先创建定义操作规范的测试用例。这是一种强制要求,即必须先定义好正常流程、边界条件、异常处理、异常输入和故障恢复场景这 5 大范畴。

通过手动输入提示词生成的代码,其代码行覆盖率并不高。根据 DeepBlue 的智能体运行数据,人类工程师与 AI 对话所获得的测试覆盖率平均仅为 32%。相比之下,当通过自动化测试智能体将源代码静态分析和运行时沙盒构建结合起来执行时,在无人干预的情况下,获得了平均 81% 的回归测试行覆盖率。机器监视机器的结构要严密得多。

对于自然语言翻译结果或动态 JSON 对象这类难以进行一对一简单比对的逻辑,可以联动“LLM-as-a-Judge”(大模型作为裁判)技术。将 AgentProctor 等框架部署在测试基础设施中,并将评估标准模板注入到判定模型中。让判定模型以定量等级来判断返回的代码是否打破了安全约束,并设置“护栏”,一旦不达标就拦截构建,这样就可以免除人类审视原始代码的痛苦。

在版本控制中刻下 AI 代码的指纹

机器编写的代码越多,系统中积累的认知负债就越多。最终会出现代码能跑,但没人知道为什么能跑的怪异局面。由于 AI 工具只专注于解决眼前的局部问题,几个月后系统整体重构时,将付出巨大的成本。为了保存隐藏在代码库背后的设计意图,必须将“智能体决策记录”(Agent Decision Record)流程引入团队标准。这是一种以机器可读格式记录为何选择该结构以及放弃了哪些替代方案的工作。

由于人类的记忆不可靠,将“这是 AI 写的”这一标记植入提交记录也是自动化流水线中不可或缺的一环。使用 git-ai 扩展库之类的工具,可以在不污染提交信息主体的情况下,将智能体的贡献笔记记录在 refs/notes/ai 独立元数据路径中。Git 流水线的构建步骤如下:

  1. 在本地开发环境和 CI 服务器仓库中设置 pre-commit hooks。
  2. 引入静态匹配技术,分析提交到暂存区的源代码的抽象语法树,并提取 SHA-256 哈希指纹。
  3. 执行钩子时,将机器专用标签(Git Trailers,如 AI-Footprint: model=gpt-4o)和共同作者信息强制插入元数据。

通过积累这些元数据,后续可以实时导出供应链统计信息,确定特定缺陷或安全漏洞集中产生于哪个 AI 模型版本。这是一种防止因缺乏交接文档,而不得不去深挖数万行代码的“地狱级”情况的安全装置。

三阶段质量保证门禁与人工评审员的角色分离

当胡乱生成的代码开始堆积在合并请求 (Pull Request) 队列中时,手动代码评审就会陷入瘫痪。为了维持生产力,必须将评审流程二元化:即以机器为中心的确定性反馈门禁,以及以人为中心的结构化影响评估。代码上传到 CI 环境后立即触发的“三阶段质量保证门禁”是一个可行的方案。

第一,设置超高速 Linting 门禁,在 5 秒内判断语法结构有效性和类型提示是否一致。在此阶段不合格则立即驳回。第二,进行选择性影响测试,仅从受影响范围内挑选出约 2% 左右的单元测试进行高速执行。第三,驱动“自主修正自动化循环”,在测试失败时,将错误堆栈作为上下文重新抛回给智能体,使其最多自我修正 2 次。

只有穿透这个自主修正循环、逻辑清晰的代码片段才会出现在资深开发人员的屏幕上。人类评审员不再需要浪费时间查找拼写错误或指出编码规范。资深工程师的时间应当用于以下宏观控制:审查因组件直接耦合是否导致领域边界崩溃、确认在流量激增时是否反映了保护底层持久化层的背压 (Backpressure) 机制、分析 SQL N+1 性能开销等系统结构和基础设施经济性。在如潮水般涌来的代码中,这是守护生产系统的唯一方法。