giskard-oss
무엇인가
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
유사 도구
- promptfoo프롬프트·에이전트·RAG를 선언적 설정으로 평가하고 레드팀하는 TypeScript CLI다. 결과를 로컬에서 계산하고 CI/CD에 붙인다.
- OpenJudgeAI 애플리케이션의 출력 품질을 채점하는 Python 평가 프레임워크다. 50여 종의 즉시 사용 가능한 grader와 루브릭 자동 생성, RL 보상 신호 변환을 제공한다.
- evalscopeLLM·VLM·임베딩·AIGC 모델의 벤치마크 평가와 추론 성능 스트레스 테스트를 명령 하나로 실행하고 웹 대시보드로 시각화하는 Python 프레임워크다.
- prometheus-evalLLM 응답을 채점하도록 학습된 오픈소스 평가자 모델 Prometheus를 vLLM 또는 LiteLLM API로 호출해 지시문-응답 쌍에 점수를 매기는 Python 패키지다.
- ClawProBenchOpenClaw 런타임에서 LLM 에이전트를 실제 실행으로 평가하는 벤치마크 하네스다. 결정적 채점과 반복 시행 신뢰도 지표를 낸다.