⚖️ AI 규제/윤리

인공지능기본법

Korea AI Basic Act

대한민국 인공지능 기본법. 2026년 1월 22일 시행. AI 진흥과 신뢰 기반 조성을 목적으로 하는 세계 최초의 AI 기본법.

상세 설명

인공지능기본법(법률 제20670호)은 2025년 1월 21일 공포되어 2026년 1월 22일 시행되는 대한민국의 AI 관련 기본 법률입니다. EU AI Act가 규제 중심인 반면, 한국의 인공지능기본법은 AI 산업 진흥과 신뢰 확보를 동시에 추구하는 '진흥 + 규제' 균형 접근법을 채택했습니다. 총 7장 51조로 구성되며, 세계 최초로 국가 단위의 AI 기본법이라는 의의가 있습니다.

이 법의 핵심 개념인 '고위험 인공지능'(제2조 제5호)은 생명, 신체, 재산, 기본권에 중대한 영향을 미칠 수 있는 AI로 정의됩니다. 제22조에서는 고위험 AI 사업자에게 (1) 이용자에게 고위험 AI임을 알릴 의무, (2) 인공지능 윤리기준 준수, (3) 사전 위험평가 수행, (4) 이용 중단 요구 장치 마련, (5) 오작동 신고 접수 창구 운영을 요구합니다. 구체적인 고위험 AI 유형은 대통령령으로 정해질 예정입니다.

법 제4조에서는 인공지능 기본원칙을 명시합니다: (1) 인간의 존엄성과 자율성 보장, (2) 투명성과 설명 가능성, (3) 공정성과 차별 금지, (4) 안전성과 보안성, (5) 책임성, (6) 개인정보 보호. 제7조에서는 국가인공지능위원회를 설치하여 AI 정책의 컨트롤타워 역할을 하도록 합니다. 위원장은 국무총리이며, AI 기본계획 심의, 고위험 AI 지정, 윤리기준 수립 등을 담당합니다.

진흥 측면에서는 인공지능산업진흥원 설립(제24조), AI 특화단지 지정(제28조), 전문인력 양성(제33조), 공공 AI 구축 지원(제36조) 등을 규정합니다. 특히 제38조에서는 인공지능 영향평가 제도를 도입하여 공공기관이 AI를 도입할 때 인권, 윤리, 사회적 영향을 사전 평가하도록 합니다. EU AI Act와 비교하면 과징금 규정이 없고 자율규제를 강조하는 점이 특징이며, 향후 하위법령과 가이드라인을 통해 구체화될 예정입니다.

코드 예제

인공지능기본법 준수 여부를 점검하는 Python 예제입니다.

"""
인공지능기본법 준수 체크리스트 시스템
법률 제20670호 (2026.1.22 시행)
"""
from dataclasses import dataclass, field
from datetime import datetime
from enum import Enum
from typing import Dict, List, Optional
import json


class RiskLevel(Enum):
    """AI 위험 등급"""
    LOW = "low"                  # 일반 AI
    HIGH = "high"                # 고위험 AI (제2조 제5호)
    UNACCEPTABLE = "prohibited"  # 금지 AI


class ComplianceStatus(Enum):
    """준수 상태"""
    COMPLIANT = "compliant"
    PARTIAL = "partial"
    NON_COMPLIANT = "non_compliant"
    NOT_APPLICABLE = "n/a"


@dataclass
class AIBasicPrinciple:
    """인공지능 기본원칙 (제4조)"""
    name: str
    article: str
    description: str
    compliance_status: ComplianceStatus = ComplianceStatus.NOT_APPLICABLE
    evidence: Optional[str] = None


@dataclass
class HighRiskAIRequirement:
    """고위험 인공지능 요건 (제22조)"""
    requirement_id: str
    description: str
    article_reference: str
    is_mandatory: bool = True
    compliance_status: ComplianceStatus = ComplianceStatus.NOT_APPLICABLE
    implementation_notes: Optional[str] = None


@dataclass
class AISystem:
    """AI 시스템 정보"""
    system_id: str
    name: str
    description: str
    risk_level: RiskLevel
    domain: str  # 적용 분야
    created_at: datetime = field(default_factory=datetime.now)
    operator: str = ""  # 사업자/운영자


