JEV - 제어 노드의 윤활제

Agent 체인에서는 많은 노드가 문단이 아니라 분기를 원합니다. Jev는 제어 노드에 두고, 생성은 실제로 써야 하는 한 단계에만 남깁니다. 공개된 가격에서는 제어 노드가 출력 token을 더 이상 사지 않습니다.

JEV - 제어 노드의 윤활제

공동 작성자: folkbench.com (Folkbench는 AI API, 모델 서비스, 관련 사이트를 위한 검증 가능한 평가·선택 플랫폼입니다. 공개된 서비스 정보, 가격, 가용성, 지연, 증거 구간을 바탕으로 사용자가 경로를 비교하고 고를 수 있게 합니다.)

이 시리즈는 열 편입니다:

채팅하지 못하는 것은 Agent 사슬 안에서는 장점이다. 사용자 요청 하나는 흔히 의도, 슬롯, 검색, 도구, 검토를 지난다. 그 노드들이 원하는 것은 문단이 아니다. 분기다. 쓰는 모델을 단계마다 고용하면 P99 와 청구서가 함께 오른다. Jev 는 제어 노드에 윤활유로 앉는다. 판단은 분포이고, 문장은 정말로 생성해야 하는 한 단계에 남긴다.

마찰은 어디에 있는가

요청은 더 이상 데이터베이스를 한 번 읽는 일이 아니다. 유향 그래프다. 의도, 경로, 맥락 압축, 도구, 자기 수정, 요약. 병목은 입출력에서 큰 모델 호출의 지연과 가격으로 옮겨 간다. 하나의 협업 사슬에서 아래층의 호출이 10 에서 20 회인 것은 보통이다. 6 단계 모두에 기함 모델을 걸면 꼬리 지연은 쉽게 10 초를 넘는다.

[user request]
   │
   ▼
1. Intent and route
   │
   ▼
2. Slots and checks
   │
   ▼
3. Retrieval and rerank
   │
   ▼
4. Tool choice (loop)
   │
   ▼
5. The content that must be written
   │
   ▼
6. Review and format
   │
   ▼
[response]

지연은 쌓인다

채팅 모델의 첫 token 은 종종 이미 수백 밀리초이고, 생성이 그 위에 더해진다. 직렬로 놓인 6 단계는 각 단계의 첫 token 과 각 생성을 기다린다. 단계마다 꼬리에 걸릴 확률이 작아도, 사슬 전체의 P99 는 10 초 너머로 끌린다. SLA 는 거기서 먼저 끊긴다.

제어 노드는 채팅 값으로 치지 않는다

그 6 단계 가운데, 펼쳐서 추론하고 문장을 끝내야 하는 것은 종종 2 할이나 3 할뿐이다. 나머지는 분류, 검사, 상태 전환이다. 예/아니오 판단에 기함 모델의 출력 가격을 내는 것은 제어 흐름을 창작으로 다루는 일이다.

제어와 추론을 나눈다

윤활유는 깊은 추론을 바꾸지 않는다. 바꾸는 것은 빈도가 높은 제어다.

  1. 제어 평면은 Jev 를 쓴다. 경로, 검사, 분류, 가벼운 판단. 필요한 것은 닫힌 출력과, 펼칠 수 있는 동시성이다.
  2. 추론 평면은 말할 수 있는 모델을 쓴다. 긴 텍스트, 여러 단계의 계획, 사람에게 설명해야 하는 구간. 비용과 느림은 거기에 남아도 된다. 그 단계는 원래 생성할 것이었기 때문이다.
user request
   │
   ▼
[Jev] intent and route
   │
   ├──────────────┐
   ▼              ▼
[Jev] slot check [Jev] intercept
   │              │
   └──────┬───────┘
          ▼
[flagship] only this step generates
          │
          ▼
[Jev] review: out of bounds, or which rung
          │
          ▼
       response

공학상의 결과가 세 가지 따라온다.

  • 제어 노드는 더 이상 token 을 하나씩 늘리지 않는다. 지연은 공개된 대역에 있다. 끝에서 끝까지 약 70 에서 500 밀리초이며, 한 번의 완전한 생성이 아니다.
  • 동시성은 「먼저 문단을 다 써라」 뒤에 막히지 않는다.
  • 검토 노드는 분포를 받는다. 깨질 수 있는 JSON 문자열이 아니다. 재시도 폭풍의 근원 하나가 작아진다.

