LLM 0.32a0 는 대규모 후방 호환성 리팩토링입니다
요약
LLM 라이브러리의 0.32a0 알파 버전은 대규모 후방 호환성 리팩토링을 포함하며, 이는 LLM의 복잡한 진화에 대응하기 위함입니다. 가장 큰 변화는 모델 입력이 단순 텍스트 프롬프트에서 '메시지 시퀀스'로 변경되어, OpenAI와 같은 최신 API가 따르는 대화형 턴(user/assistant) 구조를 네이티브하게 지원한다는 점입니다. 또한, 응답을 스트리밍 부분으로 처리하는 새로운 인터페이스도 도입되었습니다.
핵심 포인트
- 모델 입력 방식의 변화: 단순 프롬프트 문자열에서 메시지 시퀀스(`messages=[]`)로 변경되어 대화형 턴(user/assistant) 구조를 지원합니다.
- 대화 기록 관리 개선: 이전 버전에서는 어려웠던, 전체 대화 히스토리를 API 표준에 맞춰 쉽게 전달할 수 있게 되었습니다.
- 응답 처리의 유연성 증가: 모델 응답을 스트리밍 방식으로 부분별로 받을 수 있는 새로운 인터페이스가 추가되었습니다.
- 후방 호환성 유지: 이전 버전의 `prompt=` 옵션도 여전히 작동하지만, 내부적으로 메시지 배열로 업그레이드되어 사용 편의성을 높였습니다.
LLM 0.32a0 는 대규모 후방 호환성 리팩토링입니다
2026 년 4 월 29 일
저는 LLM Python 라이브러리와 CLI 도구를 위한 알파 버전인 LLM 0.32a0 를 출시했습니다. 이는 제가 꽤 오랫동안 준비해 온 결과적인 변경 사항이 포함된 것입니다.
LLM 의 이전 버전은 프롬프트와 응답을 사용하여 세계를 모델링했습니다. 텍스트 프롬프트를 보내면 텍스트 응답을 받습니다.
import llm model = llm.get_model("gpt-5.5") response = model.prompt("Capital of France?") print(response.text())
이것은 2023 년 4 월 라이브러리를 시작할 때 의미가 있었습니다. 그 이후로 많은 변화가 발생했습니다!
LLM 은 플러그인 시스템을 통해 수천 개의 다른 모델을 추상화합니다. 원래 추상화—텍스트 입력이 텍스트 출력을 반환하는 것—는 더 이상 제가 필요로 하는 모든 것을 표현할 수 없었습니다.
시간이 지남에 따라 LLM 자체는 이미지, 오디오, 비디오 입력을 처리하기 위해 부착을 성장시켰고, 구조화된 JSON 을 출력하기 위한 스키마를 추가했으며, 도구 호출을 실행하기 위한 도구를 추가했습니다. 동시에 LLM 들은 추론 지원과 이미지를 반환할 수 있는 능력 및 기타 다양한 흥미로운 기능을 추가하며 계속 진화했습니다.
LLM 은 오늘날의 최전선 모델이 처리할 수 있는 입력 및 출력 유형의 다양성을 더 잘 처리하도록 진화해야 합니다.
0.32a0 알파는 두 가지 주요 변경 사항이 있습니다: 모델 입력은 메시지 시퀀스로 표현될 수 있으며, 모델 응답은 서로 다른 유형의 부분으로 구성될 수 있습니다.
프롬프트를 메시지 시퀀스로
LLM 들은 텍스트로 입력을 받지만, ChatGPT 가 양방향 대화 인터페이스의 가치를 증명해 온 이후, 가장 일반적인 프롬프트 방식은 해당 입력을 대화적 턴의 시퀀스로 취급하는 것입니다.
첫 번째 턴은 다음과 같이 보일 수 있습니다:
user: Capital of France?
assistant:
(그런 다음 모델이 응답자로부터 답변을 작성할 수 있습니다.)
하지만 각 후속 턴은 해당 점까지의 전체 대화를 재생해야 하며, 이는 일종의 스크린플레이처럼 작용합니다:
user: Capital of France?
assistant: Paris
user: Germany?
...
대부분의 주요 벤더에서 제공하는 JSON API 는 이 패턴을 따릅니다. 다음은 OpenAI 채팅 완료 API 를 사용하여 위의 것이 어떻게 보이는지입니다. 이는 다른 제공자들이 광범위하게 모방했습니다.
curl https://api.openai.com/v1/chat/completions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
...
0.32 이전에는 LLM 이 이를 대화로 모델링했습니다:
model = llm.get_model("gpt-5.5") conversation = model.conversation() r1 = conversation.prompt("Capital of France?") print(r1.text()) # Outputs "Paris" r2 = conversation.prompt("Germany?") print(r2.text()) # Outputs "Berlin"
이것은 모델을 처음부터 대화로 구축하는 경우에만 작동했습니다. 하지만 이전 대화를从一开始부터 제공하기 위한 방법을 제공하지 않았습니다. 이는 OpenAI 채팅 완료 API 의 에뮬레이션을 구축하는 것과 같은 작업을 훨씬 어렵게 만들었습니다.
llm CLI 도구는 SQLite 를 사용하여 대화를 저장하고 팽창하는 커스텀 메커니즘을 통해 이를 우회했지만, 그것은 LLM API 의 안정적인 부분이 되지는 않았으며, Python 라이브러리를 사용하면서 SQLite 을 저장 레이어로 고정하지 않는 많은 장소가 있습니다.
새로운 알파는 이제이를 지원합니다:
import llm from llm import user, assistant model = llm.get_model("gpt-5.5") response = model.prompt(messages=[ user("Capital of France?"), assistant("Paris"), user("Germany?") ]) print(response.text())
llm.user() 및 llm.assistant() 함수는 이제 messages=[] 배열 내에서 사용하도록 설계된 새로운 빌더 함수입니다.
이전 prompt= 옵션은 여전히 작동하지만, LLM 은 이를 배경에서 단일 항목 메시지 배열로 업그레이드합니다.
또한 응답에 반응 할 수 있으며, 대화를 구축하는 대안으로 사용할 수 있습니다:
response2 = response.reply("How about Hungary?") print(response2) # Default str() calls .text()
스트리밍 부분
알파의 다른 주요 인터페이스는 프롬프트로부터 스트리밍 결과를 반환하는 것입니다.
이전에는 LLM 이 supp
AI 자동 생성 콘텐츠
본 콘텐츠는 Simon Willison Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기