我的 AI 副项目会在欧盟 AI 法案审计中不合格——我如何修复它

发布: (2026年2月19日 GMT+8 23:36)
8 分钟阅读
原文: Dev.to

Source: Dev.to

Arkforge

我一直在构建一个小型 AI 应用——一个基于 LangChain 的工具,用于摘要法律文档。没有什么花哨的,只是我周末玩耍的副项目。

随后在一次 GitHub 讨论中,有人问我:“你的应用符合欧盟 AI 法案吗?”
我诚实的回答是 “我太小了,这不重要。” 结果,我错了。

欧盟人工智能法案不在乎贵公司的规模

自 2025 年 2 月开始适用(全面执行将在 2026 年 8 月),该条例覆盖 在欧盟市场上提供的任何 AI 系统。这包括:

  • 拥有 10 名用户的 SaaS
  • 在 GitHub 上的开源工具
  • 若处理欧盟公民数据的内部工具

对核心透明度要求 没有“小开发者豁免”。如果你在生产环境中使用 AI 模型,就必须履行相应义务。

我之所以知道,是因为我阅读了实际的法规文本(整整 144 页——不建议在周五晚上阅读)。

Source:

我扫描了自己的项目

我对自己的仓库使用了合规扫描器。我的项目结构如下:

├── app.py              # LangChain pipeline
├── requirements.txt    # langchain, openai
├── prompts/
│   └── summarizer.py   # System prompts
└── README.md           # "A tool that summarizes stuff"