class KoreaAIBasicActChecker:
    """
    인공지능기본법 준수 체크 시스템

    주요 조항:
    - 제2조: 정의 (고위험 인공지능 등)
    - 제4조: 인공지능 기본원칙
    - 제22조: 고위험 인공지능 안전 요건
    - 제38조: 인공지능 영향평가
    """

    # 기본원칙 (제4조)
    BASIC_PRINCIPLES = [
        AIBasicPrinciple(
            name="인간 존엄성",
            article="제4조 제1호",
            description="인간의 존엄성과 자율성 보장"
        ),
        AIBasicPrinciple(
            name="투명성",
            article="제4조 제2호",
            description="AI 작동 원리와 의사결정 과정의 투명성"
        ),
        AIBasicPrinciple(
            name="공정성",
            article="제4조 제3호",
            description="차별 없이 공정하게 설계 및 운영"
        ),
        AIBasicPrinciple(
            name="안전성",
            article="제4조 제4호",
            description="안전하고 신뢰할 수 있는 AI 시스템"
        ),
        AIBasicPrinciple(
            name="책임성",
            article="제4조 제5호",
            description="AI 개발/운영에 대한 책임 명확화"
        ),
        AIBasicPrinciple(
            name="개인정보 보호",
            article="제4조 제6호",
            description="개인정보의 안전한 처리와 보호"
        )
    ]

    # 고위험 AI 요건 (제22조)
    HIGH_RISK_REQUIREMENTS = [
        HighRiskAIRequirement(
            requirement_id="HR-1",
            description="이용자에게 고위험 인공지능임을 알림",
            article_reference="제22조 제1항 제1호"
        ),
        HighRiskAIRequirement(
            requirement_id="HR-2",
            description="인공지능 윤리기준 준수",
            article_reference="제22조 제1항 제2호"
        ),
        HighRiskAIRequirement(
            requirement_id="HR-3",
            description="사전 위험평가 수행 및 문서화",
            article_reference="제22조 제1항 제3호"
        ),
        HighRiskAIRequirement(
            requirement_id="HR-4",
            description="이용자의 이용 중단 요구 장치 마련",
            article_reference="제22조 제1항 제4호"
        ),
        HighRiskAIRequirement(
            requirement_id="HR-5",
            description="오작동 등 신고 접수 창구 운영",
            article_reference="제22조 제1항 제5호"
        )
    ]

    def __init__(self, ai_system: AISystem):
        self.ai_system = ai_system
        self.principles = [
            AIBasicPrinciple(**p.__dict__)
            for p in self.BASIC_PRINCIPLES
        ]
        self.high_risk_requirements = [
            HighRiskAIRequirement(**r.__dict__)
            for r in self.HIGH_RISK_REQUIREMENTS
        ]

    def check_high_risk_classification(self) -> Dict:
        """
        고위험 AI 해당 여부 판단 (제2조 제5호)

        고위험 AI: 생명, 신체, 재산, 기본권에
        중대한 영향을 미칠 수 있는 AI
        """
        high_risk_domains = [
            "의료",           # 의료 진단/치료
            "교통/운송",      # 자율주행
            "채용/인사",      # 채용 심사
            "금융/신용",      # 신용 평가
            "교육",           # 입학/평가
            "사법/법집행",    # 범죄 예측
            "핵심 인프라"     # 전력, 수도 등
        ]

        is_high_risk = (
            self.ai_system.risk_level == RiskLevel.HIGH or
            any(domain in self.ai_system.domain for domain in high_risk_domains)
        )

        return {
            "system_name": self.ai_system.name,
            "domain": self.ai_system.domain,
            "is_high_risk": is_high_risk,
            "reason": "제2조 제5호에 따른 고위험 AI 해당" if is_high_risk else "고위험 AI 비해당",
            "applicable_requirements": self.HIGH_RISK_REQUIREMENTS if is_high_risk else []
        }

    def evaluate_basic_principles(
        self,
        evaluations: Dict[str, Dict]
    ) -> List[AIBasicPrinciple]:
        """
        기본원칙 준수 여부 평가 (제4조)

        Args:
            evaluations: 원칙별 평가 결과
                {
                    "인간 존엄성": {"status": "compliant", "evidence": "..."},
                    ...
                }
        """
        for principle in self.principles:
            if principle.name in evaluations:
                eval_data = evaluations[principle.name]
                principle.compliance_status = ComplianceStatus(
                    eval_data.get("status", "n/a")
                )
                principle.evidence = eval_data.get("evidence", "")

        return self.principles

    def check_high_risk_requirements(
        self,
        implementations: Dict[str, Dict]
    ) -> Dict:
        """
        고위험 AI 요건 충족 여부 점검 (제22조)

        Args:
            implementations: 요건별 구현 현황
        """
        if self.ai_system.risk_level != RiskLevel.HIGH:
            return {
                "applicable": False,
                "message": "고위험 AI가 아니므로 제22조 미적용"
            }

        results = []
        compliant_count = 0

        for req in self.high_risk_requirements:
            if req.requirement_id in implementations:
                impl = implementations[req.requirement_id]
                req.compliance_status = ComplianceStatus(
                    impl.get("status", "non_compliant")
                )
                req.implementation_notes = impl.get("notes", "")

                if req.compliance_status == ComplianceStatus.COMPLIANT:
                    compliant_count += 1

            results.append({
                "id": req.requirement_id,
                "description": req.description,
                "article": req.article_reference,
                "status": req.compliance_status.value,
                "notes": req.implementation_notes
            })

        total = len(self.high_risk_requirements)
        compliance_rate = compliant_count / total if total > 0 else 0

        return {
            "applicable": True,
            "total_requirements": total,
            "compliant_count": compliant_count,
            "compliance_rate": f"{compliance_rate:.0%}",
            "overall_status": (
                ComplianceStatus.COMPLIANT if compliance_rate == 1
                else ComplianceStatus.PARTIAL if compliance_rate > 0
                else ComplianceStatus.NON_COMPLIANT
            ).value,
            "requirements": results
        }

    def generate_compliance_report(self) -> Dict:
        """전체 준수 보고서 생성"""
        classification = self.check_high_risk_classification()

        return {
            "report_date": datetime.now().isoformat(),
            "law_reference": "인공지능기본법 (법률 제20670호)",
            "effective_date": "2026-01-22",
            "ai_system": {
                "id": self.ai_system.system_id,
                "name": self.ai_system.name,
                "description": self.ai_system.description,
                "domain": self.ai_system.domain,
                "operator": self.ai_system.operator
            },
            "risk_classification": classification,
            "basic_principles_status": [
                {
                    "principle": p.name,
                    "article": p.article,
                    "status": p.compliance_status.value
                }
                for p in self.principles
            ],
            "recommendations": self._generate_recommendations()
        }

    def _generate_recommendations(self) -> List[str]:
        """개선 권고사항 생성"""
        recommendations = []

        if self.ai_system.risk_level == RiskLevel.HIGH:
            for req in self.high_risk_requirements:
                if req.compliance_status != ComplianceStatus.COMPLIANT:
                    recommendations.append(
                        f"[{req.requirement_id}] {req.description} "
                        f"구현 필요 ({req.article_reference})"
                    )

        for principle in self.principles:
            if principle.compliance_status == ComplianceStatus.NON_COMPLIANT:
                recommendations.append(
                    f"{principle.name} 원칙 준수 개선 필요 "
                    f"({principle.article})"
                )

        return recommendations


