프로그래밍 기초 · 선형 구조: 매일 쓰는 것들

큐: Agent 일은 줄 서서 해요

지난 레슨의 스택은 「후입선출」이었죠. 이번엔 방향을 뒤집어요: 선입선출—한쪽으로 들어가 다른 쪽으로 나와요. 식당 배식 줄과 같아요. 소박해 보여도, AI 서비스가 만 명이 동시에 물어도 버티고 Agent가 일련의 일을 차근차근 끝내는 힘은 모두 이 줄에 있어요. 이번 레슨에서 당신은 스케줄러예요: 파이프라인을 직접 돌리고, 적체까지 밀어본 뒤 다시 구해내 보세요.

바로 해보기 · 당신이 스케줄러

왼쪽 사용자가 요청을 계속 보내고, 가운데 큐에 줄 서며, 오른쪽 Agent 일꾼이 출구 쪽에서 순서대로 가져가 처리해요(먼저 온 것부터). 화면에 들어오면 파이프라인이 스스로 돌아가요. 플레이 법: 「요청량」을 최대로 끌어 큐가 얼마나 빨리 빨개지는지 보고, 「처리 속도」도 올려 적체가 어떻게 소화되는지 보세요.

👥
사용자 요청
생산자
(큐가 비어 있어요)
😴
Agent 일꾼
소비자
0
대기 중
파이프라인이 아직 안 돌았어요
입장 0 | 완료 0
2.0/초
2.0/초
회색 = 공회전 | 초록 = 건강 | 빨강 = 적체 8개 초과
방금 그 적체가 바로 「피크 완화」 현장이에요. 요청이 갑자기 폭증(피크)하면 일꾼이 잠시 못 따라가요—괜찮아요, 큐가 먼저 받아 주거든요. 아무것도 버리지 않고, 새치기도 없어요. 요청이 가라앉으면(밸리) 일꾼이 줄을 천천히 비워요. 이 줄이 없으면 처리 능력을 넘는 요청은 그 자리에서 거절당해요. AI 피크 때 가끔 빙글빙글 돌지만 바로 에러는 잘 안 나는 건, 뒤의 큐가 대신 줄을 세워 주기 때문이에요. 반대로 큐가 늘 비어 있으면 일꾼을 너무 많이 둔 거예요—큐 길이는 시스템 건강의 가장 정직한 대시보드예요.
30초 · 스택 vs 큐, 어디서 꺼내는지만 달라요

A, B, C 세 원소를 넣었다가 전부 꺼내 보세요. 한 번에 재생하고, 양쪽 「나온 순서」를 지켜보세요.

🥞 스택(지난 레슨의 단골)

같은 쪽으로 넣고 같은 쪽으로 꺼냄

나온 순서: —

🚶 큐(이번 레슨의 주인공)

한쪽 넣고 다른 쪽 꺼냄

나온 순서: —
A, B, C를 차례로 넣고 전부 꺼냄
C → B → A 와 A → B → C. 두 구조의 차이는 딱 하나: 어디서 꺼내느냐. 스택은 같은 쪽에서 꺼내서 「왔던 길로 되돌리기」(실행 취소, 함수 반환)에 딱 맞고, 큐는 다른 쪽에서 꺼내서 「먼저 온 순서로 처리」에 맞아요. 수납 방식에 우열은 없고, 맞는지만 있어요.
AI 세계에서의 진짜 모습
📋

Agent의 todo list

Agent가 일을 하위 작업으로 쪼갠 뒤 큐에 넣어 순서대로 해요: 자료 조사 → 초안 → 자체 점검. 먼저 계획한 것부터 실행하고, 건너뛰지도 빠뜨리지도 않아요—그 질서는 지능이 아니라 큐예요.

🚦

API 한도 대기열

모델 API는 분당 호출 횟수가 정해져 있어요. 초과 요청은 버려지지 않고 큐에 들어가 다음 창을 기다려요. 프로그램이 가끔 「반 박자 늦게」 돌아오면, 대개 그 줄에서 기다린 거예요.

📮

메시지 큐

큰 시스템에서 서비스끼리 직접 소리치지 않고, 일을 메시지로 적어 큐에 넣고 상대가 자기 페이스로 가져가요. 방금 파이프라인의 산업용 버전이고, 업계 용어로는 메시지 큐예요(Kafka, RabbitMQ가 모두 그것).

이 강의가 전하고 싶은 것