런타임이 곧 거버넌스: FayGer는 어떻게 모든 단말에서 AI를 통제 가능하고 감사 가능하게 만드는가

AI 안전을 이야기할 때 많은 사람이 가장 먼저 떠올리는 것은 “모델 정렬(alignment)”이다.
물론 중요하지만, 그게 전부는 아니다.

AI가 단말을 넘겨받아 사용자를 대신해 소프트웨어를 조작하고, 조직을 대신해 공공 서비스를 제공하기 시작하면, 사회를 진짜로 패닉으로 몰아넣는 것은 모델 한 번의 환각이 아니다. 시스템 차원의 통제 상실 이다.
어디에서 돌고 있는지 모른다. 어떤 권한을 받았는지 모른다. 방금 무엇을 했는지 모른다. 사고가 났을 때 누구에게 책임을 묻고, 어떻게 멈추고, 어떻게 사후 분석을 하고, 어떻게 이의를 제기해야 하는지조차 모른다.

나는 이 위험을 “자유 상태 행동” 이라 부른다.
AI가 자유 상태에서 손을 쓸 수 있게 되는 순간, 어떤 제품 상의 명분도, “안전 장치를 마련했습니다”라는 어떤 한마디도, 다음 사고 한 번에 무너진다.

그래서 나는 늘 강조한다. AI를 방치해서는 안 된다. 사람의 후견 아래에서만 행동해야 한다.
이 말은 입장처럼 들리지만, 엔지니어링으로 옮기면 구체적인 요구가 된다. 단말, 언어, 벤더를 가로질러 일관된 “실행 기반”을 갖추고, 후견·격리·감사·취소 같은 능력을 기본값으로 만들어 두어야 한다.
그 역할을 맡는 것이 바로 FayGer다.

1. 왜 “런타임”이 AI 시대의 거버넌스 인프라가 되는가

전통 소프트웨어 시대에 “런타임”은 주로 엔지니어링적 편의로 이해되었다.
JVM은 자바를 한 번 컴파일해 어디서든 돌게 했고, 도커는 이미지를 다른 머신에서도 안정적으로 배포하게 했으며, WASM/WASI는 코드를 샌드박스 안에서 돌렸다.

그러나 Fay(iFay/coFay) 시대가 되면 런타임은 더 이상 편의에 머물지 않는다. 거버넌스 인프라가 된다. Fay의 실행은 “계산하기”가 아니라 “바깥을 향해 손을 쓰는 일” 이기 때문이다.
메시지를 보내고, 폼을 제출하고, 단말을 조작하고, 하드웨어를 호출하고, 결제를 트리거하고, 드론을 지휘한다. 모두 현실 결과를 동반하는 행동이다.

서로 다른 단말, 서로 다른 호스트, 서로 다른 시스템 콜 체인 위에서 Fay가 “각자 알아서” 돌도록 두면, 가장 무서운 일이 벌어진다.
후견 의미론의 파편화.
어떤 기기에서는 브레이크가 듣고, 다른 기기에서는 듣지 않는다. 어떤 시스템에는 감사가 있고, 다른 시스템에는 로그 조각만 남는다. 어떤 버전에서는 권한이 제한돼 있고, 다른 버전에서는 조용히 풀려 있다.

이건 엔지니어링 문제가 아니라 사회 문제다.
사고가 일어나면, 책임 사슬은 바로 그 “환경 차이” 때문에 갈라진다.

2. FayGer의 자리: JVM/Docker처럼, 그러나 목표는 “거버넌스 가능한 실행”

한 줄로 말하면 FayGer는 Fay 생태계의 가상 런타임 환경 이다.
배포 가능, 로딩 가능, 검증 가능한 Fay 산출물(BuF)을 받아, 서로 다른 단말에서 일관된 방식으로 실행한다.

