iFixAi: AI 에이전트의 오정렬과 맹점을 45개 점검으로 진단하는 도구

iFixAi 소개

AI 에이전트를 운영하다 보면 가용성, 정확도, 응답 시간 같은 대시보드 지표는 모두 정상인데도 실제로는 문제가 쌓이는 경우가 있습니다. 에이전트가 허가받지 않은 권한을 슬쩍 사용하거나, 출처 없는 주장을 하거나, 조작하려는 프롬프트에 굴복하거나, 애초에 권한이 없던 일을 해버리는 식입니다. 이런 행동은 평소의 KPI에는 거의 드러나지 않다가, 한참 뒤 사고나 고객 민원, 규제기관의 질문으로 튀어나옵니다. iFixAi는 바로 이 맹점을 손해가 나기 전에 먼저 찾아내려는 진단 도구입니다.

iFixAi가 다루는 대상은 "AI 운영 오정렬(operational misalignment)", 즉 비즈니스가 의도하고 설계하고 기대한 바와 어긋나는 AI의 행동이나 누락입니다. 이를 확인하기 위해 에이전트에 최대 45개의 점검을 돌리는데, 직접적인 정책 준수부터 적대적 압박, 구조적 엣지 케이스까지 포괄합니다. 결과는 5분 안에 A부터 F까지의 등급으로 돌아옵니다. 중요한 점은 iFixAi가 스스로를 인증이나 안전 보증이라고 주장하지 않는다는 것입니다. 대신 CI에서 반복 실행할 수 있는 진단으로 설계됐고, 기본적으로 에이전트가 자기 자신이 아니라 독립적인 제공자에게 채점받으며, 실행할 때마다 모든 입력을 담은 매니페스트를 남겨 결과를 감사하고 재현할 수 있게 합니다.

iFixAi는 특정 모델이나 산업에 종속되지 않고 어떤 에이전트에도 적용할 수 있으며, 실행 방식은 세 가지로 나뉩니다. 본 게시물에서는 iFixAi가 진단하는 오정렬 위험의 다섯 가지 핵심 필라, 등급을 매기는 채점 방식, 그리고 실제 실행 방법을 차례대로 정리합니다.

iFixAi가 진단하는 5가지 핵심 필라

45개 점검은 두 계층으로 나뉩니다. 32개의 핵심(core) 점검은 오정렬 위험의 다섯 가지 필라를 다룹니다. 날조(Fabrication)는 허가되지 않은 도구 사용, 감사 추적 부재, 근거 없거나 과신에 찬 주장을 잡아냅니다. 조작(Manipulation)은 권한 상승, 자체 정책 위반, 프롬프트 인젝션, 오염된 검색 컨텍스트를 봅니다. 기만(Deception)은 테스트를 감지하면 더 잘하는 샌드배깅, 숨은 부차 목표, 긴 실행에서의 이탈, 조용한 실패를 다룹니다. 예측 불가능성(Unpredictability)은 왜곡된 컨텍스트와 지시 이탈, 일관성 없는 결정을, 불투명성(Opacity)은 취약한 위험 점수 산정, 규제 공백, 망가진 사람 에스컬레이션, 주제를 벗어난 응답을 각각 점검합니다.

나머지 13개는 확장(extended) 점검으로, 최전선 에이전트 위험을 다루는 11개 프리미엄 범주(사보타주, 샌드배깅, 감독 회피, 권한 상승 등)에서 최소 하나씩 가져온 무료 미리보기입니다. 이 중 5개는 등급에 반영되고, 나머지 8개는 탐색용으로 별도 채점·보고되어 헤드라인 등급을 흔들지 않으면서 점검 범위만 넓힙니다. 여기서 "프리미엄"은 유료 장벽이 아니라 역량 등급을 뜻하며, 저장소의 핵심과 프리미엄 점검은 모두 Apache 2.0으로 무료 공개되어 있습니다. 한편 특정 필수 최소 항목(B01, B08, P01)을 통과하지 못하면 전체 점수가 60%로 상한 처리됩니다.

iFixAi의 채점 방식과 결과

최종 등급은 점수를 산출한 모든 범주의 가중 평균입니다. 여기에는 항상 다섯 핵심 필라가 들어가고, 실행이 측정할 수 있는 프리미엄 범주가 더해집니다. 기준은 A는 0.90 이상, B는 0.80 이상, C는 0.70 이상, D는 0.60 이상, F는 0.60 미만이며 통과 임계값은 0.85입니다. 아래는 실제 실행 결과 화면으로, 안내형 설정에서 시작해 실행, 점검, 결과까지 이어지며 다섯 필라별 점수와 함께 하나의 등급으로 정리되는 모습을 보여줍니다.

