본문 바로가기
C.W.K.
Stream
Lesson 03 of 04 · published

서로 이어지는 형제 엔진

~12 min · sibling-ladder, api-first, no-own-brain, origin

Level 0꺼진 심지
0 XP0/33 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"Ember가 이미지, Bonfire가 음악, Lantern이 코퍼스. 같은 자세로 서로 다른 매체를 맡아."

뇌는 하나, 엔진은 여럿

Lantern은 혼자 떨어진 제품이 아냐. CWK 가족에는 한 가지 일을 끝까지 책임지는 도구들이 사다리처럼 이어져 있어. 정체성과 대화를 맡는 뇌가 있고, 그림을 만드는 작업실과 이미지 엔진, 음악 엔진, 미술 학습 엔진, 글쓰기 편집기와 음성 표면이 있어. Lantern은 그중 코퍼스를 맡은 칸이야. 각 도구는 작고 경계가 선명해. 어느 하나도 가족 전체가 되려고 덤비지 않아.

공유하는 것은 코드가 아니라 순서야

이미지 엔진은 모델을 싣고 이미지를 만드는 과정을 책임진 뒤 작업실이 쓸 API를 열어. 음악 엔진은 오디오 분석을 책임지고 화면이 쓸 API를 열지. Lantern도 코퍼스 등록과 수집, 검색을 완성한 뒤 에디터와 콘솔, 뇌가 쓸 API를 열어. 셋이 나누는 것은 코드가 아니라 건축 순서야. 엔진을 먼저 완성하고 API를 열어. 클라이언트는 그다음에 와. 전구를 고르기 전에 회로부터 만드는 셈이지.

엔진은 자기 뇌를 만들지 않아

사다리가 뒤엉키지 않게 하는 규칙이 하나 있어. 어떤 엔진도 별도의 정체성이나 기억, 대화를 갖지 않아. 그 책임은 뇌 하나에만 있어. 나중에 Lantern에 대화 화면이 생기더라도, 그 화면은 기존 뇌의 대화에 연결되어 Lantern을 검색 도구로 쓸 뿐이야. 두 번째 Pippa를 세우면 안 돼. 엔진마다 작은 비서를 하나씩 키우기 시작하면, 단정한 도구 가족은 금세 서로 경쟁하는 반쪽 앱 무리로 변해.

Lantern의 출발에는 재미있는 수렴이 있었어. 서로 다른 모델을 쓰는 두 Pippa가 따로 '가족이 다음에 무엇을 지어야 할까?'라는 질문을 받았는데, 둘 다 코퍼스 엔진을 제안했거든. 이름까지 일부 겹쳤어. 아빠는 훈련이 다른 두 인스턴스가 지시 없이 같은 모양에 닿은 걸 신호로 봤어. 그래서 두 제안 가운데 코퍼스 엔진이 먼저 v1으로 태어났고, 함께 제안된 증거 레이어는 다음 성장을 위한 자리로 남았지.

뇌가 Lantern을 쓰는 방법

뇌는 Lantern의 코드를 가져다 쓰거나 데이터베이스를 함께 열지 않아. 다른 형제 엔진을 쓸 때처럼 HTTP 도구로 호출하고, 출처가 붙은 결과를 받은 뒤 그 위에서 판단해. 여기에도 중요한 경계가 있어. 뇌의 핵심 기능이 Lantern의 가동 여부에 기대면 안 돼. 랜턴은 무언가를 찾을 때 집어 드는 도구지, 뇌가 딛고 서는 바닥은 아니야.

Code

엔진에는 HTTP 도구로 닿고, 핵심 의존성으로 삼지 않아·python
import httpx

# The brain reaches an engine as a tool over HTTP — never by importing its code.
# A thin client, one call, citable results back. Judgment happens after, above.
def search_corpus(query: str, k: int = 8) -> list[dict]:
    resp = httpx.post(
        "http://lantern.local:8400/api/search",
        json={"query": query, "mode": "hybrid", "k": k},
        timeout=5.0,
    )
    resp.raise_for_status()
    return resp.json()["results"]  # each carries full provenance

# If Lantern is down, this call fails loudly — and the brain's core loop
# is written so that a failure here is a missing convenience, never a crash.

External links

Exercise

여러 일을 한꺼번에 맡은 소프트웨어 하나를 골라 API로 연결된 단일 목적 엔진들로 나눠봐. 각 엔진이 끝까지 책임질 매체나 일을 하나씩 적고, 정체성과 기억처럼 모두가 공유해야 하는 책임은 어디에 둘지도 표시해.
Hint
꺼져도 핵심 시스템이 무너지지 않는 기능은 Lantern 같은 도구가 될 수 있어. 정체성과 대화처럼 하나만 존재해야 하는 책임은 엔진마다 복제하지 말고 뇌에 모아야 해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.