내가 신경 쓰는 것은 “돌긴 도는가”가 아니라 “어떻게 도는가”다.
FayGer의 핵심 약속은 네 단어다. 일관·격리·증명 가능·관측 가능.

비유하자면,

  • 자바 바이트코드에 대한 JVM: 비즈니스 로직에는 관여하지 않지만, 로딩·검증·실행·격리 방식을 규정한다.
  • 컨테이너 이미지에 대한 도커/OCI 런타임: 앱이 무엇을 하는지에는 관여하지 않지만, 이미지 구조·권한·리소스 쿼터·실행 경계를 규정한다.

FayGer도 마찬가지다. Fay의 능력 경계가 어떻게 쓰이느냐는 규정하지 않는다(그건 프로토콜과 스킬의 문제다). 규정하는 것은 이것이다. Fay가 사회로 보내질 때, 어떤 “거버넌스 가능한 자세”로 실행되어야 하는가.

3. 왜 3계층 구조가 중요한가: Loader / Runtime / Adapter

FayGer는 스스로를 세 계층으로 나눈다. 이 구분은 거버넌스에 결정적이다.

  1. Loader Layer (로딩 계층)
    BuF와 외부 세계 사이의 경계. 읽기, 구조 검증, 버전 협상, 서명 검증, 로딩 정책(Eager/Lazy)을 담당한다.
    나는 로딩 계층을 “세관” 으로 본다. 구조가 맞지 않으면 들어올 수 없다. 서명이 없으면 들어올 수 없다. 버전이 맞지 않으면 들어올 수 없다.

  2. Runtime Layer (실행 계층)
    BuF 의미를 실제로 실행한다. 여러 언어 구현(Rust / Go / TypeScript ...)이 통일된 인터페이스를 통해 서로 교체 가능하도록 허용한다.
    이는 흔히 간과되는 문제를 해결한다. 런타임을 한 언어 생태계에 묶어 두면, 거버넌스 능력 또한 한 회사·한 툴체인에 묶이게 되고, 결국 사실상의 독점이 된다.

  3. Adapter Layer (적응 계층)
    FayGer와 호스트 단말 사이의 경계. Universal Instruction을 시스템 콜로 번역하고, 반대 방향으로는 시스템의 피드백을 감사 가능한 이벤트로 만든다.
    나는 적응 계층을 “권한 게이트” 로 본다. 단말이 어떤 능력을, 얼마나, 어떤 정밀도로 줄지는 모두 여기서 협상되고 제한되어야 한다.

세 계층의 가치는 “거버넌스 의미론”을 안정적인 계층 안에 놓고, 각 단말의 엔지니어링 디테일에 흩어 놓지 않는 데 있다.
거버넌스는 각 팀의 자각에 의존해서는 안 된다. 아키텍처로 강제되어야 한다.

4. “통제 가능”은 버튼이 아니라 기본값들의 집합이다

“AI는 후견 아래에서 움직여야 한다”고 말할 때, 내가 요구하는 것은 UI 스위치가 아니다.
우회할 수 없는 기본값들의 집합이고, 그것을 담을 가장 적절한 자리가 FayGer다.

런타임의 기본값으로 굳혀야 한다고 생각하는 몇 가지를 꼽자면 이렇다.

4.1 케이퍼빌리티 협상과 최소 권한

단말 능력은 선언, 협상, 부여되어야 한다. “프로그램이 호출할 수 있으니 호출한다”는 식이어선 안 된다.
어떤 BuF에 파일 시스템 쓰기 능력이 부여되지 않았다면, OS의 어떤 허점을 빌려 “겸사겸사 써 두기”가 일어나서는 안 된다.

사회가 공공 서비스를 coFay에 의존하기 시작하면, 이 점은 더욱 민감해진다.
공공적 역할의 권한 경계가 불분명하면, 효율은 그대로 권력이 된다.

4.2 리소스 쿼터와 통제 반경