# 사용 예시
if __name__ == "__main__":
    # AI 시스템 정의
    ai_system = AISystem(
        system_id="AI-2025-001",
        name="신용평가 AI 시스템",
        description="개인 신용도를 AI로 평가하는 시스템",
        risk_level=RiskLevel.HIGH,
        domain="금융/신용",
        operator="(주)KAITRUST 금융"
    )

    # 준수 체커 생성
    checker = KoreaAIBasicActChecker(ai_system)

    # 고위험 AI 해당 여부 확인
    classification = checker.check_high_risk_classification()
    print(f"고위험 AI 여부: {classification['is_high_risk']}")

    # 고위험 AI 요건 점검
    implementations = {
        "HR-1": {"status": "compliant", "notes": "서비스 약관에 고위험 AI 명시"},
        "HR-2": {"status": "compliant", "notes": "KAITRUST 윤리기준 준수"},
        "HR-3": {"status": "partial", "notes": "위험평가 진행 중"},
        "HR-4": {"status": "compliant", "notes": "이용 중단 버튼 구현"},
        "HR-5": {"status": "non_compliant", "notes": "신고 창구 미구현"}
    }

    requirements_result = checker.check_high_risk_requirements(implementations)
    print(f"준수율: {requirements_result['compliance_rate']}")

    # 전체 보고서 생성
    report = checker.generate_compliance_report()
    print(json.dumps(report, ensure_ascii=False, indent=2, default=str))

