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

공동 작성자: folkbench.com (Folkbench는 AI API, 모델 서비스, 관련 사이트를 위한 검증 가능한 평가·선택 플랫폼입니다. 공개된 서비스 정보, 가격, 가용성, 지연, 증거 구간을 바탕으로 사용자가 경로를 비교하고 고를 수 있게 합니다.)
이 시리즈는 열 편입니다:
- JEV - 관절에는 뇌가 필요 없습니다
- JEV - 제어 노드의 윤활제
- JEV - BERT에서 하나의 분포로
- JEV - 주문 대신 닫힌 질문을 설계한다
- JEV - 반토큰 장부는 이것을 먼저 내지 않는다
- JEV - 분포만 돌려주는 두 demo
- JEV - 루프에서 나가기: 확신도를 코드에 쓴다
- JEV - 선을 넘으면 더 똑똑함은 상품이 아니다
- JEV - 직관과 이성: 관절에 묻지 말 말
- JEV - 화면 조작에서 확률만으로
채팅하지 못하는 것은 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 할뿐이다. 나머지는 분류, 검사, 상태 전환이다. 예/아니오 판단에 기함 모델의 출력 가격을 내는 것은 제어 흐름을 창작으로 다루는 일이다.
제어와 추론을 나눈다
윤활유는 깊은 추론을 바꾸지 않는다. 바꾸는 것은 빈도가 높은 제어다.
- 제어 평면은 Jev 를 쓴다. 경로, 검사, 분류, 가벼운 판단. 필요한 것은 닫힌 출력과, 펼칠 수 있는 동시성이다.
- 추론 평면은 말할 수 있는 모델을 쓴다. 긴 텍스트, 여러 단계의 계획, 사람에게 설명해야 하는 구간. 비용과 느림은 거기에 남아도 된다. 그 단계는 원래 생성할 것이었기 때문이다.
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 의 이력을 주 모델에 곧장 밀어 넣으면, 비싸고 한가운데서 잃기 쉽다. 사이에 닫힌 질문을 두면 관계없는 턴을 떨어 내고, 중요한 상태만 남긴다. 주 모델이 보는 입력은 짧아진다. 무엇을 떨어 낼지의 규칙은 질문이어야 하고, 「이것을 요약해 달라」가 아니다.