Ollama는 답변을 보내던 중 생긴 생성 실패를 응답으로 알리고, Flint 모델을 Linux와 Windows에서도 실행할 수 있도록 바꿨다. 답변을 실시간으로 받아 보여주는 서비스를 만드는 개발자는 부분 출력과 완성된 답변을 가려 처리할 수 있고, Flint 이용자는 실행 환경 선택 폭이 넓어진다.
1. 부분 출력 뒤의 실패도 응답에 담는다
릴리스 노트는 OpenAI Responses와 Anthropic Messages 형식의 스트리밍 요청이 생성에 실패할 때, 일부 출력 뒤에 조용히 끝나는 대신 실패를 보고하도록 바뀌었다고 밝혔다. 이전 동작에서는 이미 전송된 내용만 받은 쪽이 요청을 정상 응답으로 오인할 수 있었지만, 이제 스트림의 끝에서 실패를 확인할 수 있다.
Anthropic 형식에서는 스트리밍이 시작된 뒤 오류를 error 이벤트로 전달한다. 스트리밍 시작 전에 발생한 오류는 기존처럼 오류 내용을 담은 응답으로 처리한다.
OpenAI Responses 쪽은 실패 상태 이벤트인 response.failed를 내보내도록 변경됐다. 변경 코드에서는 실패로 끝날 때 이미 생성한 부분 출력도 보존한다.
response := anthropic.NewError(w.Status(), errData.Error)
if w.stream && w.Written() {
if err := w.writeEvent("error", anthropic.StreamErrorEvent{Type: response.Type, Error: response.Error}); err != nil {
return 0, err
}
return len(data), nil
}이 코드는 전체 변경 내역에 포함된 Anthropic 처리의 일부다. 이미 응답을 쓰기 시작했는지 확인한 다음 오류 이벤트를 보낸다. 스트리밍을 소비하는 프로그램은 본문 조각을 보여주는 것뿐 아니라 마지막 실패 이벤트도 해석해야 한다.
2. 클라우드 모델 정보를 코딩 도구에 전달
ollama launch는 클라우드 모델의 컨텍스트 길이, 모델이 한 번에 참고하는 입력 분량과 기능 정보를 코딩 도구에 전달하도록 수정됐다. 릴리스 노트는 이 변경이 잘못된 컨텍스트 및 압축 설정을 바로잡는다고 설명한다. 압축은 길어진 대화 내용을 줄여 작업을 이어가게 하는 처리로, 도구가 모델의 입력 한도를 알아야 그 시점을 맞출 수 있다.
Claude Code 연동 코드에서는 모델 정보에서 얻은 컨텍스트 길이를 설정에 반영하고, 자동 압축 구간도 정해진 상한 안에서 맞춘다. 사용자가 자동 압축 구간을 이미 설정했다면 그 값은 유지한다. 이용자는 클라우드 모델을 코딩 도구와 연결할 때 모델별 입력 한도가 설정에 반영되는지를 확인할 수 있다.
3. Flint의 실행 환경이 Linux·Windows로 넓어진다
Ollama는 Flint가 macOS뿐 아니라 Linux와 Windows에서도 실행된다고 발표했다. 따라서 해당 운영체제 이용자도 같은 모델을 실행 대상으로 선택할 수 있다.
전체 변경 내역에는 추론 기능, 즉 답하기 전 중간 사고 과정을 거치는 기능을 끈 Flint가 응답을 바로 생성하도록 고친 작업도 있다. 변경 설명은 기본 설정과 추론을 켠 경우의 프롬프트는 바뀌지 않았다고 밝혔다.
4. 검색 후 이어지는 요청도 지원 설정을 따른다
Anthropic 호환 웹 검색의 후속 요청은 모델이 지원하는 추론 설정을 재사용하도록 바뀌었다. 처음 요청에 맞춰 조정한 설정을 검색 뒤 요청에도 이어 쓰는 방식이다. Ollama는 이를 통해 피할 수 있는 실패를 막는다고 설명했다.
스트리밍 변경이 발생한 오류를 받는 쪽에 알리는 데 초점을 둔다면, 이 수정은 검색 후 이어지는 요청에 맞는 설정을 쓰는 데 초점을 둔다. 같은 오류 대응이라도 한쪽은 실패 전달을, 다른 쪽은 후속 요청의 설정 일치를 다룬다.
5. 연동 코드는 부분 출력과 최종 상태를 함께 다룬다
스트리밍 오류가 전달되면 끊긴 결과를 완성된 답변처럼 처리할 가능성을 줄일 수 있다. 반면 기존에 성공 출력만 소비하던 연동 코드는 실패 이벤트를 읽어 사용자에게 오류를 알리는 처리가 필요하다. 이처럼 오류 처리는 더 명확해지는 대신, 스트림을 소비하는 쪽의 상태 처리가 중요해진다.
0.40.9는 스트리밍 실패를 분명히 알리고, 클라우드 모델 정보와 Flint 지원 범위를 넓혀 연동의 정확성과 선택 폭을 개선한 업데이트다.
