giskard-oss

LLM FrameworksDevOpsPython

★ 5,812주당 +18조회 6

무엇인가

Giskard는 에이전트 시스템을 테스트·평가하는 오픈소스 Python 라이브러리다. LLM, 블랙박스 에이전트, 다단계 파이프라인을 모두 감쌀 수 있는 것을 목표로 v3에서 처음부터 다시 작성됐다. 평가와 레드팀이라는 두 문제 영역을 각각 giskard-checks와 giskard-scan 패키지로 나눠 담는다.

어떻게 동작하나

평가 계층인 giskard-checks는 네 가지 개념으로 동작한다. Target은 (inputs) -> outputs 형태의 동기·비동기 호출 대상이며 선택적으로 trace를 함께 반환한다. Scenario는 상호작용과 검사를 묶은 하나의 평가 단위이고, Check는 trace 위에 적용되는 단언 또는 LLM 심판이다. Suite는 여러 Scenario를 함께 실행한다. 내장 평가에는 문자열 매칭, 비교, 정규식, 의미 유사도, LLM-as-judge(Groundedness·Conformity·LLMJudge)가 있다. 스캔 계층인 giskard-scan은 에이전트를 평문으로 설명하면 프롬프트 인젝션·유해 콘텐츠·고정관념·허위정보를 덮는 적대적 테스트 스위트를 자동 생성한다. generate_suite에 자체 ScenarioGenerator를 넘기거나 vulnerability_suite_generator_registry에 등록해 확장한다. giskard.agents.Generator는 워크플로·심판용 LLM 클라이언트이며, 사용자 메시지를 합성하는 giskard.checks의 LLMGenerator와는 다른 것이다. 세 기반 패키지 giskard-core(공용 유틸·텔레메트리), giskard-llm(제공자 중립 LLM 라우팅), giskard-agents(에이전트·워크플로 오케스트레이션)는 자동으로 끌려오며 직접 쓰는 일은 드물다.

무엇과 다른가

v2는 Scan과 RAGET을 함께 제공했지만 v3에서 LLM 에이전트용 기능은 giskard-scan으로 대체됐다. v2의 LLM 스캔 자리는 vulnerability_scan이, RAGET 자리는 KnowledgeBase를 쓰는 quality_scan이 맡는다. v2에만 남은 것은 giskard.Model과 giskard.Dataset을 분석해 성능·편향·견고성 문제를 자동 탐지하는 정형/ML 스캔, giskard.testing ML 테스트 스위트, Giskard Hub이며 v3 계획에 없다. v2는 여전히 설치·사용할 수 있지만 적극적 유지보수는 중단됐다.

어떻게 쓰나

Python 3.12 이상이 필요하다. pip install "giskard[openai]"처럼 제공자 extra를 붙여 설치하고 대응 API 키를 환경에 설정한다. 심판과 스캔 생성기의 기본 모델은 openai/gpt-4o-mini다. 대상 시스템을 Target 콜러블로 감싸고 Scenario에 상호작용과 Check를 채운 뒤 Suite로 묶어 실행하는 흐름이다.

전제와 한계

LLM 심판과 스캔 생성기는 제공자 extra와 API 키 없이는 동작하지 않는다. giskard-core는 선택적 집계 텔레메트리를 보내며 프롬프트나 출력은 전송하지 않는다. DO_NOT_TRACK=1 또는 GISKARD_TELEMETRY_DISABLED=1을 import 전에 설정하면 ~/.giskard/id 생성 자체를 건너뛰고, 이후에 설정해도 추가 전송은 멈춘다. 정형/ML 모델용 자동 스캔과 Giskard Hub는 v3에서 지원되지 않는다.

관련 논문 1

유사 도구