나는 행동하기를 거부하는 에이전트를 만들었다 — 왜 Qwen이 이를 가능하게 했는가
요약
데이터 분석 과정에서 발생하는 비용과 오류를 줄이기 위해, 특정 조건 미달 시 행동을 거부(ABSTAIN)하는 에이전트 설계 방식을 소개합니다. Qwen 모델의 강력한 툴 호출 능력을 활용하여 환각 없이 정확한 데이터 분석과 의사결정 지원을 구현하는 방법을 다룹니다.
핵심 포인트
- 잘못된 진단에 따른 불필요한 조치(False Action) 방지가 비용 절감의 핵심
- ABSTAIN 메커니즘을 통해 분석 조건이 불분명할 경우 인간에게 에스컬레이션
- Qwen 모델의 신뢰할 수 있는 툴 호출 능력을 통한 환각 방지 및 데이터 정확성 확보
- 통계적 유의성(p-value)과 데이터 국소성을 기반으로 한 에이전트의 판단 기준 설정
월요일 오전 9시. 전환율이 3.2% 하락합니다. PM이 Slack으로 메시지를 보냅니다: "무슨 일인가요?"
데이터 엔지니어(Data engineer)가 데이터 웨어하우스(Warehouse)를 쿼리(Query)합니다. 데이터 분석가(Data analyst)는 대시보드(Dashboard)를 세그먼트(Segment)별로, 기기(Device)별로 쪼개며 분석합니다. 4시간 후: 원인을 찾아냈을 수도 있고, 아니면 하락이 시스템적인 문제였는데 그저 유령을 쫓느라 오전 시간을 허비했을 수도 있습니다.
데이터 엔지니어와 분석가 팀의 시간당 비용이 $200라고 가정할 때, 이는 조사당 약 $900에 달합니다. 유의미한 트래픽이 있는 모든 SaaS 기업에서는 이런 일이 일주일에 2~3번 발생합니다. 이는 주당 $3,200 — 연간 $150,000 이상 — 이
- Material (유의미성) — 하락폭이 최소 2% 이상이어야 합니다. 노이즈(Noise)는 인간의 시간을 낭비할 가치가 없습니다.
- Localized (국소성) — 하나의 세그먼트가 하락의 55% 이상을 차지해야 합니다. 모든 채널이 동일하게 하락했다면, 단일 조치로는 문제를 해결할 수 없습니다.
- Significant (통계적 유의성) — 실제 두 비율 z-검정 (two-proportion z-test)을 수행하여 p ≤ 0.01이어야 합니다. 완벽하게 집중된 동일한 하락이라도 사용자 6,000명에게는 통과되지만, 60명에게는 실패합니다. 당신의 분석가도 동일한 검사를 수행할 것이며, 에이전트는 이를 즉각적으로 수행할 뿐입니다.
- Clean (명확성) — 비율 효과 (rate effect)와 구성 효과 (mix effect)가 얽혀 있지 않아야 합니다. 구성의 변화를 실제 비율의 변화와 혼동해서는 안 됩니다. 어떤 관문(gate)이라도 통과하지 못하면 → ABSTAIN (기권) 합니다. 에이전트는 실패한 정확한 조건을 명시하며 인간에게 에스컬레이션(escalate)합니다. 단순히 "모르겠습니다"라고 하는 것이 아닙니다. "상호작용 점유율 0.63 > 0.50 — 비율 효과와 구성 효과가 얽혀 있습니다. 인간의 확인이 필요합니다." 이것이 바로 비용 절감 메커니즘입니다. ABSTAIN은 다음과 같은 의미를 갖습니다: "방금 잘못된 진단에 따라 행동할 뻔한 상황으로부터 당신을 구했습니다." PM은 배포를 롤백(roll back)하지 않습니다. 엔지니어는 피처 플래그(feature flag)를 되돌리지 않습니다. 아무도 유령 문제(phantom problem)를 위한 대시보드를 만들지 않습니다. 진짜 돈을 아끼는 지점은 조사 시간이 아니라, **잘못된 행동을 방지하는 것(false action prevented)**에 있습니다.
왜 Qwen인가
당신의 데이터 팀 비용은 시간당 $200입니다. 단순히 아무 LLM이나 투입해서 그들을 대체하기를 기대할 수는 없습니다. 신뢰할 수 있는 도구 호출 (tool calls)을 수행하고, 차원 이름 (dimension names)을 절대 지어내지 않으며, 모델 계층 전반에 걸쳐 일관된 동작을 생성하는 모델이 필요합니다.
Qwen (Alibaba Cloud DashScope를 통해 제공)은 이 세 가지를 모두 충족했습니다:
- 환각(Hallucination)을 일으키지 않는 툴 호출(Tool calling). Qwen은
test_dimension(device)를 호출하고, 게이트 결과를 읽은 다음,test_dimension(segment)를 시도하며 조사를 이끌어갑니다. 테스트할 어떤 차원을 선택하지만, 존재하지 않는 것을 절대 지어내지 않습니다. 결정론적 가드(determinism guard)는 Qwen이 건너뛴 모든 차원을 테스트하므로, 게으른 LLM은 결코 거짓된
나는 Titanic 승객 명부, 실제 고용 통계가 포함된 미국 대학 전공, 항공기 승객 수, 펭귄 개체 수, 자동차 연비, Gapminder 데이터셋 등 10개의 실제 공개 데이터셋에 대해 prove-or-abstain을 실행했습니다.
10개 중 7개에서 ABSTAIN(기권)이 발생했습니다.
왜냐하면 현실 세계에서 대부분의 지표 변화(metric shifts)는 진정으로 체계적(systemic)이기 때문입니다. 이러한 변화는 깔끔하고 실행 가능한 특정 세그먼트로 국한되지 않습니다. 이 7개 사례에 대해 원인을 조작하는 에이전트는 **재무적 부채 (financial liability)**가 됩니다. 즉, 원래의 조사 비용보다 더 많은 비용을 발생시키는 행동을 유발하기 때문입니다.
여러분의 분석가는 4시간을 소비하고도 여전히 동일한 결론에 도달할 수 있습니다: "이것은 체계적인 문제입니다, 상급자에게 보고하십시오." 에이전트는 이를 2초 만에, 단 0.004달러에 도달합니다. 그리고 재현 가능한 감사 추적(audit trail)과 함께 정확히 왜 그런 결론에 도달했는지 기록합니다.
ASSERT(단언)를 수행한 나머지 3개는 인위적이지 않은 실제 진실을 찾아냈습니다:
- Titanic 생존은
sex=female에 국한됨 (p=0.0018) — 대중적인pclass설명이 아닌, "여성과 아이를 먼저" 효과 - STEM 고용 격차는 여성이 다수인 대학 전공에 집중됨
- 펭귄 체질량 변화는 종(species)에 국한됨
이것이 여러분의 팀에 의미하는 바
| 역할 | 현재 조사당 비용 | prove-or-abstain 도입 시 |
|---|---|---|
| 데이터 엔지니어 (쿼리 + 준비) | $100 (30분) | $0 (자동화) |
| ... |
에이전트는 지치지 않습니다. 금요일 오후 5시라고 해서 유의성 검사(significance check)를 건너뛰지 않습니다. 모바일 팀이 버그가 있는 무언가를 출시했다는 직감(gut feeling)을 가지고 확증 편향(confirmation-bias)에 빠지지도 않습니다. 에이전트는 매번 동일한 4개의 게이트를 실행하며, 정확히 어떤 게이트가 실패했는지 명시합니다.
20/20 벤치마크 정확도. 0%의 거짓 ASSERT. 0%의 거짓 ABSTAIN.
조사당 $0.004. Docker. MIT 라이선스.
git clone https://github.com/Demba09/prove-or-abstain
...
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기