Multi-Stream LLMs: new paper on parallelizing/separating prompts, thinking, I/O
TL;DR Highlight
현재 LLM이 입력·사고·출력을 순차적으로만 처리하는 구조적 한계를 지적하고, 각 역할을 별도의 병렬 스트림으로 분리해 동시에 처리할 수 있는 Multi-Stream 방식을 제안한 논문이다. 에이전트의 효율성·보안·모니터링 가능성을 모두 개선할 수 있다는 점에서 주목받고 있다.
Who Should Read
LLM 기반 에이전트나 도구 호출(tool calling) 시스템을 개발하고 있는 백엔드·AI 엔지니어, 또는 추론 속도와 에이전트 아키텍처 개선에 관심 있는 ML 연구자.
Core Mechanics
- 현재의 모든 LLM 에이전트는 ChatGPT 시절부터 이어진 단일 메시지 스트림 구조에 묶여 있다. 사용자, 시스템, 도구, 모델 자신(chain-of-thought)이 전부 하나의 순차적 흐름 안에서 처리된다.
- 이 단일 스트림 구조 때문에 '읽는 동안은 출력 불가', '쓰는 동안은 새 입력에 반응 불가', '생각하는 동안은 행동 불가' 같은 근본적인 병목이 생긴다. 사람으로 비유하면 멀티태스킹이 아예 불가능한 뇌와 같다.
- 이 논문은 각 역할(사용자 입력, 시스템 프롬프트, chain-of-thought, 출력 등)을 별도의 병렬 스트림으로 나누는 Multi-Stream 방식을 제안한다. 모델의 각 forward pass에서 여러 입력 스트림을 동시에 읽고, 여러 출력 스트림에 동시에 토큰을 생성한다.
- 학습 방식도 바꿔야 한다. 기존 sequential instruction-tuning 데이터 포맷 대신, multi-stream 포맷으로 instruction-tuning을 다시 해야 이 기능이 작동한다. 즉 아키텍처보다는 데이터·학습 방식의 변화가 핵심이다.
- 데이터 준비 과정에서 80B 규모의 모델을 사용해 기존 sequential instruction 데이터를 multi-stream 포맷으로 변환했다. 다만 논문 자체는 비교적 소규모 모델로 실험했고, 현대 대규모 instruction 데이터나 RLHF 같은 다단계 후처리에는 아직 미치지 못한다고 저자 스스로 인정한다.
- 보안 측면에서도 이점이 있다. 스트림이 분리되면 '관심사 분리(separation of concerns)'가 가능해져 시스템 프롬프트와 사용자 입력, 도구 출력을 서로 완전히 격리할 수 있다. 프롬프트 인젝션 같은 공격을 구조적으로 차단할 수 있다.
- 모니터링 가능성도 개선된다. 생각(thinking) 스트림, 행동(action) 스트림, 출력 스트림이 별도로 존재하므로, 모델이 무엇을 생각하고 무엇을 출력하는지 스트림별로 독립적으로 추적하거나 평가할 수 있다.
- 논문은 Max Planck Institute for Intelligent Systems에서 나왔으며, 코드도 공개되어 있다. 저자들은 현재 결과가 소규모 실험에 불과하고 대규모로 검증하는 것이 미래 과제라고 밝힌다.
Evidence
- '병렬 스트림 내에서 모순된 토큰이 생성되면 어떻게 되냐'는 질문이 나왔다. 예를 들어 Contemplating Stream에서는 'y op z = 3', Thinking Stream에서는 'y op z = 5'가 동시에 나올 수 있는데, 이 경우를 어떻게 처리하는지 논문에서 충분히 다루지 않는다는 지적이었다.
- 병렬 도구 호출(parallel tool calling)에 회의적인 실사용 경험도 공유됐다. 커스텀 GPT 4.5 harness에서 parallel tool calls를 비활성화했더니 결과 품질이 극적으로 향상됐다는 경험담이 있었다. 속도는 느려지지만 정확도가 훨씬 높아졌다는 것으로, 병렬화가 항상 좋은 건 아니라는 반론이다.
- 데이터 준비 방식에 대한 우려가 있었다. 80B 모델로 sequential 포맷을 multi-stream 포맷으로 변환하는 과정에서 정보가 '누출(leak)'되거나 결과가 오염될 수 있다는 지적이다. 이를 검증하려면 RL(강화학습) 기반의 추가 실험이 필요했는데 논문에 없다는 아쉬움도 표현됐다.
- 멀티 스트림을 기존 소프트웨어 엔지니어링의 비동기 스트림 패턴과 동일선상에서 보는 시각도 있었다. 도구 호출은 원래 비동기로 처리할 수 있고, 서브에이전트 태스크 분해도 같은 방식으로 모델링 가능하다는 의견이다. LLM 레벨이 아닌 시스템 레벨에서 이미 해결할 수 있는 문제 아니냐는 뉘앙스였다.
- 스트림 분리로 인해 컨텍스트 윈도우가 사실상 줄어드는 거 아니냐는 질문도 나왔다. 전체 컨텍스트가 여러 스트림으로 나뉘면 각 스트림이 볼 수 있는 컨텍스트가 짧아진다는 우려인데, 논문에서 이 부분을 어떻게 처리하는지 명확하지 않다는 지적이었다.
How to Apply
- 에이전트 시스템에서 tool calling을 구현 중이라면, 당장 모델 아키텍처를 바꾸기 전에 시스템 레벨에서 비동기 병렬 처리를 먼저 도입해볼 수 있다. 도구 호출 결과를 priority queue로 관리하고 응답이 오는 순서대로 처리하면 Multi-Stream의 일부 효과를 지금 당장 얻을 수 있다.
- 프롬프트 인젝션이나 시스템 프롬프트 노출이 걱정되는 서비스라면, 이 논문의 '관심사 분리(separation of concerns)' 개념을 참고해 입력 소스별로 명확히 구분된 컨텍스트 구조를 설계하는 것이 좋다. 완전한 Multi-Stream이 아니더라도 시스템 프롬프트와 사용자 입력의 경계를 더 엄격히 관리하는 방향으로 적용 가능하다.
- 논문 코드가 공개되어 있으므로, 소규모 모델을 직접 multi-stream 포맷으로 instruction-tuning 해보고 싶은 경우 arXiv 논문 페이지에서 코드 링크를 통해 실험해볼 수 있다. 다만 저자 스스로 소규모 실험임을 인정하고 있어 프로덕션 적용보다는 연구·탐색 목적에 적합하다.
- 에이전트가 실행 중에 새 정보에 반응하지 못하는 문제를 겪고 있다면, 모델을 주기적으로 중단시키고 현재 목표와 진행 상황을 다시 주입하는 방식이 실용적 대안이 될 수 있다. 한 커뮤니티 개발자가 'is that the best you can do?'처럼 주기적으로 개입했을 때 성능이 크게 올랐다고 공유했는데, Multi-Stream이 상용화되기 전까지 쓸 수 있는 현실적인 우회책이다.
Terminology
Related Papers
HarnessAPI: A Skill-First Framework for Unified Streaming APIs and MCP Tools
FastAPI HTTP 엔드포인트와 MCP 도구를 하나의 폴더에서 자동으로 동시에 만들어주는 Python 프레임워크
Formal Verification Gates for AI Coding Loops
AI가 생성한 코드에서 보안 불변식(invariant)을 지키게 하려면 프롬프트 지시보다 타입 시스템 같은 구조적 제약이 훨씬 효과적이라는 주장과 구현 방법을 소개한다.
Learnings from 100K lines of Rust with AI (2025)
Azure RSL(분산 합의 라이브러리)을 Rust로 재구현하면서 AI 코딩 에이전트를 활용해 4주 만에 100K 라인을 작성한 경험담으로, Code Contracts와 Spec-Driven Development를 AI와 조합하는 실전 워크플로우를 공유한다.
A Methodology for Selecting and Composing Runtime Architecture Patterns for Production LLM Agents
LLM agent가 왜 터지는지 이름 붙이고, 어떤 아키텍처 패턴을 언제 써야 하는지 5단계로 정리한 실전 가이드
Show HN: Forge – Guardrails take an 8B model from 53% to 99% on agentic tasks
작은 로컬 LLM(8B)에 guardrails(구조적 안전망)를 씌워 멀티스텝 에이전트 작업 성공률을 53%에서 99%까지 올린 Python 프레임워크 Forge 공개. 모델 자체는 건드리지 않고 실행 환경을 강화하는 접근법이라 주목받고 있음.
Mini Shai-Hulud Strikes Again: 314 npm Packages Compromised
2026년 5월 19일, npm 계정 하나가 탈취되어 22분 만에 637개 악성 버전이 배포됐고, echarts-for-react·size-sensor 등 월 수백만 다운로드 패키지들이 감염되어 AWS 자격증명·SSH 키·AI 코딩 에이전트까지 탈취하는 정교한 공급망 공격이 발생했다.