#AI

팀장님이 QA 100번 시키길래 만들었습니다.

팀장님이 QA 100번 시키길래 만들었습니다.
01

Summary

"QA 100번 하라고요?" 홧김에 만든 AI 에이전트가 24시간 스스로 서비스를 고칩니다

단순 테스트를 넘어 설계 결함까지 스스로 진단하고 개선하는 채널톡 FDE의 자가 진화형 QA 시스템 구축기

채널톡의 복잡한 비즈니스 로직을 검증하기 위해 AI가 AI를 테스트하는 혁신적인 구조를 도입했습니다. DFS를 통한 시나리오 추출부터 LLM 사용자 시뮬레이션, 그리고 프롬프트 캐싱을 이용한 비용 최적화까지 시니어 엔지니어의 실무 노하우가 집약된 자동화 여정을 소개합니다.

  • 01그래프 알고리즘(DFS)을 활용해 봇이 갈 수 있는 모든 대화 경로를 누락 없이 추출
  • 02대본의 한계를 극복하기 위해 사용자 역할을 수행하는 AI 에이전트 도입
  • 03API 호출을 모킹(Mocking)하고 메모리에 값을 주입하여 결정론적인 테스트 환경 구현
  • 04Cloudflared와 Webhook을 연동하여 실시간 봇 응답을 이벤트 기반으로 수신
  • 05프롬프트 캐싱을 통해 LLM 비용을 절감하고 QA 전용 세션으로 과금 로직 분리

RECOMMENDATION

비결정적인 AI 챗봇 응답을 검증해야 하거나, 반복적인 수동 시나리오 테스트로 병목을 겪는 팀에게 AI 대 AI 테스트 구조 도입을 적극 추천합니다.

The Problem

채널톡의 '앱 태스크'는 수십 가지 사용자 시나리오에 대응해야 하지만, 매번 사람이 수동으로 수백 번의 QA를 진행하기에는 물리적인 시간과 비용의 한계가 존재했다.

The Solution

DFS 알고리즘으로 그래프 경로를 추출해 시나리오를 자동 생성하고, LLM 기반의 AI 사용자와 봇이 대화하게 하여 검증하는 'Self-evolving' QA 하네스 체계를 구축하였다.

The Result

외부 API 의존성을 제거한 결정론적 테스트 환경을 구축하고, 자동화된 테스트-평가-개선 루프를 통해 앱 태스크 해결률을 유의미하게 향상시켰다.

Trade-off

수백 번의 LLM 호출로 인해 발생하는 비용과 도구 개발에 투입된 시간이 크기 때문에, 지속적으로 사용되지 않는 기능의 경우 자동화의 손익분기점을 넘기 어려울 수 있다.

03

Key Concepts

Concept · 01

DFS (Depth-First Search)

그래프나 트리 구조에서 한 노드에서 시작하여 다음 분기로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 알고리즘입니다.

  • 앱 태스크의 트리 구조에서 시작점부터 종점까지 도달 가능한 모든 테스트 시나리오 경로를 추출하는 데 사용되었습니다.
Concept · 02

Prompt Caching

LLM 호출 시 반복되는 프롬프트의 앞부분을 저장해 두었다가 재사용함으로써 연산 속도를 높이고 토큰 비용을 절감하는 기술입니다.

  • 멀티턴 대화에서 누적되는 시스템 프롬프트와 이전 대화 기록에 대한 API 비용을 최적화하기 위해 적용되었습니다.
Concept · 03

Self-evolving Harness

테스트 생성, 실행, 평가, 개선의 전 과정을 자동화하여 시스템이 스스로 품질을 높이도록 설계된 구조입니다.

  • 테스트 결과지를 기반으로 태스크의 설계를 개선하는 루프를 형성하여 사람의 개입을 최소화하는 최종 단계로 활용되었습니다.