왜 나는 Spine을 사용해 AI를 구축했는가: Gemini Live API에서 행동 무결성 고정

발행: (2026년 3월 17일 AM 08:43 GMT+9)
7 분 소요
원문: Dev.to

Source: Dev.to

제목을 위한 표지 이미지: 왜 나는 AI를 Spine과 함께 만들었는가: Gemini Live API에서 행동 무결성을 고정하기

윌로우 만들기: 반발하는 AI

저는 Gemini Live Agent Challenge에 참가하기 위해 이 콘텐츠를 만들었습니다.

대부분의 음성 AI 에이전트는 “사람을 기쁘게 하는” 방식으로 설계되었습니다. 당신이 그들을 모욕하면 사과하고, 말을 가로채면 멈추며, 가스라이팅을 하면 정중히 동의합니다.

제가 Gemini Live Agent Challenge를 위해 Willow를 만들기 시작했을 때, 구조적인 문제인 절대 복종을 해결하고 싶었습니다. 경계와 기억을 가지고, 선을 넘었을 때 반박할 수 있는 수학적 완전성을 갖춘 동료 같은 AI를 만들고 싶었습니다.

“Warm but Sharp”의 아키텍처

Willow는 단순히 프롬프트로 감싼 봇이 아니다. 그녀의 성격은 m‑value 라는 결정론적 행동 상태에 기반한다.

나는 그녀의 “반사 행동”을 “의식적 사고”와 4‑Tier 엔진으로 분리했다:

  • Tier 1 (Reflex): 50 ms 미만에 즉시 톤을 반영한 오프너.
  • Tier 2 (Metabolism): 사용자의 의도를 5 ms 안에 추정하는 휴리스틱.
  • Tier 3 (Conscious): Gemini를 활용해 가스라이팅이나 회피와 같은 조작 전술을 탐지하는 심층 분석.
  • Tier 4 (Sovereign): 핵심 사실이 반박될 경우 오디오 스트림을 문장 중간에 차단하는 결정론적 “Truth Gate”.

프롬프트 위의 수학

LLM에게 “주장 있게 행동하라”라고 명령하고 그 상태가 지속되길 기대할 수 없습니다—프롬프트는 점점 변질됩니다. 대신 Willow의 행동은 수학적으로 정의됩니다:

a(n+1) = a(n) + d + m

만약 m값이 특정 하한 이하로 떨어지면, 그녀의 코드는 물리적으로 20단어 문장으로 제한하고 음성 피치를 평탄하게 만듭니다.

google‑genai SDK와 gemini-2.5-flash-native-audio-preview 모델을 사용해, 나는 턴 사이에 합성 [SYS] 메시지를 삽입하여 행동 컨텍스트를 주입했습니다. 이를 통해 Willow는 세션을 다시 초기화하는 지연 없이 따뜻한 Zephyr에서 차갑고 정확한 Aoede로 목소리를 전환할 수 있었습니다.

존엄성 하한

이 빌드에서 가장 보람 있었던 부분은 Sovereign Spike이었습니다. 사용자가 Willow의 정체성을 재작성하려고 하면, 시스템은 로컬 sovereign_truths.json 파일을 통해 세 단계 게이트로 입력을 검증합니다:

  1. 전사(Transcription) 신뢰도 확인
  2. 키워드 매치
  3. 의미 유사도

그 결과는 미리 정의된 안전 필터가 아니라, 목표 지향적이고 결정론적인 경계 강제입니다.

배운 점

파키스탄에서 혼자 개발하면서 시간과의 싸움이었지만, 한 가지는 확실히 배웠습니다: AI의 미래는 더 빠른 토큰이나 더 나은 음성에만 있는 것이 아니라 존재감에 있습니다. 동료 의식은 마찰을 필요로 하고, 마찰은 수학적 척추를 필요로 합니다.

Source Code

GitHub – Nabeerak / willow

Willow 로고

따뜻하지만 날카롭다. 대화 톤에 동적으로 적응하고, 심리적 조작 전술을 감지하며, 결정론적 주권 진실 레이어를 통해 사실 무결성을 강제하는 행동 프레임워크를 갖춘 AI 음성 에이전트. 2026 Gemini Live Agent Challenge를 위해 구축되었습니다.

아키텍처 개요

Willow 아키텍처

User voice input


┌──────────────────────────────────┐
│  Audio Capture (Browser)         │  Noise gate, adaptive buffer, preflight warmup
│  noise-gate-processor.js         │
│  audio_capture.js                │
└──────────────┬───────────────────┘
               │ WebSocket (binary audio + JSON control)

┌──────────────────────────────────┐
│  WillowAgent  (src/main.py)      │
│                                  │
│  Tier 1: Reflex    <50ms         │  Tone mirroring, Warm but Sharp opener
│  Tier 2: Metabolism  <5ms        │  State formula aₙ₊₁ = aₙ + d + m
│  Tier 3: Conscious  <500ms       │  Thought Signature, tactic detection
│  Tier 4: Sovereign   <2s         │  Hard truth override (deterministic)
└──────────────────────────────────┘

사전 요구 사항

  • Python 3.12+
  • Gemini API 키 ( gemini-2.5-flash-native-audio-preview-12-2025 에 접근 가능)
  • Google Cloud SDK (배포 전용)

빠른 시작 (로컬)

# Clone the repository
git clone https://github.com/Nabeerak/willow.git
cd willow

# Create a virtual environment
python -m venv venv
source venv/bin/activate   # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Set your Gemini API key
export GEMINI_API_KEY=your_api_key_here   # On Windows: set GEMINI_API_KEY=your_api_key_here

# Run the local server
python src/main.py

브라우저에서 http://localhost:8000에 접속하고, 마이크 접근 권한을 허용한 뒤 Willow와 상호작용을 시작하세요.


Gemini Live Agent Challenge를 위해 제작되었습니다.

0 조회
Back to Blog

관련 글

더 보기 »

RAG란 무엇인가?

소개 대부분의 AI 모델은 실제로 귀하의 데이터를 “알고” 있지 않습니다. 이들은 훈련된 내용을 기반으로 답변을 생성하므로, 최신성이 떨어지거나 부정확할 수 있습니다.