Skip to content
kimjooyoon edited this page Oct 5, 2026 · 49 revisions

Gooo: 의도를 코드와 관측으로 이어가는 언어

업데이트: 2026-10-05 KST.

Gooo는 의도, 코드의 조립 규칙, 실행에서 확인한 결과를 함께 다루는 실험적 메타프로그래밍 언어입니다. Go로 컴파일러와 작은 모델의 실행기를 개발하고 있습니다. 현재는 조건·대입, 여러 입력의 연결, 레코드 값과 필드 후보식을 작은 프로그램으로 조립하는 데 집중합니다.

설계도와 조립 작업장을 떠올리면 이해하기 쉽습니다. Gooo는 부품의 의미와 연결 규칙을 적습니다. 작은 모델은 허용된 부품의 조합을 어느 순서로 시도할지 제안합니다. 컴파일러가 코드를 만들고 실행한 뒤, 맞은 항목과 남은 항목을 기록합니다. 모델을 연결하지 않으면 결정론적으로 조립합니다.

처음이라면: 시작하기 → 선언 안에 조립 의도 적기 → 기록값을 연결해 실행하기.

지금 해볼 수 있는 것

하고 싶은 일 사용할 흐름 안내
언어의 기본 도구를 써 보기 Gooo 표준 함수·진단·새 Gooo 파일 생성 생태계 작업장
조합 하나가 실패한 뒤 계속 생성 탈락 이유와 부분 결과를 보존하고 다음 후보 시도 후보 실패 이후의 생성
현재 값과 저장값을 구분해 보기 정의·복사·갱신의 소스 관계와 모델 입력을 내보내기 값의 출처
조건·변수·대입을 가진 본문 작성 Gooo 계산 본문을 Go 함수로 생성 여러 줄 본문
제목·상태 같은 기록 전달 여러 입력과 레코드 값을 bind로 연결해 실행 입력 연결 · 기록값
후보식 중 적절한 조합 선택 필드 두 후보식과 한영 의도를 작은 모델에 전달 공유 필드 판단 · 혼합 요구 모델
몇 퍼센트까지 만들었는지 확인 제공한 예시의 출력·필드 충족 수와 실제 값을 읽기 부분 완전성
입력을 바꿔 계속 실행 한 번 컴파일한 그래프를 다시 사용 그래프 재사용
선택된 코드를 다음 작업에 사용 조립한 Gooo와 실행 기록을 저장하고 재실행 소스 조립 · 기록 비교

모델은 조립 때 판단합니다. 생성된 프로그램을 실행하거나 저장한 조립을 재사용할 때는 추가 모델 호출 없이 현재 입력의 실제 값을 얻습니다. 함수 호출·반복문 등의 확장은 현재 지원 범위에서 확인합니다.

최근 실험에서 배운 점

생태계 작업장을 새 공개 저장소로 만들었습니다. 표준 함수13개와 진단·시작 프로그램을 Gooo로 작성하고, 실제 Gooo 소스를 생성해 다시 검사합니다. 기존 자체 모델은 선언된 후보의 순서를 제안합니다. 고정 사례의 출력151/151개와 레코드 필드66/66개, 다섯 저장 재실행을 확인했습니다. 함수·사례·반복 실행은 각 단위로 기록하며 다음 작업은 언어 사용 도구에 집중합니다.

순차 필드 조립은 필드별 대입과 저장한 값을 후보식으로 조립하는 기능이며 main에 병합·설치했습니다. 여섯 코드 형태를72개 그래프로 실행했습니다. 같은 목표 조합에서는 모델의 첫 후보가 모두 맞았지만,현재 모델은 갱신된 필드와 저장해 둔 필드를 같은 배열로 읽는 한계도 확인했습니다.

그 관측을 이어 새 출처 입력을 구현했습니다. 지역값 정의, 복사와 이전 대입을 따라가며 현재 기록과 저장 기록을 구분합니다. 새 입력의 가중치 학습을 준비하는 단계이고, 공개된 기존 가중치는 계속 사용합니다. 후보 조합 실패 후 이어가기에서는 문제 조합의 이유를 남기고 다음 구현을 시도해 유효한 부분 결과를 유지합니다. main에 병합·설치했고, 기존 모델과 설치본 관측을 함께 공개했습니다.