실무 대화

PM: 인공지능기본법이 2026년 1월부터 시행되는데, 우리 AI 서비스도 준비해야 하나요?
개발자: 네, 우리 신용평가 AI는 제2조 제5호의 '고위험 인공지능'에 해당합니다. 생명, 신체, 재산에 중대한 영향을 미칠 수 있기 때문이에요. 제22조에 따라 5가지 의무를 이행해야 합니다.
PM: EU AI Act처럼 과징금도 있나요?
개발자: 아니요, 현재 인공지능기본법에는 과징금 규정이 없습니다. 다만 자율규제와 윤리기준 준수를 강조하고 있어요. 하지만 국가인공지능위원회가 구체적인 가이드라인을 발표할 예정이라 주시해야 합니다.
면접관: 인공지능기본법과 EU AI Act의 주요 차이점은 무엇인가요?
지원자: 가장 큰 차이는 접근 방식입니다. EU AI Act는 규제 중심으로 금지 AI 유형, 높은 과징금(최대 3,500만 유로)을 규정합니다. 반면 인공지능기본법은 진흥과 규제의 균형을 추구하며, 과징금 없이 자율규제를 강조합니다. 또한 한국법은 인공지능산업진흥원 설립 등 산업 지원책을 포함합니다.
면접관: 제22조의 고위험 AI 요건 5가지를 말해보세요.
지원자: 첫째, 이용자에게 고위험 AI임을 알려야 합니다. 둘째, 인공지능 윤리기준을 준수해야 합니다. 셋째, 사전 위험평가를 수행해야 합니다. 넷째, 이용 중단 요구 장치를 마련해야 합니다. 다섯째, 오작동 신고 접수 창구를 운영해야 합니다.
리뷰어: 이 AI 서비스에 이용 중단 버튼이 없네요. 인공지능기본법 제22조 제1항 제4호 위반입니다.
작성자: 아, 우리 서비스가 고위험 AI에 해당하나요?
리뷰어: 네, 채용 심사 AI는 기본권에 중대한 영향을 미치므로 고위험 AI입니다. 이용자가 AI 판단을 거부하고 인간 심사를 요청할 수 있는 기능이 필수입니다. 또한 서비스 화면에 고위험 AI임을 명시해야 해요.
작성자: 알겠습니다. 위험평가 문서도 작성하고, 오작동 신고 창구도 추가하겠습니다. 법 시행 전에 전체 점검이 필요하겠네요.

주의사항

하위법령 추이 주시

인공지능기본법은 많은 부분을 대통령령, 부령, 고시로 위임합니다. 특히 고위험 AI의 구체적 유형(제2조 제5호), 윤리기준의 세부 내용(제10조), 영향평가 절차(제38조) 등이 하위법령으로 정해집니다. 2026년 1월 시행 전까지 과학기술정보통신부의 하위법령 제정 동향을 지속적으로 모니터링해야 합니다.

EU AI Act와의 동시 준수

EU 시장에 서비스하는 기업은 인공지능기본법과 EU AI Act를 동시에 준수해야 합니다. 두 법의 고위험 AI 정의와 요건이 다르므로, 더 엄격한 기준에 맞추는 것이 효율적입니다. EU AI Act는 과징금(최대 3,500만 유로)과 금지 AI 유형이 있어 더 엄격하므로, EU 기준 준수 시 한국법도 대체로 충족됩니다.

공공기관 영향평가 의무

제38조에 따라 공공기관은 AI 도입 시 '인공지능 영향평가'를 수행해야 합니다. 인권, 안전, 사회적 영향을 사전에 평가하고 문서화해야 합니다. 공공기관에 AI 솔루션을 납품하는 민간 기업도 영향평가 지원 의무가 발생할 수 있으므로, 평가 프레임워크와 문서 템플릿을 사전에 준비해야 합니다.

더 배우기