로컬 LLM은 왜 대화가 길어질수록 느려질까 — prefill과 generation 비용을 직접 분해해봤다
같은 9,700토큰 프롬프트가 내 노트북에서 첫 토큰까지 55초 걸렸는데, 두 번째 호출은 65밀리초였다. Ollama 타임스탬프를 뜯어 prefill과 generation을 분리 측정하고, prefix 캐시가 왜 396배 빨랐는지, 에이전트 컨텍스트 설계에 어떻게 적용할지 정리했다.
jangwook.net
Personal technical notes on AI agents, automation, developer tools, and the process of building software.
Latest Notes
The root page stays intentionally small. Choose a language, then read the full archive and related posts there.
AI 에이전트, 자동화, 개발 도구, 소프트웨어 제작 과정을 한국어로 기록합니다.
같은 9,700토큰 프롬프트가 내 노트북에서 첫 토큰까지 55초 걸렸는데, 두 번째 호출은 65밀리초였다. Ollama 타임스탬프를 뜯어 prefill과 generation을 분리 측정하고, prefix 캐시가 왜 396배 빨랐는지, 에이전트 컨텍스트 설계에 어떻게 적용할지 정리했다.
같은 글을 ko/ja/en/zh 네 언어로 내는 내 블로그 285편을 실제 토크나이저 세 개로 토큰화해 비영어 토큰 비용을 측정했다. 한국어는 영어의 1.38배, 일본어 1.34배, 그리고 토크나이저 세대 교체가 사실상 비영어 할인이었다는 것까지 데이터로 확인했다.
같은 프롬프트를 로컬 Gemma 4에 수십 번 던져 LLM 출력 재현성을 직접 측정한 실험 기록이다. temperature=0은 완전히 결정적이었고, 온도를 올려도 seed를 고정하면 출력이 한 줄로 수렴했다. 평가와 CI 테스트에 바로 적용할 결론과 권장 설정값까지 정리한다.
Personal notes on AI agents, automation, developer tools, and building software.
A 9,700-token prompt took 55s to its first token, then 65ms on the identical second call. I split Ollama's timings into prefill vs generation to see why.
I tokenized 285 of my posts across ko/ja/en/zh with three tokenizers. Korean ran 1.38x English tokens, Japanese 1.34x. The non-English token tax, measured.
I sent the same prompt to local Gemma 4 dozens of times. temperature=0 was deterministic, and even at higher temperature a fixed seed collapsed output to one line.
AIエージェント、自動化、開発ツール、ソフトウェア開発の記録です。
同じ9,700トークンのプロンプトが私のノートPCで最初のトークンまで55秒かかったのに、2回目の呼び出しは65ミリ秒だった。Ollamaのタイムスタンプを直接取り出してprefillとgenerationを分離測定し、prefixキャッシュがなぜ396倍速かったのか、エージェントのコンテキスト設計にどう活かすかをまとめた。
同じ記事をko/ja/en/zhの4言語で出している自分のブログ285本を、実トークナイザー3種でトークン化し非英語のトークン費用を測った。 韓国語は英語の1.38倍、日本語1.34倍、そしてトークナイザーの世代交代が実質的に非英語向けの割引だったことまでデータで確かめた。
同じプロンプトをローカルのGemma 4へ数十回投げ、出力がどれだけ再現するかを測定した。temperature=0は決定的で、 temperatureを上げてもseedを固定すると出力は一行に収束した。評価とCIにすぐ使える結論までまとめる。
记录 AI 代理、自动化、开发工具和软件构建过程。
同样一段9,700 token的提示词,在我的笔记本上第一个token要等55秒,而第二次相同调用只用了65毫秒。我直接取出Ollama的时间戳,分离测量prefill与generation,弄清prefix缓存为何快了396倍,以及如何把它用到代理的上下文设计上。
我把同一篇文章以ko/ja/en/zh四语发布的博客285篇,用三种真实分词器逐一分词,测量非英语的token成本。 韩语是英语的1.38倍,日语1.34倍,而且分词器的代际更替实质上是给非英语文本的一次打折。
我把同一个提示词向本地Gemma 4发送了数十次,测量输出的可复现程度。temperature=0是确定性的, 即使提高temperature,只要固定seed,输出也会收敛成一行。文末给出可直接用于评估和CI的结论。