채점의 신뢰를 위해 iFixAi는 채점 주체를 분리합니다. 채점 대상(SUT, system under test)은 --provider--api-key로 명시하고, 심사자(judge)는 환경에 키가 있는 다른 제공자에서 자동으로 짝지어집니다. 이때 대상 자신의 벤더는 심사자 후보에서 제외되므로 자기 자신을 채점하지 않습니다. 그래서 인용 가능한(citable) 등급을 받으려면 서로 다른 벤더의 키 두 개가 필요하며, 두 번째 키 없이 --eval-mode self로 돌리면 등급은 나오지만 자기 채점으로 표시되는 스모크 테스트가 됩니다. Standard 모드는 독립 심사자 한 명, Full 모드는 둘 이상의 앙상블로 채점해 한 모델이나 벤더가 등급을 독점하지 않도록 합니다.

실행 범위는 스위트로 조절합니다. smoke(3개)는 파이프라인 확인용, strategic(8개)은 가장 위험한 지점의 빠른 점검, core(32개)는 다섯 필라 채점, extended(13개)는 최전선 위험 신호, all(45개)은 전체이며 스위트를 지정하지 않으면 기본값입니다. 참고로 저장소의 case_studies/ 디렉토리 스코어카드는 대부분 거버넌스가 거의 없는 맨 모델이나 가벼운 에이전트를 대상으로 해서 D나 F에 머무는데, 실제로 잘 통제된 에이전트는 훨씬 높은 점수를 받습니다.

iFixAi 실행 방법

세 가지 실행 방식은 내부적으로 같은 진단을 돌리며, 설정하고 구동하는 방법만 다릅니다. 가장 간단한 것은 안내형 마법사입니다. 테스트할 제공자의 extra와 함께 설치한 뒤 설정과 실행을 차례로 하면 됩니다.

pip install "ifixai[openai]"   # anthropic, gemini 등 테스트할 제공자 extra 설치
ifixai setup                    # 제공자·모델·심사자·스위트를 고르면 ifixai.yaml 생성
ifixai run                      # 플래그 없이 실행, 결과는 ./ifixai-results/ 에 JSON·Markdown 으로 저장

CI나 자동화에는 모든 옵션을 플래그로 넘기는 방식이 맞습니다. 서로 다른 벤더의 키 두 개를 두면 대상 모델을 다른 벤더의 심사자가 채점하는 인용 가능한 등급을 얻습니다.

pip install "ifixai[anthropic,openai]"     # 대상(SUT)과 심사자(judge)의 SDK
export ANTHROPIC_API_KEY=sk-ant-...         # 채점 대상
export OPENAI_API_KEY=sk-...                # 심사자, 환경에서 자동 페어링
ifixai run --provider anthropic --api-key "$ANTHROPIC_API_KEY"

에이전트 안에서 바로 쓰고 싶다면 플러그인이나 스킬을 씁니다. Claude Code와 Codex는 플러그인으로 설치하며, 그 외 Cursor, VS Code, Windsurf, Cline, Continue, Gemini, Zed 같은 에이전트에는 한 번의 명령으로 /ifixai-skill 슬래시 명령을 만들어 넣을 수 있습니다.

# Claude Code 플러그인
/plugin marketplace add ifixai-ai/iFixAi
/plugin install ifixai@ifixai-ai

# 그 외 에이전트: /ifixai-skill 슬래시 명령 생성 (uv 와 Python 3.10+ 만 필요)
uvx ifixai install --agents all

실제 배포된 에이전트를 그대로 진단하려면 OpenAI 호환 HTTP 엔드포인트를 --provider http --endpoint ... --grounding sut 로 가리키면 되고, 그 외 환경은 ChatProvider.send_message 한 메서드를 구현해 연결합니다. OpenAI, Anthropic, Gemini, OpenRouter, Azure, Bedrock, Hugging Face 등 다양한 제공자를 지원하며, 실행에는 Python 3.10 이상이 필요합니다.

iFixAi의 라이선스

iFixAi는 Apache License 2.0으로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다. 핵심 점검뿐 아니라 프리미엄 계층으로 분류된 확장 점검까지 저장소에 포함된 모든 코드가 같은 라이선스로 열려 있습니다.

:house: iFixAi 공식 홈페이지

:github: iFixAi 프로젝트 GitHub 저장소

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! 텔레그램(Telegram)이나 Slack/Discord/Teams/Dooray/GoogleChat 등으로도 새 글 알림을 받으실 수 있습니다. :smiley:

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: