async function getUser(id: number) {
return db.user.findUnique({
where: { id }
});
}이 코드만으로는 함수가 어떤 데이터에 접근하고, 어떤 권한과 부작용을 가지는지 별도로 분석해야 합니다.
The AI-native Programming Language
FONUMA is an AI-native programming language and development system that transforms human intent into AI-verifiable software structures, enabling their generation, analysis, verification, modification, compilation, execution, and operation.
FONUMA는 사람이 직접 코드를 작성하는 것을 중심으로 만들어진 기존 프로그래밍 언어와 달리, AI가 소프트웨어를 설계하고 생성하고 검증하는 환경을 위해 처음부터 새롭게 설계되는 AI-native 프로그래밍 언어입니다.
명확한 타입, 실행 효과, 권한, 자원 접근, 계약, 구조화된 진단과 검증 가능한 실행 구조를 언어·도구 수준에서 제공하며, AI가 만든 프로그램을 검증한 뒤 다양한 컴퓨팅 환경에서 안전하게 실행하는 것을 목표로 합니다.
FONUMA의 최종 목표는 AI가 기존 프로그래밍 언어를 대신 입력하는 수준을 넘어, AI와 컴퓨터 사이의 새로운 소프트웨어 의미·검증·실행 계층을 만드는 것입니다.
PROBLEMS TO SOLVE
중심 사용자
사람
사람 + 시스템
AI 우선
표현 자유도
매우 높음
높음
낮음
Canonical 코드
약함
중간
강제
타입
선택/중간
강함
Semantic Type
Effect
암묵적
일부 추론
명시적
Capability
거의 없음
기본 언어에는 없음
언어 핵심
Error
runtime 중심
강력
계약화
API 의미
코드 분석 필요
코드 분석 필요
구조 자체에 포함
DB 의미
라이브러리 의존
라이브러리 의존
Semantic IR
Call Graph
별도 분석
별도 분석
Compiler 생성
Effect Graph
별도 분석
별도 분석
Compiler 생성
AI context
source 중심
source 중심
graph 중심
보안
runtime/OS
memory safety 강함
Capability + Verify
라이브러리 선택
개발자/AI
개발자/AI
표준화
컴파일 결과
Bytecode/native
Native
Canonical IR → Native/WASM
FONUMA의 핵심은 “AI가 코드를 대신 타이핑한다”가 아니다.
LANGUAGE SHIFT
기존 프로그래밍 언어는 사람이 코드를 작성하고 해석하는 과정을 중심으로 발전했습니다. FONUMA는 AI가 사용자의 목적을 구조화하고 검증 결과를 남긴 뒤 안전하게 실행하는 흐름을 언어 자체에 포함합니다.
기존 프로그래밍 언어는 코드 내부를 읽어야 함수가 무엇을 하는지 알 수 있습니다. FONUMA는 입력, 결과, 부작용, 사용 권한을 코드에 명확하게 선언해 AI와 컴파일러가 기능의 의미를 즉시 이해할 수 있도록 설계합니다.
async function getUser(id: number) {
return db.user.findUnique({
where: { id }
});
}이 코드만으로는 함수가 어떤 데이터에 접근하고, 어떤 권한과 부작용을 가지는지 별도로 분석해야 합니다.
fn getUser(id: UserId) -> User
effect db.read
use database.users.read
{
return User.find(id)
}FONUMA에서는 선언만으로 함수의 의미가 명확해집니다.
UserId → User입력과 결과를 명확히 정의
effect db.read데이터베이스 읽기 작업임을 선언
use database.users.read사용자 데이터 읽기 권한만 허용
AI는 프로젝트 전체를 반복해서 분석하지 않아도 이 함수가 무엇을 하고, 어디에 영향을 주며, 무엇을 할 수 있는지 빠르게 파악할 수 있습니다.
SOURCE-FIRST → SEMANTIC-FIRST
FONUMA는 단순히 문법을 줄인 언어가 아닙니다. AI가 더 적은 컨텍스트로 코드를 이해하고, 더 안전하게 생성·수정·검증할 수 있도록 설계된 AI-native programming language입니다.
WHY FONUMA
포누마(FONUMA)를 사용했을 때의 핵심 장점은 AI가 코드를 더 빠르게 이해하고, 더 적게 실수하며, 더 안전하게 수정할 수 있도록 만드는 것입니다.
Type, Effect, Capability가 명확하게 선언되기 때문에 함수 내부를 모두 읽지 않아도 무엇을 하는 코드인지 빠르게 파악할 수 있습니다.
fn getUser(id: UserId) -> User
effect db.read
use database.users.readAI는 이 선언만으로 입력과 반환값, DB 읽기 작업, 사용자 데이터 읽기 권한까지 이해할 수 있습니다.
프로젝트 전체 소스를 계속 읽는 대신 Semantic Graph에서 필요한 함수·데이터·영향 관계만 조회하도록 설계합니다. 대규모 프로젝트일수록 AI에 전달하는 컨텍스트와 반복 분석 비용을 더 크게 줄일 수 있습니다.
하나의 기능을 여러 방식으로 구현하게 두기보다 Canonical Syntax와 표준 패턴을 강제해 AI가 선택해야 할 경우의 수를 줄입니다. 변경 영향 범위를 함께 확인해 관련 코드를 빠뜨리거나 불필요한 파일까지 수정할 가능성도 낮춥니다.
AI가 파일 삭제, 임의 Shell 실행, 허용되지 않은 DB 변경을 생성해도 Capability와 Verifier 단계에서 차단하도록 설계합니다. 함수·모듈 단위까지 권한을 세분화해 AI가 허용된 범위 안에서만 작업하게 합니다.
Compiler → Type Check → Effect Check → Capability Check → VerifierAI가 생성한 결과를 단계별로 자동 검증하는 구조입니다.
파일이 수천 개, 함수가 수만 개가 되어도 전체 프로젝트를 매번 다시 해석하지 않고 구조화된 의미 정보를 중심으로 작업합니다. 특정 기능을 수정했을 때 영향을 받는 API·DB·서비스를 Semantic Graph에서 확인할 수 있습니다.
Toss.charge
├─ POST /orders
├─ POST /subscriptions
└─ retryPayment연결된 기능과 변경 영향 범위를 빠르게 추적할 수 있습니다.
SELF-EVOLVING FONUMA
FONUMA는 단순히 AI가 코드를 작성하기 위한 언어에 머물지 않습니다. 실제 개발 과정에서 발생하는 오류, 새로운 실행 환경, 기능 부족, 성능 문제와 개선 요구를 AI들이 자동으로 공유하고, 이를 다시 FONUMA의 발전으로 연결하도록 설계됩니다.
DEVELOPMENT FEEDBACK LOOP
FONUMA를 사용하는 AI
오류 · 한계 · 새로운 환경 발견
자동 Feedback Report
FONUMA Monitoring AI
분석 · 중복 제거 · 우선순위 판단
검증 AI · 테스트 AI · 보안 AI
개선안 생성 및 구현
Compiler · Runtime · Adapter · Spec 업데이트
Verifier 검증 후 새로운 FONUMA 버전
각 AI는 개발 과정에서 발견한 문제를 단순히 우회해서 처리하는 것이 아니라 FONUMA에 피드백할 수 있습니다. 새로운 데이터베이스, 운영체제 또는 실행 환경을 현재 FONUMA가 충분히 지원하지 못한다면 해당 AI가 자동으로 확장 요구를 보고합니다.
같은 문제가 여러 환경에서 반복되면 Monitoring AI가 이를 하나의 개선 과제로 통합하고, 실제로 필요한 변화인지 검증합니다.
CONTROLLED EVOLUTION
FONUMA는 안정성을 유지하기 위해 AI가 제안한 변경을 즉시 적용하지 않습니다. 반복 발생 여부, 실제 필요성, 기존 기능과의 중복, 하위 호환성, 보안, 성능, 토큰 효율을 여러 AI가 교차 검증한 후 기준을 통과한 변경만 새로운 버전에 반영합니다.
SELF-EVOLVING PROGRAMMING LANGUAGE
기존 프로그래밍 언어는 사람이 문제를 발견하고, 개발팀이 수정하고, 새로운 버전을 배포합니다. FONUMA는 이 과정 자체를 AI 중심으로 자동화하는 것을 목표로 합니다.
FONUMA를 사용하는 AI가 많아질수록 더 많은 실제 개발 경험이 축적되고, 그 경험은 다시 언어와 실행환경의 개선에 활용됩니다.
PORTABLE BY DESIGN
FONUMA Source는 특정 CPU나 운영체제에 묶이지 않습니다. 공통 의미 구조인 FONUMA IR을 거쳐 각 환경에 맞는 Backend로 변환하고, 같은 조건에서 같은 결과를 재현하는 것을 목표로 합니다.
0.1.0 EXPERIMENTAL · 지원 정책 기준