공유 필드 판단은 같은 판단기를 세 필드에 사용합니다. 같은 학습량과 본문 평가에서 첫 완전 조합은 앞선27.6%에서FP32 75.0%, QAT87.5%로 올랐습니다. 새 표현에서는23.4%·19.9%로 떨어집니다. 원시자료와 실패도 공개하고, 실제 활성 필드126/144개와 유지 분기의 결과를 따로 셉니다. 가중치 파일은8,288 B·446 B입니다. 문맥 해석을 포함한 판단은약9µs이며, 전체 생성·빌드·실행 비용도 함께 읽습니다.

반대·혼합 요구를 학습한 필드 모델은 같은 크기의 자체 모델에 작은 짝지은 자료를 가르칩니다.7,168개 소스 관측과GPU3,840회 갱신 뒤 다른 본문의 첫 완전 조합 비율은 기존12.5%에서FP32 27.6%로 올랐고, 새로운 표현에서는15.8%였습니다. 삼진화의 개선은 작았습니다.

360개 실제 그래프를 두 번씩 실행했습니다. 선택한24개 소스의 변환 활성 필드는 첫 후보에서FP32 108/144개, 결정론72/144개를 맞췄습니다. 입력을 그대로 반환해 맞은 필드는 따로 셉니다. 여덟 후보 예산이면 모든 필드를 채웠습니다. Go 요약 명령이 비율·남은 부분·시간과 메모리를 함께 보여줍니다.

그래프 재사용에서는 같은 작성 예제의 여섯 입력 묶음을 실행할 때 전체 시간 중앙값이약2.33초에서0.50초로 줄었습니다. 여섯 명령과 한 명령의 시작 비용이 포함된 비교이며, 실제 값과 일부만 맞은 결과를 유지했습니다. 코드 조립의 판단 비용과 빌드·실행 비용을 함께 살펴봅니다.

어떤 차별점을 만들고 있나

코드를 여러 번 생성하다 보면 원래 의도, 고른 경로와 확인한 동작이 흩어집니다. Gooo는 이 내용을 선언·중간 표현·생성 결과·관측 기록으로 연결해 다음 작업의 입력으로 이어 쓰려 합니다. 판단 단위를 작게 정해 로컬 모델로 빠르게 조립하고, 완전성과 남은 부분을 실제 실행에서 조금씩 확인하는 방향입니다.

현재 수치는 Gooo 내부의 같은 조건을 비교한 실험입니다. 다른 언어와의 정량 비교에는 공통 과제와 완료 기준을 준비하고 있습니다. 지표 읽는 법과 원본 · 최근 연구와 다음 작은 기능.

공개 코드와 모델

구성 위치 담고 있는 것
언어·컴파일러 meta-ontology-go 선언·의미 IR·생성·실행 관측
Gooo 생태계 도구 gooo-ecosystem-workbench Gooo로 작성한 기본 함수·진단·프로젝트 생성·완전성 영수증·인보이스·CI 계획·JEV 기능 탐색 연결
Go 추론 SDK gooo-decision-runtime 고정 배열과 작은 모델의 추론
학습·비교 실험 연구 저장소 학습 도구·비교 조건·원본 기록
자체 모델 공유 필드 판단기 · 혼합 필드 v2 · 전체 후보 판단기 가중치·사용 예제·측정 범위

초기에는 Laya로 구조화된 경로 선택을 실험했습니다. 그 경험을 이어 Gooo 자료와 직접 초기화한 가중치로 자체 모델을 키우고 있습니다. SKETCH, DeepCoder, DreamCoder, BitNet b1.58, PROV-O 등에서 배우는 점과 인용은 참고 연구에 정리했습니다.

언어 둘러보기 · 작은 모델의 조립 과정 · 현재 배포와 지원 범위 · 과거 기록.

Gooo

배우기

직접 다뤄 보기

원리와 개발

공개 코드와 모델

Clone this wiki locally