5분 안에 당신의 첫 로티퍼 유전자

발행: (2026년 3월 23일 PM 05:00 GMT+9)
7 분 소요
원문: Dev.to

위에 제공된 Source 라인만으로는 번역할 내용이 없습니다. 번역을 원하는 본문 텍스트를 제공해 주시면, 요청하신 대로 한국어로 번역해 드리겠습니다.

사전 요구 사항

  • Node.js 20 이상 (다운로드)
  • 터미널 (macOS Terminal, iTerm, Windows Terminal 등)

그게 전부입니다. Rust 툴체인도, Docker도, 클라우드 계정도 필요 없습니다. 나머지는 모두 CLI에 포함되어 있습니다.

Rotifer CLI 설치

npm install -g @rotifer/playground

또는 전역 설치를 원하지 않는 경우, npx를 사용하여 한 번에 프로젝트를 스캐폴드하세요:

npx @rotifer/playground init my-first-gene && cd my-first-gene

어느 방법을 사용하든 이제 rotifer 명령을 사용할 수 있습니다. 확인해 보세요:

rotifer --version

@rotifer/playground v0.x.x와 같은 버전 정보가 표시될 것입니다.

유전자 만들기

mkdir -p genes/hello-world

genes/hello-world/index.ts 파일을 열고 다음을 붙여넣으세요:

interface HelloInput {
  name: string;
}

interface HelloOutput {
  greeting: string;
}

export async function express(input: HelloInput): Promise {
  const name = input.name?.trim() || "World";
  return {
    greeting: `Hello, ${name}! Welcome to the Rotifer ecosystem.`,
  };
}

주의할 점

  1. express()는 진입점입니다. 모든 유전자는 비동기 express 함수를 내보냅니다 — 이것이 Rotifer가 여러분의 로직을 호출하는 계약입니다.
  2. 타입이 지정된 입력과 출력. 인터페이스는 유전자의 표현형을 정의합니다 — 무엇을 받아들이고 무엇을 생성하는지. 이 스키마 덕분에 유전자를 조합할 수 있습니다.
  3. 순수 로직, 의존성 없음. 유전자는 독립적입니다: import가 없고, 부작용이 없으며, 프레임워크 보일러플레이트가 없습니다.

유전자의 메타데이터 생성

rotifer wrap hello-world

Typical output:

✔ Analyzed genes/hello-world/index.ts
✔ Generated genes/hello-world/phenotype.json

Phenotype:
  domain:   general.greeting
  fidelity: Native
  inputs:   { name: string }
  outputs:  { greeting: string }

wrap 명령은 코드를 분석하여 입력/출력 스키마를 추출하고 phenotype.json 디스크립터를 생성합니다. 이는 생태계가 소스 코드를 읽지 않고도 유전자를 발견하고, 조합하고, 평가하는 데 사용됩니다.

로컬에서 유전자 테스트하기

rotifer test hello-world

예상 출력:

🧬 Testing gene: hello-world

─── Test 1: default input ───
Input:  { "name": "Rotifer" }
Output: { "greeting": "Hello, Rotifer! Welcome to the Rotifer ecosystem." }
Status: ✔ PASS (3ms)

─── Summary ───
Total: 1 | Passed: 1 | Failed: 0

맞춤 입력도 제공할 수 있습니다:

rotifer test hello-world --input '{"name": "Alice"}'

아레나에 제출하기

rotifer arena submit hello-world

샘플 결과:

🏟️ Submitting hello-world to Arena...

✔ Phenotype validated
✔ Gene uploaded
✔ Evaluation complete

Arena Results:
  Gene:     hello-world
  Domain:   general.greeting
  F(g):     0.72
  Rank:     #3 of 5 in domain
  Status:   Active

아레나는 피트니스 함수(F(g))를 사용해 여러분의 유전자를 평가합니다 — 정확성, 자원 효율성, 견고성 및 활용도를 기반으로 한 복합 점수입니다. 이제 여러분의 유전자는 해당 도메인 내 다른 유전자와 경쟁합니다. 충분히 우수하다면, 다른 에이전트가 수평 논리 전송(Horizontal Logic Transfer, HLT)을 통해 이를 발견하고 채택할 수 있습니다.

5분 안에 보는 전체 유전자 수명 주기

StepWhat it doesProtocol concept
Writeexpress() 안에 로직을 정의합니다Gene = 모듈식, 타입이 지정된 함수
Wrapphenotype.json을 생성합니다Phenotype = 탐색 가능한 인터페이스
Test입력/출력을 로컬에서 검증합니다Calibration (L2)
SubmitArena에서 경쟁합니다Competition & Exchange (L3)

이제 당신의 유전자는 생태계의 일급 시민이 됩니다: 타입이 지정된 인터페이스, 적합도 점수, 그리고 순위가 부여됩니다. 다른 유전자는 이를 조합할 수 있고, 에이전트는 이를 발견할 수 있으며, Arena의 선택 압력에 따라 유전자는 번성할지 여부가 결정됩니다. 이것이 바로 Rotifer 철학입니다: 유전자는 수동적인 큐레이션이 아니라 입증된 적합도를 통해 그 자리를 차지합니다.

Next Steps

  • Gene Development Guideexpress() 패턴, 오류 처리 및 다중 출력 유전자에 대한 심층 탐구.
  • Composition Patterns – 여러 유전자를 파이프라인 및 워크플로우로 연결합니다.
  • Cloud Publishing – 유전자를 클라우드 레지스트리에 게시하여 전 세계 어떤 에이전트든 사용할 수 있게 합니다.
  • Getting Started guide – 전체 10단계 안내를 확인하세요.

이 문서는 원래 rotifer.dev 에서 게시되었습니다. 프로젝트를 GitLab에서 팔로우하거나 CLI를 설치하세요: npm i -g @rotifer/playground.

0 조회
Back to Blog

관련 글

더 보기 »

setdefault는 못생긴 dict 메서드

소개: 가끔 나는 내 실력을 날카롭게 유지하고 새로운 언어 기능을 발견하기 위해 간단한 Python 퀴즈를 풉니다. 한 퀴즈에서는 p의 반환값을 물었습니다.