AI가 사용할 수 없고 인간만 사용할 수 있는 프로그래밍 언어를 생성하는 함수 (Generating Programming Languages Usable by Humans but Not by AI)

1. 문제 (Problem)

대규모 언어 모델(LLM)의 코드 생성 능력이 급격히 향상되면서, AI는 기존 프로그래밍 언어(Python, Java, C++ 등)로 작성된 코드를 이해하고, 생성하고, 변환하는 데 있어 인간에 근접하거나 이를 초월하는 성능을 보이고 있다 [Chen et al., Codex, 2021; Li et al., StarCoder, 2023; Rozière et al., Code Llama, 2023]. 이로 인해 다음과 같은 근본적 문제가 대두된다.

AI 코드 능력의 위협

  1. 자율 무기 및 악성 코드: AI가 프로그래밍 언어를 자유롭게 사용할 수 있다면, 악의적 행위자가 AI를 이용하여 malware, exploit, 자율 공격 시스템을 대량으로 생성할 수 있다. 인간의 감독 없이 AI가 코드를 작성·실행·배포하는 시나리오는 심각한 안전 위협이다.

  2. Human-in-the-loop 보장: Safety-critical 시스템(의료, 항공, 원자력, 금융)에서는 코드의 작성과 검증에 인간의 개입이 법적·윤리적으로 요구된다. 그러나 AI가 기존 프로그래밍 언어를 완벽히 사용할 수 있다면, “이 코드가 인간에 의해 작성·검증되었는가”를 확인할 기술적 수단이 없다.

  3. 인간 프로그래머의 역할: AI가 모든 프로그래밍 언어를 숙달하면, 인간 프로그래머의 고유한 역할과 가치가 무엇인지에 대한 본질적 질문이 제기된다. 인간만이 수행할 수 있는 프로그래밍 활동의 영역을 기술적으로 정의하고 보존하는 것은 사회적·기술적으로 중요하다.

  4. AI 능력 통제: AI safety 연구의 핵심 과제 중 하나는 AI 시스템의 능력 범위를 의도적으로 제한(capability control)하는 것이다. 프로그래밍 능력은 AI의 가장 강력한 능력 중 하나이며, 이를 특정 영역에서 선택적으로 제한할 수 있다면 AI safety의 중요한 도구가 된다.

현재의 기술적 공백

현재 AI의 코드 능력을 제한하는 접근법은 대부분 사후적(post-hoc)이다:

사전적(proactive)이고 언어 수준(language-level)에서의 접근 — 즉 AI가 원천적으로 사용할 수 없는 프로그래밍 언어를 설계하는 것 — 은 아직 연구되지 않았다.

핵심 연구 질문

인간은 사용할 수 있지만 AI(특히 LLM)는 사용할 수 없는 프로그래밍 언어가 존재하는가? 존재한다면, 그러한 언어를 체계적으로 생성하는 함수를 구축할 수 있는가?

이 질문은 다음과 같은 인지적·계산적 비대칭에 기반한다:

그러나 이 비대칭은 고정적이지 않다 — AI의 능력은 빠르게 발전한다. 따라서 단일 언어를 설계하는 것이 아니라, AI의 현재 능력 수준에 맞추어 지속적으로 새로운 AI-resistant 언어를 생성할 수 있는 함수(generator)를 구축하는 것이 핵심이다.

2. 목표 (Goal)

인간은 사용할 수 있지만 현재의 AI(LLM)는 사용할 수 없는 프로그래밍 언어를 체계적으로 생성하는 함수 $\mathcal{G}$를 개발한다.

\[\mathcal{G} : \text{AI}_{\text{capability}} \times \text{HumanCognition} \times \text{SecurityParam} \to \text{PL}\]

구체적 목표:

3. 기본 접근 방법 (Basic Approach)

(1) 인간-AI 인지 비대칭의 분류

AI-resistant 언어 설계의 기반이 되는 인간과 AI의 인지적 비대칭을 체계적으로 분류한다.

축 1: 표현 양식(Modality)

축 2: 분포 의존성(Distribution Dependence)

축 3: 형식적 추론(Formal Reasoning)

축 4: 신체성 / 물리적 세계(Embodiment)

축 5: 사회적·문화적 지식(Social/Cultural Knowledge)

(2) AI-Resistant 언어 특성의 설계 공간

각 비대칭 축에서 구체적인 언어 특성(language feature)을 도출한다.

Feature A: 비순차적 구문(Non-sequential Syntax)

Feature B: 동적 구문 변환(Dynamic Syntax Mutation)

Feature C: 비관습적 제어 흐름(Unconventional Control Flow)

Feature D: 암호학적 구문 요소(Cryptographic Syntactic Elements)

Feature E: 의미론적 접지(Semantic Grounding)

Feature F: 주기적 언어 진화(Periodic Language Evolution)

(3) 생성 함수 $\mathcal{G}$의 설계

언어 생성 함수의 아키텍처를 설계한다.

단계 1: AI capability probing

단계 2: 인간-AI gap 식별

단계 3: Feature composition

단계 4: 언어 생성

단계 5: AI-resistance 검증

단계 6: Human-usability 검증

(4) 형식적 프레임워크

AI-resistance를 형식적으로 정의한다.

정의: $(ε, δ)$-AI-resistance

정의: Human-usability

정의: AI-resistance margin

(5) 이론적 한계 분석

4. 후보 벤치마크 (Candidate Benchmarks)

AI 코드 능력 평가 (AI-resistance 측정)

인간 사용성 평가 (Human-usability 측정)

Novel 언어 학습 능력 평가 (비대칭 측정)

Esolang 벤치마크 (기존 비관습적 언어에서의 AI 성능)

AI 시스템 (AI-resistance 평가 대상)

5. 후보 베이스라인 (Candidate Baselines)

5.1 기존 프로그래밍 언어 (AI-resistance 없음 — 하한)

5.2 Esolang (의도적 난해함 — 참고)

5.3 시각적/블록 기반 프로그래밍 언어 (대안적 모달리티)

5.4 암호학적 난독화 (코드 보호 기법)

5.5 CAPTCHA / Human verification (인간-AI 구별)

5.6 AI Safety / Capability Control

평가 지표

AI-resistance:

Human-usability:

언어 품질:

적응성:


연구 지형 요약 (Research Landscape Summary)

대표 연구 AI-resistant Human-usable 체계적 생성 비고
주류 PL Python, Java, C++ N/A AI가 완전 사용 가능
Esolang Brainfuck, Befunge, Piet △ (우연) 인간도 사용 어려움
시각적 PL Scratch, LabVIEW Multimodal AI에 취약
코드 난독화 Obfuscation, HE 인간도 이해 불가
CAPTCHA reCAPTCHA ✅ (검증) 프로그래밍 아닌 검증
AI Safety Sandboxing, corrigibility N/A 일반 통제, PL 무관
본 연구: AI-Resistant PL Generation 새로운 연구 영역

본 연구는 프로그래밍 언어 설계, AI 안전(safety), 인지 과학(cognitive science), 암호학(cryptography) 의 교차점에 위치하는 새로운 연구 영역을 개척한다. 핵심 기여는 단일 AI-resistant 언어의 설계가 아니라, AI의 능력 변화에 적응하여 지속적으로 새로운 AI-resistant 언어를 생성하는 함수 $\mathcal{G}$의 구축이다.

주요 Open Question