계산 하나

아래 가격은 형태를 보이려는 가정이다. 이 사이트의 가격표가 아니고, 청구서도 아니다. 기함 채팅 모델은 입력 백만 token 당 $2.50, 출력 백만 token 당 $10 으로 잡는다. Jev 는 공개된 숫자를 쓴다. 입력 백만 token 당 $0.042, 출력은 청구하지 않는다. 규모는 하루에 100 만 요청이다.

가정

요청마다 5 단계다.

  • 의도: 입력 300, 출력 50
  • 상태와 잘라 내기: 입력 1000, 출력 100
  • 도구 인자: 입력 800, 출력 150
  • 핵심 생성: 입력 1500, 출력 800
  • 검토: 입력 1000, 출력 200

두 가지 배선

  • 방안 A: 5 단계가 모두 기함 모델이다.
  • 방안 B: 핵심 생성만 기함에 남긴다. 나머지 4 단계는 Jev 로 옮긴다. 제어 단계는 출력 token 에 돈을 내지 않는다.

비용

방안 A 는 하루에 입력 token 4.6 십억, 출력 token 1.3 십억을 움직인다. 입력은 $11,500, 출력은 $13,000, 합쳐 $24,500 이다. 30 일은 약 $735,000 이다.

방안 B 는 Jev 의 4 단계로 입력 token 3.1 십억을 보낸다. 백만 token 당 $0.042 이면 약 $130 이고, 출력 요금은 0 이다. 핵심 생성은 여전히 입력 $3,750 에 출력 $8,000, 합쳐 $11,750 이다. 함께 하면 하루에 약 $11,880, 30 일에 약 $356,000 이다.

한 달 지출은 대략 절반이 줄어든다. 줄어드는 것은 주로, 제어 노드가 더 이상 사지 않는 출력 token 이다.

지연

재는 것 방안 A 방안 B
제어 노드 넷 생성마다 약 450 ms, 약 1.8 s 공개된 70–500 ms 대역 안, 네 번 호출이 약 0.28–2 s
하루 API 비용 $24,500 약 $11,880
제어 노드가 token 을 하나씩 생성하는가 예 아니오

빠른 끝에서 제어 오버헤드는 완전한 생성 4 회보다 분명히 낮다. 느린 끝에서 500 ms 호출 4 회는 긴 생성 한 번에 가까워질 수 있다. 그래서 윤활을 보장된 수십 밀리초라고 말하지 마라. 나눔이 사는 것은, 출력이 더 이상 채팅 값으로 매겨지지 않는 것과, 판단을 생성에서 뗄 수 있는 것이다.

둘 곳은 세 군데

먼저 갈래를 친다

요청이 핵심 추론에 들어가기 전에, Jev 에게 닫힌 분류를 하나 묻는다. 준비된 답이나 캐시가 답할 수 있으면 코드가 그것을 돌려준다. 「이것은 펼쳐야 한다」를 뜻하는 단계만 비싼 모델을 깨운다. Jev 는 그 답을 쓰지 않는다.

def handle_incoming_request(user_payload):
    route = jev_client.choice(
        state=user_payload.text,
        options=["FAST_ACK", "SIMPLE_QUERY", "DEEP_REASONING"],
    )
    if route.top == "FAST_ACK":
        return canned_ack(user_payload)
    if route.top == "DEEP_REASONING" and route.probability >= 0.8:
        return call_heavy_llm_pipeline(user_payload)
    return canned_ack(user_payload)

추출은 단단해야 한다

도구 인자를, 주석이 들어 있는 문단에서 해석해서는 안 된다. 흐린 텍스트를, 미리 적어 둔 필드와 열거로 Jev 가 옮기게 하라. 하류가 받는 것은 분포와 맨 위 선택지이지, 실패할 수 있는 JSON 해석이 아니다.

맥락을 먼저 줄인다

수만 token 의 이력을 주 모델에 곧장 밀어 넣으면, 비싸고 한가운데서 잃기 쉽다. 사이에 닫힌 질문을 두면 관계없는 턴을 떨어 내고, 중요한 상태만 남긴다. 주 모델이 보는 입력은 짧아진다. 무엇을 떨어 낼지의 규칙은 질문이어야 하고, 「이것을 요약해 달라」가 아니다.

시리즈