扫描结果检测到:

  • LangChain 框架(通过 requirements.txt
  • OpenAI API 使用(通过 app.py 中的导入)
    • 风险类别:受限(文本生成系统)

以下是我遗漏的三件事,我用了总计 35 分钟来修复。

1. 缺少透明度披露

欧盟《人工智能法案》第 50 条要求用户知道他们正在与 AI 生成的内容交互。我的应用返回的摘要没有任何机器生成的提示。

之前

def summarize(document: str) -> str:
    return chain.invoke({"document": document})

之后

from datetime import datetime

def summarize(document: str) -> dict:
    result = chain.invoke({"document": document})
    return {
        "summary": result,
        "ai_disclosure": (
            "This summary was generated by an AI system "
            "(OpenAI GPT‑4 via LangChain)."
        ),
        "model": "gpt-4",
        "generated_at": datetime.utcnow().isoformat(),
    }

耗时:5 分钟。API 响应现在明确告知用户内容的生成来源。

2. 缺少技术文档

即使是受限风险系统,拥有文档也是“我们认真对待合规”和“审计时临时想办法”之间的区别。

我原本只有三行的 README。下面是我新增的 AI_COMPLIANCE.md 内容:

# AI Compliance Documentation

系统概述

  • Purpose: 使用 LangChain + OpenAI GPT‑4 对法律文件进行摘要。
  • Architecture: 简单的 FastAPI 端点,接收文档,将其传递给 LangChain 链,并返回包含摘要和披露元数据的 JSON 负载。

Data Flow

  1. 用户上传文档(纯文本或 PDF)。
  2. 文档通过 HTTPS 发送到后端。
  3. 后端调用 OpenAI API。
  4. 响应被包装在披露字段中并返回给用户。

风险评估

  • 风险等级:有限(文本生成)。
  • 缓解措施
    • 透明度披露(参见 app.py)。
    • 在请求生命周期之外不存储原始用户数据。
    • 限流以防止滥用。

透明度措施

  • 每个响应都包含 ai_disclosuremodelgenerated_at 字段。
  • UI 显示横幅:“此摘要由 AI 生成。”

维护与更新

  • 依赖项在 requirements.txt 中已固定。
  • 安全补丁在发布后 7 天内应用。
  • 合规扫描通过 CI 每周运行。

联系


### 3. (Placeholder for the third fix)

*You can continue adding the remaining two items in the same structured format.*

AI 系统文档

  • 目的:快速审阅法律文档的摘要
  • 模型:通过 LangChain 使用 OpenAI GPT‑4
  • 训练数据:无(使用 API 调用的预训练模型)
  • 风险类别:受限(AI 生成文本,Article 50)
  • 透明度:所有输出均包含 AI 披露声明
  • 局限性:可能遗漏复杂法律语言中的细微差别。不适合作为法律建议。
  • 人工监督:摘要仅作为审阅辅助
  • 数据保留:会话结束后不存储用户数据

输入/输出审计

import logging
import uuid

logger = logging.getLogger("ai_audit")

def summarize_with_audit(document: str) -> dict:
    request_id = uuid.uuid4().hex[:8]
    logger.info(f"[{request_id}] Input length: {len(document)} chars")

    result = chain.invoke({"document": document})

    logger.info(f"[{request_id}] Output length: {len(result)} chars")
    return {
        "summary": result,
        "request_id": request_id,
        "ai_disclosure": "Generated by AI (OpenAI GPT‑4)"
    }

耗时10 分钟 – 现在每个请求都有可追溯记录。

让我惊讶的地方

  • 修复工作 很容易 – 总共约 35 分钟。
  • 困难的部分是 意识:了解需要做哪些工作。
  • 我的项目最终被归类为 受限风险,而非高风险。大多数开发者工具都属于此类,主要义务集中在透明度和文档上。

自动合规检查(GitHub Action)

# .github/workflows/ai-compliance.yml
name: EU AI Act Compliance Check

on: [push, pull_request]

jobs:
  compliance:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Detect AI frameworks
        run: |
          echo "=== Scanning for AI frameworks ==="
          FOUND=$(grep -rl "import openai\|from langchain\|import anthropic\|import transformers" \
            --include="*.py" . 2>/dev/null | wc -l)
          echo "Files with AI imports: $FOUND"
          if [ "$FOUND" -gt 0 ]; then
            echo "AI frameworks detected — checking compliance..."
          fi

      - name: Verify transparency disclosure
        run: |
          DISCLOSURES=$(grep -rl "ai_disclosure\|AI-generated\|generated by AI" \
            --include="*.py" . 2>/dev/null | wc -l)
          if [ "$DISCLOSURES" -eq 0 ]; then
            echo "::warning::No AI transparency disclosure found in code"
          else
            echo "Transparency disclosures found in $DISCLOSURES files"
          fi

      - name: Check compliance documentation
        run: |
          if [ ! -f "AI_COMPLIANCE.md" ]; then
            echo "::warning::No AI_COMPLIANCE.md found"
            echo "Consider adding AI system documentation"
          else
            echo "AI compliance documentation found"
          fi

耗时10 分钟 – 能捕获最明显的合规要点。
若需更深入的扫描(检测 16 种 AI 框架并映射到 EU AI Act 的具体义务),我使用免费的 MCP compliance scanner

给过去的自己的建议

  • 在第 1 天就添加 AI_COMPLIANCE.md – 大约需要 20 分钟,并迫使你思考所构建系统的细节。
  • 为每个 AI 输出打标签 – 在响应模式中加入 ai_disclosure 字段即可满足最简易的合规要求。
  • 了解自己的风险类别 – 大多数副项目属于“受限”或“最小”风险,义务相对轻松。
  • 记录请求 ID – 对合规和调试 LLM 输出都至关重要。

EU AI 法案并非要扼杀独立项目;它的目标是让人们知道何时 AI 参与了影响他们的决策。随着 2026 年 8 月的强制执行期限临近,现在开始准备可以避免以后手忙脚乱。

0 浏览
Back to Blog

相关文章

阅读更多 »

Apex B. OpenClaw,局部嵌入

本地嵌入用于私有记忆搜索。默认情况下,OpenClaw 的 memory search 会将文本发送到外部的 embedding API,通常是 Anthropic 或 OpenAI……

Apex 1. OpenClaw, 供应商历史

从 ChatGPT、Anthropic 和 Google Gemini 导入聊天记录。使用 OpenClaw,你可以做的最强大的事情之一是 bootstrap 你的记忆……