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}\]

구체적 목표: