야간 관제실을 떠올려 보자. 관제사는 모니터를 지켜보다가, 중요한 장면이 지날 때마다 옆 노트에 시각과 함께 한 줄씩 적어 둔다. 한참 뒤 누군가 "아까 그거 뭐였죠?" 하고 물으면, 영상 테이프를 되감는 대신 지금 화면과 그 노트를 같이 본다. 노트만으로 과거 맥락이 되살아난다.
난징대 등이 공개한 스트리밍(실시간으로 쉼 없이 흘러드는) 영상 AI 'OneStreamer'가 하는 일이 바로 이것이다. 관찰한 장면을 스스로 타임스탬프 캡션, 그러니까 '언제 무엇을 봤는지' 적은 짧은 설명문으로 남겨 두고, 나중 질문에 그 메모를 꺼내 쓴다. Qwen3-VL-4B를 기반으로 만든 40억 파라미터짜리 작은 모델인데도, 스트리밍 영상 이해 성능 시험 8개에서 비교 대상을 전부 제쳤다. 작은 덩치가 이렇게까지 잘한 비결이 저 '메모' 하나에 있다.
실시간 영상 AI의 고충은 생각보다 고약하다. CCTV를 보는 경비원이나 몸에 걸치는 비서 기기를 떠올려 보자. 눈앞을 방금 지나간 장면이 나중에 중요해질지는 그 순간엔 알 수 없다. 사소해 보였던 장면이 10분 뒤 질문의 핵심 단서가 되기도 한다. 그런데 그때쯤이면 그 장면은 이미 모델의 좁은 작업 기억, 즉 컨텍스트에서 밀려나 사라진 뒤다.
지금까지의 대응은 크게 세 갈래였고, 저마다 약점이 있다.
첫째, 과거를 다시 꺼내 쓰는 방식. 지난 영상을 압축하거나 검색해 불러온다. 문제는, 붙잡아 둔 과거 영상 조각이 지금 들어오는 장면과 좁은 컨텍스트 자리를 두고 다툰다는 점이다. 과거를 많이 쥘수록 현재를 보는 눈이 흐려진다.
둘째, 추론을 계속 갱신하는 방식. 영상이 흐르는 동안 "지금 상황은 이렇다"는 생각을 쉼 없이 고쳐 쓴다. 하지만 '내가 이렇게 판단했다'는 생각의 흔적과, '무엇이 언제 있었다'는 사실 기록은 다른 물건이다. 생각의 흔적은 나중에 그대로 꺼내 쓸 사실 장부가 되지 못한다.
셋째, 특수 신호로 "답할까 말까"를 제어하는 방식. 여기엔 데이터 불균형이라는 함정이 있다. 영상 대부분의 순간은 "아직 조용히 지켜보는 중"이고, 실제로 뭔가 내보낼 순간은 드물다. 이 순간들을 전부 똑같이 학습시키면 모델은 "침묵"만 과하게 배운다.
핵심 질문은 하나로 좁혀진다. 들어오는 관찰을 어떻게 '다시 꺼내 쓸 수 있는 사실 기억'으로 바꿔서, 과거와 현재의 증거를 모두 쓴 때맞춘 응답으로 이어지게 할 것인가.
온스트리머의 설계는 한 문장으로 요약된다. 언제 입을 열지와 무슨 내용을 낼지를, 끊기지 않고 흐르는 한 줄기 안에서 함께 배운다.
보통 AI가 글을 '생성'한다고 하면 사용자에게 보여줄 답을 만드는 일을 뜻한다. 온스트리머는 같은 생성 능력을, 사용자에겐 보이지 않는 '관찰 메모 쓰기'에도 쓴다. 과거를 보존하려고 영상 조각을 늘리는 대신, 관찰하는 순간에 미리 텍스트로 받아써 둔다. 검색이 아니라 기록이다. 텍스트는 영상 조각보다 훨씬 가벼워서 자리를 덜 차지한다.
이 메모장 역할을 하는 장치가 PHCM(관찰을 적어 두는 계층형 기억)이다. 두 가지 굵기로 적는다. 짧은 구간을 조밀하게 받아쓰는 상세 기록이 있고, 완결된 사건을 더 거친 시간 단위로 묶는 성긴 요약이 있다. 각 기록은 그것을 뒷받침하는 원본 구간의 시각에 묶여 있어서, '세부 ↔ 사건 요약'의 계층을 이룬다.
영리한 지점은 영상 입력 자체는 '최근 창'으로 고정해 둔다는 것이다. 먼저 들어온 장면부터 차례로 밀려나는, 최근 몇 장면만 담는 창이다. 과거를 붙잡으려고 이 창을 늘리지 않는다. 과거는 오직 텍스트 메모로만 들고 간다. 그래서 먼 과거의 맥락을 쥐면서도, 지금 장면을 보는 눈은 좁아지지 않는다. 제목의 '현재를 흐리지 않고'는 바로 이 지점, 곧 지금 장면을 보는 시야를 가리킨다. 응답 속도 자체를 가리키는 말은 아니다. 다만 이 논문도 응답 지연을 재긴 한다 — 첫 토큰이 나오기까지의 시간(TTFT, §5.3 표 4)에서 PHCM은 0.124초, FIFO는 0.094초로, 과거 영상을 통째로 든 Full의 4.560초보다 훨씬 빠르다. 단, 이 수치는 미리 적어 둔 메모를 꺼내 쓰는 응답 단계만 잰 것이라, 관찰부터 응답까지의 전체 처리 지연과는 구분해서 봐야 한다.
두 번째 축은 '언제 입을 열지'를 가르치는 법이다. 원리는 한 문장이다. 흔한 침묵은 일부만 골라 가르치고, 드물지만 중요한 행동 — 메모를 남기거나 응답을 시작하는 순간 — 은 하나도 빼놓지 않고 전부 가르친다. 이렇게 침묵의 수적 우세를 눌러, 모델이 영원히 눈치만 보는 것을 막는다.
제어 신호는 이렇게 쓰인다. 기록도 응답도 없이 조용히 관찰, 기억 메모를 남김, "증거가 떠오르지만 아직 답할 준비는 안 됐다"는 대기, 그리고 사용자에게 보이는 답. 이 네 가지가 같은 한 줄기 안에서 번갈아 나온다.
이 논문에서 가장 흥미로운 결과는 종합 점수가 아니라, 과거와 현재의 오래된 맞교환을 깨뜨린 지점이다. 지금까지는 과거를 많이 들고 갈수록 현재 장면 판단이 나빠졌다. 온스트리머는 과거를 영상이 아니라 텍스트로 바꿔 들고 감으로써, 그 맞교환을 상당 부분 비껴갔다.
이걸 어떻게 확인했나. 같은 체크포인트에 같은 '최근 16장면' 창을 고정해 두고, 딱 하나만 바꿔 가며 비교했다 — 관찰 중에 적은 캡션 메모를 나중 예측에 남기느냐 아니냐. 세 가지를 견준다. 오래된 것부터 버리고 메모를 안 남기는 방식(FIFO), 과거 영상을 통째로 보유하는 방식(Full), 그리고 과거를 캡션 메모로 들고 가는 온스트리머 방식(PHCM).
현재 쪽부터 보자. 메모를 든 PHCM은 현재 지각 점수를 메모 안 든 FIFO만큼도 깎지 않았다. OVOBench 실시간이 80.9에서 81.4로, StreamingBench 실시간이 86.3에서 앞 표의 86.9로 오히려 올랐다. 과거 쪽은 더 인상적이다. 과거 장면을 되짚는 정확도 지표(원문 표기 ASI)에서 FIFO의 63.5가 PHCM에서 71.6으로 뛴다. 영상을 통째로 들고 있던 Full의 67.6보다도 4.0점 높다. OVOBench 종합 역시 PHCM이 가장 높아(앞 표의 72.1), Full 70.9와 FIFO 70.1을 모두 웃돈다.
정직하게 덧붙이면, 과거와 관련된 또 다른 지표(원문 EPM)에서만은 PHCM 62.6이 Full 63.0에 미세하게 뒤진다. 모든 과거 과제에서 메모가 영상 보유를 이기는 건 아니다.
이 바탕 위에서 종합 성적이 나온다. 40억짜리 온스트리머가 거의 세 배 큰 110억 모델(MOSS-VL-Realtime)을 대부분의 평가에서 앞섰다. 베이스 모델 대비 평균 25.0%, 각 벤치마크에서 가장 강한 경쟁 방법 대비로도 6.1% 높다.
| 구분 | 벤치마크 | OneStreamer-4B | Qwen3-VL-4B 대비 | MOSS-VL-Realtime(11B) 대비 |
|---|---|---|---|---|
| 지각·기억 | OVOBench | 72.1 | +13.3 | +1.9 |
| StreamingBench Real-Time | 86.9 | +5.1 | +4.0 | |
| OVBench | 66.8 | +11.4 | +13.1 | |
| ODVBench | 71.3 | +13.7 | +7.4 | |
| 능동 응답 | ProactiveVQA | 48.7 | +14.4 | +1.5 |
| OmniMMI (ASR 사용) | 36.6 | +7.2 | +3.9 | |
| OVO-Timing (F1) | 41.6 | +12.2 | +3.1 | |
| ViSpeak | 2.87 | (베이스 2.41) | (11B 2.48) |
'언제 입을 열지' 가르친 방식도 숫자로 값을 했다. 상태 표시의 27.5%만 가르쳤는데도, 전부 조밀하게 가르친 방식과 '양만 똑같이 맞춘 무작위 선택'을 둘 다 앞섰다. 적게 가르쳤는데 더 잘 배운 것인데, 흔한 침묵을 솎아 내고 입을 여는 순간만 남긴 선택이 주효했다는 해석이다.
이 설계의 운명은 '메모의 질'에 전부 걸려 있다. 과거를 영상 대신 모델이 쓴 캡션으로 들고 가므로, 캡션이 틀리면 그 오류가 그대로 기억에 박제된다. 원본 장면은 이미 창에서 밀려난 뒤라 되감아 확인할 길도 없다. 잘못 적힌 한 줄이 이후의 모든 예측을 오염시킬 수 있다.
왜 이 문제가 생기나. 학습할 땐 검증된 '정답 캡션'으로 가르치지만, 실제로 돌릴 땐 옆에서 검증해 줄 사람이 없다. 모델은 자기가 방금 생성한 메모를 그대로 믿고 그 위에 쌓아 올린다. 학습 환경과 실제 환경의 이 간극에서 오류 누적이 싹튼다. 자기가 쓴 기억의 오류를 어떻게 막을지는 더 파고들 지점이다.
평가가 전부 벤치마크 점수라는 점도 짚어야 한다. 4B가 11B를 앞섰다는 결과가 이 특정 시험지들에 대한 적합인지, 시험지 밖 실제 라이브 스트림에서도 유지될 우위인지는 벤치마크만으로 가를 수 없다. 이건 이 논문만의 문제가 아니라 이 분야 전체가 안고 있는 한계다.
이 원리를 영상이 아니라 '업무 협업'이라는 스트림에 옮기면 어떻게 될까. 하루 종일 회의, 채팅, 작업 로그가 쉼 없이 흐르는 팀을 곁에서 지켜보는 AI 매니저를 상상해 보자. 사람 PM이 붙어도, 그 사람이 종일 돌아가는 모든 스트림을 혼자 다 지켜볼 수는 없다. 이 지점에서 논문의 설계가 연결된다. 중요한 건 영상이라는 소재가 아니라, '스트림'이라는 데이터 형태를 다루는 방식 자체다.
한 장면을 끝까지 따라가 보자. 화요일 오후, 고객이 채팅으로 "납기를 금요일에서 다음 주 화요일로 미뤄 달라"고 한다. 팀은 짧게 논의하고 개발 순서를 바꾸기로 한다. 사흘 뒤, 다른 담당자가 묻는다. "그때 납기 왜 바꿨죠?"
지금까지 이런 PM형 에이전트의 표준 해법은 모든 대화를 저장해 두고 질문이 오면 관련 조각을 검색해 끌어오는 방식이었다. 온스트리머식 그림은 결이 다르다. 스트림이 흐르는 그 순간에 에이전트가 스스로 "화요일 15시, 고객 요청으로 납기 금→화 변경, 근거는 이것" 하고 한 줄 적어 둔다. 사흘 뒤 질문엔 로그 전체를 되짚을 필요 없이, 최근 맥락과 그 메모 한 줄만 보면 된다.
온틀의 AI PM이 다루는 것도 영상이 아니라 이런 텍스트 업무 스트림이다. 그래서 논문의 기법을 코드째 이식할 순 없다. 하지만 '보는 동안 결정의 사실 기록을 남겨 둔다'는 설계 원칙은 소재를 넘어 그대로 쓸 수 있다. 여기에 PM의 감각 두 가지가 데이터 설계로 번역된다. 하나, 대부분의 순간은 조용히 지켜보되 말을 걸 순간은 드물다는 것 — 침묵 사례로만 배우면 에이전트는 영원히 눈치만 본다. 둘, 증거가 충분해지는 가장 이른 시점에 끼어든다는 것 — 설익은 보고로 헛발질하지도, 다 끝난 뒤에야 보고하지도 않는 타이밍 감각이다.
그리고 약한 고리도 함께 넘어온다. 에이전트가 적어 둔 "근거는 이것"이 틀렸다면 어떻게 하나. 다행히 영상과 달리 업무 스트림은 원본 로그가 그대로 남는다. 메모와 원본 로그를 대조하는 검증 단계를 끼워 넣을 수 있다는 뜻이다. 자기가 쓴 기억의 오류를 막기 어렵다는 논문의 약점을, 텍스트 업무라는 환경이 오히려 보완해 주는 셈이다.
아니요. Gemini와 Seed는 학습용 정답 캡션을 만들고 검증하는 데에만 쓰였습니다. 실제로 서비스할 때는 온스트리머가 혼자 자기 메모를 씁니다. 바로 그래서 돌릴 때는 옆에서 검증해 줄 모델이 없고, 자기가 쓴 메모를 믿고 쌓는 약점이 생깁니다.
텍스트 메모는 영상 조각보다 훨씬 가벼워 같은 자리에 훨씬 많이 들어갑니다. 완결된 구간은 성긴 요약으로 거칠게 묶여, 조밀한 상세 기록과 함께 '세부 ↔ 요약'의 계층을 이룹니다. 다만 논문은 상세 캡션과 사건 요약을 모두 텍스트 이력에 더해 누적할 뿐, 요약으로 세부 기록을 지우거나 기억 크기를 제한하는 정책은 두지 않습니다.
논문은 CC BY 4.0이고 프로젝트 홈페이지가 공개돼 있습니다. 다만 학습 규모가 커서 재현 난이도는 높습니다. 구체적인 자원 규모는 위 '학습 상세'를 참고하세요.