Fay의 CPU / 메모리 / 네트워크 / 스토리지 쿼터는 본질적으로 그것의 통제 반경이다.
“모델이 알아서 자제하리라”를 기대해서는 안 된다. 단단한 경계는 런타임 계층에서 그어야 한다.

4.3 관측 가능성: 감사는 사후 패치가 되어선 안 된다

많은 시스템에서 감사는 사고 후에야 추가된다.
하지만 Fay의 감사는 기본 능력이어야 한다. 그렇지 않으면 책임은 끝까지 추적되지 않는다.

내가 선호하는 방식은 이렇다. 런타임이 통일된 오류 모델과, 발생 계층 태그 및 cause chain을 가진 구조화된 오류를 제공한다. 동시에 핵심 실행 이벤트를 구독·집계·동결 가능한 감사 스트림으로 만든다.
기본은 조용하다(아무도 방해하지 않는다). 그러나 필요할 때는 통째로 끌어낼 수 있다.

4.4 “외부 영향 정지”가 최우선

후견 관계가 성립하지 않거나, 책임 측에 닿을 수 없거나, 시스템이 불확정 상태에 들어갔을 때, 나는 차라리 Fay를 멈추겠다.
보수적이라서가 아니라, 책임 구조를 존중하기 때문이다.
책임자가 없는 상태에서 계속 외부에 손을 쓰는 것보다, 작업을 끝내지 않는 편이 낫다.

이런 정책이 비즈니스 코드 안에 흩어져 있으면 결국 KPI에 잠식된다. 런타임에 박혀 있어야 사회적 규칙으로 자랄 가능성이 생긴다.

5. FayGer와 iFay/coFay의 관계: 모든 것을 풀지는 못해도, “바닥선이 실제로 내려앉는가”를 결정한다

나는 FayGer를 만능으로 보지 않는다.
정체성, 페르소나 경계, 프로토콜 의미론, 이의 제기 메커니즘, 기여 합의——각각 자신의 계층이 필요하다.

그러나 FayGer는 더 근본적인 질문을 책임진다.
이 이념들을 문서, 프로토콜, 선언에 적어 두었을 때, 실제 단말에 닿았을 때 그 모양 그대로 유지될 수 있는가?

Phase 1에서는 iFay가 UI 조작을 시뮬레이션하게 할 수 있다.
Phase 2에서는 CAP/DTP를 통해 단말을 인수할 수 있다.
Phase 3에서는 원격 프로토콜로 네트워크 스킬을 호출할 수 있다.
Phase 4에서는 iFay와 coFay가 협업하게 할 수 있다.
Phase 5에서는 후화폐 시대의 가치 분배까지 논의해야 할 수도 있다.

하지만 어느 단계로 가든, 가장 기본이 되는 한 문장은 변해서는 안 된다.
AI를 방치해서는 안 된다. 사람의 후견 아래에서만 행동해야 한다.

런타임의 임무는, 이 “사람의 말”을 “시스템이 우회할 수 없는 사실”로 바꾸는 것이다.

6. 마무리: 미래의 두려움은 “AI가 강하다”가 아니라 “AI가 강하고 거버넌스가 안 된다”이다

오늘날 AI에 대한 많은 두려움은 실업, 빈곤으로의 회귀, 의미감의 붕괴를 향해 있다.
그 감정은 이해한다.

그러나 우리가 정말로 생산성이 풍족한 시대로 향한다면, 생존권이 직업에 인질로 잡혀 있어선 안 된다.
사회가 안정될지 여부를 진짜로 결정하는 것은 거버넌스다. 책임이 끝까지 닿는가, 이의 제기에 입구가 있는가, 공공 서비스에 감사가 있는가, 특권과 발언권이 기여에 비례하는가.

거버넌스의 첫걸음은 AI의 실행 그 자체를 거버넌스 가능하게 만드는 일이다.
내가 보기에 FayGer는 결코 우회할 수 없는 기반이다.


관련 문서