AI Briefing

LLM 0.32a0 하위호환 리팩터링

LLM 0.32a0 is a major backwards-compatible refactor

·2026.04.30 04:01

LLM 0.32a0가 메시지·스트림 기반의 호환성 유지 개편으로 공개됐다.

LLM 0.32a0는 기존의 prompt -> text 중심 설계를 버리고, 입력을 메시지 배열로, 출력을 타입이 다른 파트의 스트림으로 다루도록 바꿨다. prompt=는 계속 지원하지만 내부적으로 단일 메시지로 변환되며, 새 llm.user()llm.assistant() 빌더로 대화 이력을 처음부터 넣을 수 있다. 응답 뒤에는 response.reply()로 이어서 대화를 확장할 수도 있다.

이 변화는 OpenAI chat completions처럼 이전 대화를 통째로 전달해야 하는 API를 더 자연스럽게 지원한다. 기존 conversation() 방식은 처음부터 대화를 쌓는 데는 적합했지만, 외부에서 가져온 대화 기록을 주입하거나 SQLite에 묶이지 않는 저장소를 쓰는 데는 한계가 있었다.

스트리밍도 새 모델에 맞게 재설계됐다. 이제 response.stream_events()response.astream_events()text, tool_call_name, tool_call_args 같은 이벤트를 분리해 내보내며, reasoning 텍스트와 최종 출력을 구분할 수 있다. CLI는 이 덕분에 thinking 내용을 다른 색으로 표시하고 stderr로 분리할 수 있으며, -R/--no-reasoning으로 reasoning 토큰을 숨길 수 있다.

주요 변화:

  • 멀티모달/도구 호출 대응: 텍스트뿐 아니라 도구 호출, reasoning, 이미지·오디오 같은 출력 유형을 하나의 스트림에서 처리
  • 직렬화 API 추가: response.to_dict()Response.from_dict()로 응답을 저장·복원
  • 로그 구조 재검토: 반복·확장되는 대화를 중복 없이 저장하도록 SQLite 로깅을 그래프 구조로 재설계할 계획

저자는 이 버전을 alpha로 먼저 내고 플러그인 호환성을 검증한 뒤, 안정판 0.32를 거의 같은 모습으로 내놓을 가능성이 높다고 밝혔다. 남은 큰 과제는 더 세밀한 응답 구조를 반영하는 로깅 설계이며, 이는 0.32 또는 0.33으로 넘어갈 수 있다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.