
Haystack 공식 릴리스 노트에 따르면 오픈소스 AI 애플리케이션 프레임워크 Haystack 3.0이 공개됐다. 에이전트의 행동을 제어하는 훅과 스킬, 실행 상태 추적 기능을 기본 구성으로 넣고 동기·비동기 파이프라인을 하나로 합친 메이저 업데이트다. PyPI에는 20일 3.0.0 최종 패키지가 배포됐다.
에이전트에는 실행 전후와 모델·도구 호출 시점에 개입할 수 있는 범용 훅 체계가 추가됐다. before_run, before_llm, before_tool, after_tool, on_exit, after_run 지점에서 동작을 검사하거나 정책을 적용할 수 있다. 도구 실행은 에이전트가 직접 맡으며, 기존의 독립적인 ToolInvoker 구성요소는 제거됐다.
스킬도 일급 기능으로 들어갔다. SkillToolset은 스킬 이름과 짧은 설명만 먼저 제시하고 필요한 스킬을 실행 중에 불러오는 점진적 공개 방식을 쓴다. 전체 지침을 처음부터 모델 문맥에 넣지 않아도 돼 도구와 지침이 많은 에이전트에서 문맥 사용량을 줄일 수 있다. 실행 시점에 도구 구성을 바꾸는 기능과 비동기 도구 호출도 함께 지원한다.
실행 관측 기능은 에이전트 상태 안으로 통합됐다. step_count, token_usage, tool_call_counts가 기본 상태로 제공돼 반복 호출을 제한하거나 토큰 예산에 따라 처리 방식을 바꿀 수 있다. 추적 데이터에는 에이전트 단계와 모델·도구 호출이 각각 기록돼 어떤 도구가 실제로 사용됐는지 확인할 수 있다.
파이프라인 구조도 바뀌었다. 별도 클래스였던 AsyncPipeline은 제거되고 하나의 Pipeline이 동기 실행과 비동기 실행, 스트리밍을 모두 제공한다. 외부 연결이나 모델 자원은 warm_up 단계에서 준비하고 close 단계에서 해제하도록 수명주기를 맞췄다. 장시간 실행되는 서버에서 연결과 메모리 자원을 명시적으로 관리하려는 변화다.
핵심 패키지는 가벼워졌다. Sentence Transformers, Hugging Face, Whisper, Tika, Azure OCR, OpenTelemetry 등 30개 구성요소가 독립 통합 패키지로 이동했다. 기존 OpenAIGenerator와 AzureOpenAIGenerator 같은 레거시 생성기는 채팅 생성기 계열로 대체됐다. 2.x 코드를 그대로 올리면 가져오기 경로나 반환 형식에서 호환성 문제가 생길 수 있어 공식 마이그레이션 문서를 확인해야 한다.
보안 측면에서는 직렬화된 파이프라인을 불러올 때 신뢰한 모듈만 허용하는 목록을 적용한다. 실제로 해석된 모듈을 단계마다 다시 검사하고 eval, exec, open 같은 위험한 내장 함수는 기본적으로 차단한다. 릴리스 노트는 허용 목록 검사를 우회해 임의 코드를 실행할 수 있던 역직렬화 문제도 수정했다고 밝혔다.
Haystack 3.0은 새로운 모델을 내놓기보다 에이전트 운영 기반을 재정비한 릴리스다. 도구 호출을 확장하면서도 실행 단계와 비용을 관찰하고, 사람의 확인 절차와 보안 정책을 끼워 넣을 수 있게 한 점이 핵심이다. 다만 메이저 버전인 만큼 기존 파이프라인과 사용자 정의 구성요소는 배포 전 마이그레이션 테스트가 필요하다.
출처: Haystack 공식 릴리스 노트 https://haystack.deepset.ai/release-notes/3.0.0
출처: PyPI — haystack-ai 3.0.0 https://pypi.org/project/haystack-ai/3.0.0/
출처: Haystack 3.0 마이그레이션 문서 https://docs.haystack.deepset.ai/docs/next/migration









