Hello, 저는

김정희Jounghee Kim

사람의 판단 업무를 자동화하는 AI Engineer

LLM 에이전트 · 검수 자동화 · 음성/NLP 연구

커서를 움직여 불러보세요!

에이전트 코드 작성 중…

스크롤

01 · Now

토스에서, 사람의 판단을 대신하는 에이전트

사람이 하던 심사와 검수를 에이전트가 맡도록 만들었습니다. 가맹점 심사를 자동화해 심사 인력 20명을 절감했고, AI가 프롬프트 고도화를 맡는 검수 자동화 플랫폼은 10개 이상 부서의 검수 업무에 적용했습니다.

주식회사 비바리퍼블리카(토스)AI Product Team · AI Engineer · 2025.12 – 현재
20명
심사 인력 절감
카드사 가맹점 심사(결제 경로 캡처) 자동화
10+
사용 부서
검수 공통 모듈로 여러 검수 업무에서 활용
+25%p
평균 정확도 향상
광고 문구 오탈자 정책 파일럿 · 개선용·검증용 세트(광고 36건) 향상폭 평균

T-01비바리퍼블리카(토스)2026.05 – 현재

가맹점 심사 자동화

browser-use 기반 심사 에이전트가 사람 심사자처럼 가맹점 홈페이지를 둘러보며 심사 정보를 모으도록 만들어, 카드사 가맹점 심사와 PAY 가맹점 검수를 자동화했습니다.

역할심사 에이전트 설계 및 개발

20명심사 인력 절감카드사 가맹점 심사(결제 경로 캡처) 자동화

01 / 06

심사할 가맹점 URL

심사할 가맹점 URL이 들어오면 browser-use 기반 심사 에이전트가 브라우저를 열고 가맹점 홈페이지로 이동합니다.

02 / 06

사람처럼 보고 판단하기

화면(스크린샷)과 페이지 텍스트를 함께 읽고, 아직 모자란 심사 정보를 기준으로 다음에 확인할 곳을 정합니다.

03 / 06

한 번에 한 가지 행동

이동·클릭·스크롤·추출 중 하나를 실행하고, 무엇을 보고 왜 그렇게 했는지 근거를 남깁니다.

04 / 06

필요한 정보만 찾아서

약관·결제 표기·사업자 정보처럼 심사에 필요한 정보를 찾을 때까지 관찰 → 판단 → 행동을 반복합니다. 카드사 심사에서는 결제 경로를 따라가며 화면을 캡처합니다.

05 / 06

충분하면 스스로 종료

필요한 공개 정보가 모이면 바로 멈춥니다. 공개 페이지를 한 페이지씩 순서대로 읽으므로, 가맹점 서버가 받는 부담은 일반 방문자 한 명 수준입니다.

06 / 06

심사 자료로 전달

수집한 화면과 텍스트를 심사 자료로 넘깁니다. 카드사 가맹점 심사 자동화로 심사 인력 20명을 절감했습니다.

agent.review(merchant_url)
example-shop.testbrowser-use
ShopStorySupport
Handmade ceramics오늘의 공방 · 봄 컬렉션
Moon cup₩38,000
Linen tray₩24,000
Clay vase₩52,000
이용약관개인정보처리방침사업자정보상호 오늘의공방 · 대표 김예시 · 사업자등록번호 000-00-00000 · 통신판매업 제0000-서울-0000호

이용약관

제12조 (청약철회 등)구매자는 상품을 받은 날부터 7일 이내에 청약을 철회할 수 있으며, 환불은 반환 확인 후 3영업일 이내에 처리합니다.

Moon cup₩38,000배송비 3,000원 · 5만원 이상 무료바로 구매

결제수단신용카드계좌이체간편결제

이용약관개인정보처리방침사업자정보상호 오늘의공방 · 대표 김예시 · 사업자등록번호 000-00-00000 · 통신판매업 제0000-서울-0000호

주문서

Moon cup × 1₩38,000
배송지

결제수단
신용카드
계좌이체

카드 결제

카드사 A카드사 B카드사 C카드사 D카드사 E카드사 F
결제 금액₩41,000
결제하기 (요청하지 않음)

※ 가상의 쇼핑몰로 재현한 예시입니다. 실제 가맹점·심사 화면이 아닙니다.

  • browser-use 기반 심사 에이전트가 가맹점 홈페이지를 사람처럼 탐색하며 사업자 정보·약관·결제 경로를 수집하도록 설계·개발
  • 카드사 가맹점 심사(결제 경로 캡처)를 자동화해 심사 인력 20명 절감, 같은 에이전트를 PAY 가맹점 검수(8명 규모 업무)에 적용
  • 사람 심사자가 브라우저로 하던 확인을 AI가 같은 방식으로 수행해, 평균 약 3일 걸리던 수기 심사를 당일 안내를 목표로 자동화

T-02비바리퍼블리카(토스)2026.06 – 현재

검수 자동화 플랫폼

검수 에이전트를 만들고 고도화하는 과정의 중간 단계를 AI가 자동화하는 플랫폼입니다. 요구사항 정리부터 프롬프트 고도화·재검증까지는 AI가 맡고, 데이터와 현재 방향성이 충돌하는 지점은 사용자에게 안내해 사용자는 방향을 정하고 승인만 합니다.

역할플랫폼 설계 및 개발

10+사용 부서검수 공통 모듈로 여러 검수 업무에서 활용

01 / 06

요구사항을 AI가 정리

메신저·위키·시트·담당자 메모에 흩어진 자료를 모아 AI가 검수 요구사항 문서를 작성하고, 빠진 내용은 확인 질문으로 남깁니다.

02 / 06

에이전트 초안도 AI가

정리된 요구사항을 바탕으로 AI가 필요한 구성 요소와 연결 순서를 제안해 검수 에이전트 초안을 만듭니다. 만들 수 없는 부분이나 빠진 요구는 함께 알려 줍니다.

03 / 06

판정과 근거, 버전까지

실행 결과에는 판정과 근거, 실행 이력과 버전이 함께 남습니다. 검수자는 결과를 바로 확인하고, 이 기록이 다음 고도화의 데이터가 됩니다.

04 / 06

검수 데이터와 비교

실제 검수자 판단과 나란히 놓으면 어긋난 지점이 드러납니다. 여기서부터 고도화 사이클이 시작됩니다.

05 / 06

AI가 고치고, 방향은 사람이

프롬프트로 고칠 수 있는 차이는 AI가 에이전트 구조를 고려해 수정안을 만들고 다시 실행해 비교합니다. 데이터와 현재 기준이 충돌하는 차이는 근거 사례와 함께 사용자에게 안내해 방향을 정하게 합니다.

06 / 06

새 버전, 그리고 다음 사이클

승인한 변경으로 새 버전이 만들어지고, 남은 차이는 다음 사이클의 질문이 됩니다. 10개 이상 부서가 검수 업무에 이 플랫폼을 적용했습니다.

platform.improve(agent, review_data)
검수 자동화 플랫폼 · 결제 가맹점 검수v1
메신저 스레드위키 문서정책 시트담당자 메모
검수 요구사항 (초안)

목적결제 가맹점 사이트가 필수 안내를 갖췄는지 확인

항목환불 안내 · 사업자 정보 · 결제수단 표기

확인 질문해외 가맹점도 같은 기준인가요?

순서구성 요소 (AI 제안)기준 정보
1가맹점 페이지에서 안내 문구 수집입력 형식
2환불·사업자 정보·결제수단 판정정책 3.2 · 2.1 · 4.1
3판정과 근거 정리결과 형식

빠진 요구: 해외 가맹점 기준 → 확인 질문으로 전달

가맹점 A위반

근거정책 3.2 — 환불 규정 안내 필수

관찰상품·약관 페이지 어디에도 환불 안내 없음

이력v1 · 실행 기록 저장

가맹점 C정상

관찰하단에 상호·사업자번호 표기

검수 대상 (예시)AI 판정검수자
프롬프트로 고칠 수 있는 차이 · 1건

결제수단이 이미지로만 있으면 판단하지 말고 사람 확인으로 보내도록 AI가 프롬프트 수정안 작성

+ 이미지로만 있는 안내 → 확인 필요같은 데이터로 재실행 → 1건 해소
방향성 확인이 필요한 차이 · 2건

현재 기준: 환불 규정은 상품 페이지에 있어야 함

데이터: 검수자는 약관에만 있는 환불 조항도 정상으로 판단 (사례 2건)

프롬프트가 아니라 기준의 방향 문제입니다. 어느 쪽으로 맞출까요?

현재 기준 유지데이터 방향으로 기준 수정
v14/8검수자 판단과 일치
v27/8같은 예시 데이터 기준

변경: 프롬프트 수정 1 · 기준 수정 1 (사용자 승인)

남은 차이 1건(해외 결제) → 다음 사이클의 확인 질문으로 전달

10+부서의 검수 업무에 적용

※ 가상의 검수 업무로 재현한 예시입니다. 가맹점·기준·수치는 모두 예시이며 실제 화면·데이터가 아닙니다.

  • AI가 검수 데이터와 에이전트 구조를 바탕으로 프롬프트를 고도화하고, 데이터와 현재 방향성이 충돌하는 지점을 사용자에게 안내해 고도화 사이클을 간편하게 만든 검수 자동화 플랫폼 설계·개발
  • 요구사항 문서 작성·에이전트 초안 생성·버전별 실험 등 검수 에이전트 제작의 중간 단계를 AI 간편 기능으로 자동화하고, 검수 공통 모듈로 10개 이상 부서에서 활용

T-03비바리퍼블리카(토스)2026.03 – 2026.06

광고 검수 에이전트

광고 정책 한 줄로 검수 문서를 자동 생성하고, 실제 검수 데이터를 바탕으로 AI가 문서를 고도화하는 광고 검수 에이전트를 만들었습니다.

역할설계 및 개발

+25%p평균 정확도 향상광고 문구 오탈자 정책 파일럿 · 개선용·검증용 세트(광고 36건) 향상폭 평균

01 / 06

한 줄짜리 정책

광고 정책은 "오탈자로 추정되는 표현 제한"처럼 한두 줄짜리 메모입니다. 이 문장만으로는 에이전트가 따를 판별 기준·경계·예시가 없고, 검수자만 아는 판단 기준도 담기지 않습니다.

02 / 06

검수 문서 자동 생성

정책 원문에서 근거를 찾아 한 줄 정책을 검수 문서로 바꿉니다. 무엇을 반려하고 무엇을 정상으로 볼지, 그 경계와 근거가 문서에 담깁니다.

03 / 06

검수자 판정과 비교

개선용 광고를 문서대로 판정해 검수자 판정과 비교합니다. 어긋난 사례는 대부분 정상 광고를 반려한 오반려였고, 이 첫 버전이 기준선입니다.

04 / 06

차이 패턴으로 1차 개정

오반려의 공통 패턴(광고에서 통용되는 붙여쓰기·금액 단위)을 찾아 AI가 문서를 개정합니다. 정확도가 올랐지만, 너무 풀어 준 곳에서 놓침이 생겼습니다.

05 / 06

2차 개정으로 경계 보완

광고 말투는 정상으로 명시하고, 뜻이 다른 낱말이 붙어 읽기 어려운 경우는 다시 반려하도록 경계를 보완합니다. 사람은 개정안을 확인만 했습니다.

06 / 06

처음 보는 광고에서도 개선

개선에 쓰지 않은 검증용 광고에서도 정확도가 함께 올라, 개선용·검증용 광고 평균 25%p 향상했습니다. 개선 효과가 처음 보는 광고에도 유지된다는 뜻입니다. 이 방식이 검수 자동화 플랫폼의 고도화 사이클로 이어졌습니다.

guideline.refine(policy, reviews)
검수 정책 관리자v1
정책 원문(요약): 맞춤법에 어긋나는 표현이 불필요하게 쓰이면 광고 집행을 제한할 수 있습니다.
검수 문서 자동 생성
  1. 정책 원문에서 근거 찾기
  2. 반려 기준·예시 정리
  3. 위반 · 검토 · 정상 경계 작성
  • 2.1 위반 유형 요약
  • 2.2 반려 기준 · 예시
    오타 — 할인혜텍 → 할인혜택미완결 — 신청하 → 신청하세요띄어쓰기 — 규칙을 어기면 반려
  • 2.3 관련 정책 근거
  • 2.4 판별 가이드
  • 2.5 판별 맥락
  • 2.6 위반 · 검토 · 정상 경계
광고 문구 (합성)문서검수자

개선에 쓰지 않은 광고로 다시 확인

개선용 광고 18건+17%p
검증용 광고 18건+33%p
평균+25%p

처음 보는 광고에서도 함께 개선 → 개선 효과가 새 광고에도 유지 · 단일 정책 파일럿

※ 광고 문구와 정책 요약은 파일럿에서 나타난 현상을 재현한 합성 예시입니다. 수치는 단일 정책 파일럿(실제 광고 36건) 결과입니다.

  • 짧은 광고 정책을 판별 기준·경계·예시를 갖춘 검수 문서로 자동 변환하는 광고 검수 에이전트 설계·개발
  • 검수자 판단과 어긋난 지점을 AI가 찾아 문서를 고도화하는 기능으로, 파일럿 정책에서 평균 정확도 25%p 향상
  • 개선에 쓰지 않은 광고에서도 정확도가 함께 올라, 개선 효과가 처음 보는 광고에서도 유지됨을 확인

02 · SK Telecom

에이닷을 움직인 대화형 에이전트

에이닷과 T멤버십에서 여러 요청이 섞인 말도 한 번에 처리하는 일정 에이전트, 대화 속에서 예매까지 끝내는 영화 예매 에이전트, 17가지 기능을 대화로 제공하는 메인 에이전트를 설계하고 개발했습니다.

SK텔레콤AI Agent 부서 · 매니저 · 2022.04 – 2025.10
67%
에이전트 경유 등록
일정 등록 9.8만 건 중 6.6만 건
60→80%
함수 호출 성공률
17개 기능(함수) 기준, 파인튜닝·프롬프트 개선
12%
예매 전환율
T멤버십 영화 예매 · 방문자 대비 예매 완료 비중

S-01SK텔레콤2025.04 – 2025.10

에이닷 일정 에이전트

에이닷에서 일정과 알림을 대화로 관리하는 일정 에이전트를 설계·개발했습니다. 여러 요청이 섞인 발화도 하위 작업으로 나눠 빠르고 정확하게 처리합니다.

역할에이전트 설계 및 개발

2.5×일정 MAU 성장20.3만 → 51.1만 (2025.01 → 2025.09)
67%에이전트 경유 등록일정 등록 9.8만 건 중 6.6만 건

01 / 06

한 문장에 의도 세 개

“내일 3시 치과 넣고, 금요일 회의 미루고, 이번 주 일정도 알려줘.” 생성·변경·조회가 한 문장에 섞여 있습니다. 먼저 의도를 나누고 시간·대상 같은 정보를 뽑습니다.

02 / 06

Plan: 하위 작업과 순서

요청을 하위 작업으로 나누고 순서를 정합니다. 회의를 미루려면 그 회의부터 찾아야 하므로 ‘찾기 → 변경’ 순서가 생기고, 나머지는 서로 독립입니다.

03 / 06

Execute: 독립 작업은 병렬로

서로 영향을 주지 않는 작업은 동시에 실행하고, 순서가 있는 작업만 차례로 실행합니다. 전체 응답 시간은 모든 작업의 합이 아니라 가장 긴 줄 하나의 길이로 줄어듭니다.

04 / 06

일정 추출 RAG

관리 주체·구독 여부·조회 일자로 후보를 거른 뒤, 후보를 N개로 나눠 LLM을 병렬로 호출합니다. 찾은 일정은 근거와 함께 검증해 ‘팀 회식’ 같은 오답을 걸러냅니다.

05 / 06

Refine: 결과로 다시 계획

실행 결과를 보고 재계획합니다. 찾아낸 회의(금 10:00)로 변경 작업의 인자가 확정되고, 남은 작업을 다시 정리해 분배합니다.

06 / 06

한 번에 답하고, 정확하게 등록

세 결과를 한 번의 답변으로 돌려줍니다. 반복 일정과 알림은 정확히 다루도록 iCalendar·ISO 8601 표준 형식을 썼고, 일정 등록의 67%가 이 에이전트를 거쳤습니다.

agent.plan_and_execute(utterance)
일정 비서대화
9월 24일 (수)

내일 오후 3시 치과 예약 넣고,금요일 팀 회의 30분 미루고,이번 주 일정도 알려줘

  1. 의도 분석 중의도 3개 파악
  2. 계획 세우는 중하위 작업 4개로 계획
  3. 3줄로 나눠 동시에 실행 중3줄 병렬 실행
  4. ‘금요일 팀 회의’ 찾는 중금 10:00 팀 주간 회의 찾음
  5. 결과 반영해 재계획 중재계획 반영

5단계 과정을 거쳐 처리

세 가지 모두 처리했어요.

  1. 치과 예약 등록 · 목 15:0030분 전 알림
  2. 팀 회의 10:00 → 10:30
  3. 이번 주 남은 일정 4건
  • 목 15:00치과 예약신규
  • 금 10:30팀 주간 회의변경
  • 금 19:00팀 회식
  • 토 11:00가족 점심
  1. 의도
  2. 계획
  3. 실행
  4. 검색
  5. 재계획
  6. 응답
intent_analysis()요청 1건 → 의도 3개
  • 1
    생성create치과 예약
    when: 09-25 15:00
  • 2
    변경update금요일 팀 회의
    shift: +PT30M
  • 3
    조회list이번 주 일정
    range: 09-22 ~ 09-28

의도마다 필요한 도구와 정보가 다릅니다 → 하위 작업으로 계획

plan()하위 작업 4개 · 순서 2단계
순서 1 · 동시에순서 2
1create_event독립치과 예약 · 내일 15:00
2afind_event‘금요일 팀 회의’
3list_events독립이번 주 일정
2bupdate_event+30분 · 2a가 찾은 회의

서로 영향이 없는 작업은 순서 1에서 함께, 결과가 필요한 작업만 다음 순서로

execute()예시

병렬 실행

1생성
create
2찾기→변경
findupdate
3조회
list

모두 순서대로 했다면

순차 실행
1.7s병렬 · 가장 긴 줄
3.7s순차 · 모든 작업의 합
find_event()예시
  1. 1필터링
    312건관리 주체: 나구독 일정 제외9/22–9/2824건 후보
  2. 2병렬 검색후보 24건 → 4개 청크 · LLM 4회 동시 호출
    #1LLM0
    #2LLM1
    #3LLM0
    #4LLM1
  3. 3검증 + 근거
    금 10:00 · 팀 주간 회의근거: 제목에 ‘팀’·‘회의’ · 금요일 · 내 캘린더
    금 19:00 · 팀 회식근거: 회의가 아닌 저녁 모임
refine()실행 결과 → 재계획
2bupdate_event인자 확정
대상미정팀 주간 회의 · 금 10:00
시간10:0010:30
iCalendar · RFC 5545ISO 8601 Duration
1create_eventBEGIN:VEVENTSUMMARY:치과 예약DTSTART:20250925T150000내일 15:00BEGIN:VALARMACTION:DISPLAYTRIGGER:-PT30M30분 전END:VALARMEND:VEVENT
2update_event반복 일정의 이번 회차만RRULE:FREQ=WEEKLY;BYDAY=FR원본 · 매주 금RECURRENCE-ID:20250926T100000이번 회차DTSTART:20250926T10300010:00 → 10:30

※ 가상의 일정과 수치로 재현한 예시입니다. 실제 서비스 화면이 아닙니다.

  • 여러 요청이 섞인 일정 발화도 정확히 처리하도록, 요청을 하위 작업으로 나눠 실행하고 결과를 보고 다시 계획하는 에이전트 설계·개발 (Plan-and-Execute + Refine)
  • 복합 요청에도 응답이 늦어지지 않도록, 서로 독립적인 하위 작업과 일정 검색을 병렬로 처리
  • 일정 등록의 67%가 에이전트 경유(9.8만 건 중 6.6만 건)

S-02SK텔레콤2024.04 – 2024.12

에이닷 메인 에이전트

환율·날씨·길 찾기 등 17가지 기능을 대화로 제공하는 에이닷의 대표 LLM 에이전트를 설계하고, 파인튜닝과 프롬프트 설계로 함수 호출 정확도를 높였습니다.

역할에이전트 설계, 프롬프트 엔지니어링, 학습 데이터 정의, 모델 파인튜닝

60→80%함수 호출 성공률17개 기능(함수) 기준, 파인튜닝·프롬프트 개선

01 / 06

일상적인 한 마디

“을지로3가역 지금 많이 붐벼?” 에이전트는 일상 대화로 답할지, 17가지 기능 중 하나를 호출할지부터 판단해야 합니다.

02 / 06

답을 지어내지 않고 함수를 부른다

LLM이 search_congestion을 고르고 인자 location을 ‘을지로3가’로 채웁니다. 오른쪽 로그의 색은 메시지 역할(user · function_call · function · assistant)을 나타냅니다.

03 / 06

함수 결과는 Markdown으로

시스템이 함수 결과를 Markdown으로 정리해 돌려줍니다. 코드값이 섞인 JSON보다 모델이 그대로 읽고 인용하기 쉬워, 답변이 결과에 충실해집니다. 토글로 두 형식을 비교해 보세요.

04 / 06

답변과 UI 카드

에이전트는 결과를 문장으로 안내하고, 화면에는 같은 결과를 혼잡도 카드로 함께 보여줍니다.

05 / 06

멀티턴: ‘거기서’는 어디?

“거기서 구로까지 빨리 가는 법”의 ‘거기’는 이전 턴의 을지로3가역입니다. 대화 맥락으로 인자를 채워 search_route를 호출하고 경로 카드로 답합니다.

06 / 06

17개 함수, 성공률 60% → 80%

환율·날씨·시간·길 찾기·뉴스·지하철 혼잡도 등 17개 함수를 다룹니다. 멀티턴·함수 호출 학습 데이터를 설계해 GPT 모델을 파인튜닝하고 프롬프트를 개선해, 함수 호출 성공률을 60%에서 80%로 올렸습니다.

agent.chat(messages, functions)
AssistantAI 비서

안녕하세요! 날씨, 환율, 길 찾기, 지하철 혼잡도까지 무엇이든 물어보세요.

오늘 날씨달러 환율지금 몇 시?

을지로3가역 지금 많이 붐벼?

search_congestion결과 받음

지금 을지로3가역은 매우 혼잡해요. 혼잡도 230%이고, 10호차가 비교적 여유 있어요.

을지로3가역2예시
매우 혼잡230%
1호차칸별 혼잡도10호차

거기서 구로까지 빨리 가는 법

search_route

2호선을 타고 신도림에서 1호선으로 갈아타면 약 27분 걸려요.

을지로3가 → 구로27분예시
  1. 2을지로3가 → 신도림
  2. 신도림 환승
  3. 1신도림 → 구로
messages[]LLM이 보는 대화 로그 예시
  • user
  • function_call
  • function
  • assistant
  1. system

    고정페르소나 · 답변 규칙 · 함수 17개 정의

    변동현재 시각 18:20 · 앱 화면 정보

  2. user

    을지로3가역 지금 많이 붐벼?

  3. assistant · function_call

    search_congestion({ "location": "을지로3가" })

  4. function · search_congestion
    {
      "stn_cd": "0203", "ln": 2,
      "cgst": { "lvl": 4, "rt": 2.3 },
      "cars": [4,4,3,4,4,4,3,4,3,2],
      "ts": "1820"
    }
    ## 혼잡도 · 을지로3가역 (2호선)
    - 18:20 기준 **매우 혼잡** (230%)
    - 비교적 여유: 10호차

    코드값(lvl 4, rt 2.3)을 모델이 해석해야 함 → 오답 위험

    읽히는 문장 그대로 인용 → 결과에 충실한 답변

  5. assistant

    지금 을지로3가역은 매우 혼잡해요. 혼잡도 230%이고, 10호차가 비교적 여유 있어요.

  6. user

    거기서 구로까지 빨리 가는 법

  7. assistant · function_call

    search_route({ "origin": "을지로3가", "destination": "구로" })

    ‘거기서’ → 이전 턴의 을지로3가
  8. function · search_route
    ## 경로 · 을지로3가 → 구로
    - 2호선 → 신도림 환승 → 1호선
    - 약 27분
  9. assistant

    2호선을 타고 신도림에서 1호선으로 갈아타면 약 27분 걸려요.

functions[17]일상 대화 + 17개 기능
  • 환율get_exchange_rate
  • 날씨get_weather
  • 시간get_time
  • 뉴스search_news
  • 지하철 혼잡도search_congestion
  • 길 찾기search_route
  • +11개기능 더이번 대화에서 호출
함수 호출 성공률17개 함수 기준
이전
60%
개선 후
80%

GPT-3.5 Turbo · GPT-4o mini 파인튜닝 + 프롬프트 엔지니어링

  • Markdown 함수 결과
  • 유사 함수 통폐합
  • 순차 호출 분할
  • 시간 인자 NER
  • 멀티턴 학습 데이터

※ 가상의 대화와 수치로 재현한 예시입니다. 실제 서비스 화면이 아닙니다. 함수 호출 성공률(60% → 80%)만 실제 결과입니다.

  • 함수 호출 정확도와 멀티턴 대화 품질을 높이도록 학습 데이터 구조(멀티턴·Function Calling)를 설계하고 GPT 모델을 파인튜닝·평가
  • 할루시네이션이 잦거나 인자 정확도가 낮은 함수는 작업을 나눠 순차 호출하고, 시간 인자는 NER로 먼저 추출해 시간 인식 오류를 줄임
  • 학습 데이터 설계·파인튜닝·프롬프트 개선으로 17개 함수 호출 성공률 60% → 80%

S-03SK텔레콤2024.01 – 2024.12

영화 예매 에이전트 (T멤버십·에이닷)

영화관 직원과 대화하듯 영화를 추천·검색하고 예매까지 이어 주는 에이전트를, 대화와 UI가 함께 동작하는 LLM Workflow로 설계했습니다.

역할UX & LLM 통합 Workflow 설계, RAG 개발

12%예매 전환율T멤버십 영화 예매 · 방문자 대비 예매 완료 비중
11만누적 사용자영화 예매 에이전트
8,000MAUT멤버십 영화 예매

01 / 05

영화관 직원에게 말하듯

멤버십 앱의 채팅창에 원하는 것을 그대로 말합니다. 이 말은 LLM 메시지 스택에 쌓이고, 에이전트는 예매에 필요한 정보(Slot)를 모으기 시작합니다.

02 / 05

Slot Filling과 개인화

파인튜닝한 모델이 Function Calling으로 날짜·시간·지역을 뽑아 Slot을 채웁니다. 위치와 최근 방문 극장 같은 사용자 정보로 극장을 먼저 제안하고, 상태 관리 모듈이 긴 대화에서도 Slot을 지킵니다.

03 / 05

영화 검색 RAG

유의어 사전을 담은 Trie로 영화명을 태깅하고, LLM으로 키워드·메타를 뽑은 뒤 Vector 검색과 메타 필터로 후보를 찾습니다. 마지막으로 LLM이 요청에 맞는 영화를 고릅니다.

04 / 05

UI 조작도 같은 Workflow로

채팅 대신 상영 시간 버튼을 눌러도, 그 결과가 메시지가 되어 LLM 프롬프트에 들어갑니다. 그래서 다음 답변에 방금 누른 선택이 반영되고, 대화와 UI가 하나의 흐름으로 이어집니다. 직접 시간을 눌러 보세요.

05 / 05

Slot이 모두 차면 예매로

인원과 좌석까지 채워지면 예매 확인 카드를 띄웁니다. 이 흐름으로 방문자 대비 예매 완료 비중(예매 전환율) 12%를 기록했습니다.

movie_agent.run(chat, ui_events)
대화UI 조작개인화
멤버십 · 영화 예매AI

안녕하세요! 어떤 영화를 예매해 드릴까요?

내일 저녁 을지로에서 영화 보고 싶어

최근 가신 을지로 시네마로 찾아볼게요. 보고 싶은 영화가 있으세요?

별의항해 아직 해? 잔잔한 영화도 좋아

내일 저녁 을지로 시네마 상영작이에요.

SF · 124분
드라마 · 108분
드라마 · 116분
「별의 항해」 내일

「별의 항해」 19:40으로 할게요. 몇 분이 보시나요?

2명, 가운데 자리로

별의 항해내일 19:40 · 을지로 시네마 3관2명 · F7, F8
✓ 예매 정보 6/6예매하기
메시지를 입력하세요
Slots예매 정보0/6
영화—
극장—
날짜—
시간—
인원—
좌석—
개인화최근 방문 · 을지로 시네마선호 · 명동 시네마
LLM Messages대화와 UI를 한 스택에2개
  1. system영화 예매 에이전트 · 사용자 정보(위치, 최근 방문 극장)
  2. user내일 저녁 을지로에서 영화 보고 싶어
  3. tool_callupdate_slots(date="내일", time="저녁", area="을지로")
  4. assistant최근 가신 을지로 시네마로 찾아볼게요. 보고 싶은 영화가 있으세요?
  5. user별의항해 아직 해? 잔잔한 영화도 좋아
  6. tool
    search_movies()→ 3편
    1. Trie영화명 태깅별의항해 → 「별의 항해」
    2. LLM키워드·메타잔잔한드라마
    3. Vector검색 + 메타 필터을지로 · 내일 저녁 → 후보 18편 예시
    4. LLM최종 선정3편
  7. ui_eventUI 선택 · 「별의 항해」 19:40 · 을지로 시네마UI 결과를 프롬프트에 포함
  8. assistant「별의 항해」 19:40으로 할게요. 몇 분이 보시나요?
  9. user2명, 가운데 자리로
  10. tool_callshow_booking_card(slots=6/6)
12%예매 전환율방문자 대비 예매 완료

※ 가상의 앱·극장·영화로 재현한 예시입니다. 실제 서비스 화면이 아닙니다.

  • 대화와 버튼(UI)을 오가며 영화를 조회·예매할 수 있도록, UI 동작 결과를 LLM Workflow에 반영하는 UI 연동형 에이전트 설계
  • 대화로 요청한 영화를 찾는 RAG를 설계하고, 매일 갱신되는 영화 정보에서 메타·키워드를 자동 추출해 검색에 반영
  • Function Calling 정확도와 멀티턴 대화 유창성을 높이도록, 서비스 로그에서 모은 데이터로 GPT 모델 파인튜닝
  • T멤버십 영화 예매 전환율 12%(방문자 대비 예매 완료), 영화 예매 에이전트 누적 사용자 11만 명

03 · Research & Speech

음성·언어 연구

고려대 DSBA 연구실에서 음성인식·자연어처리를 연구했고(Interspeech 2022), 현대자동차에서 음성인식 디코딩을 개선했습니다.

Interspeech 2022 · 1저자·2022.09

K-Wav2vec 2.0: 자소·음절 Joint Decoding 기반 한국어 음성인식

한국어의 자소·음절 관계를 반영한 Joint Decoding과 추가 사전학습으로, 한국어에 맞춘 Wav2vec 2.0을 제안했습니다.

kwav2vec.decode(wav)
음성 “안녕하세요”16 kHz
헤드 출력 · 대기예시
빔 후보
안녕하세요
안녕하새요
안녕하세여
안영하세요

※ 합성 예시입니다. 후보와 점수는 설명을 위한 가상 값입니다.

  • 한국어 음절이 자소의 조합이라는 점을 반영해, 자소·음절을 함께 학습하는 Multi-task 구조와 두 출력을 결합하는 Joint Decoder 설계
  • 영어로 사전학습된 모델을 한국어 비표지 데이터로 추가 사전학습해 적은 데이터에서 성능 향상

고려대 DSBA × 한화시스템 ICT부문 산학과제·2020.01 – 2021.09

화학 공정 예지보전 시스템

화학 공정 설비의 이상 징후를 조기에 탐지하고 원인을 설명해, 고장 전에 조치할 수 있게 하는 예지보전 시스템을 개발했습니다.

plant.monitor(pump_07)
센서 5종 · 실시간예시정상
조치 시간
진동mm/s
음향dB
회전속도rpm
온도°C
압력bar
복원 오차RNN-AE임계값 0.50경보
LSH · 비슷한 과거 구간원인 후보 공동 현상
공동 현상유사도 0.93
공동 현상유사도 0.88
정상유사도 0.41

※ 가상의 설비와 합성 센서 데이터로 재현한 예시이며, 모든 값은 예시 값입니다.

  • 설비 엔지니어가 고장 전에 조치하도록, RNN Auto-Encoder 이상 탐지와 RNN 시계열 예측으로 이상 징후를 조기 탐지
  • LSH로 과거 유사 패턴을 찾아 정상 패턴과 이상 패턴을 분류·제공하는 분석 시스템 구축

현대자동차 에어랩·2022.02 – 2022.04

차량·모바일 음성인식 시스템

차량 소음 환경에서 음성인식 정확도를 높이기 위해, 이전 대화를 참조하는 생성 언어모델을 디코딩에 결합했습니다.

음성 입력차량 소음 환경이전 대화 턴대화 문맥음향 모델음향 점수KoGPT대화 데이터로 학습한 LMJoint Decoding빔 서치 · 음향 + LM 점수인식 결과
음향 점수와, 이전 대화를 읽는 KoGPT 점수를 함께 쓰는 빔 서치 · 외부 소음 환경 인식률 5% 향상
  • 차량 소음으로 떨어지는 음성인식 정확도를 보완하도록, 음성 대화 데이터로 학습한 생성 언어모델(KoGPT)을 ASR 디코딩에 결합
  • 이전 대화 문맥까지 참조해 인식 결과를 고르도록 Joint Decoding(언어모델 + Beam Search) 알고리즘 수정

대한산업공학회지 2021 · 1저자·2021.12

일관성 정규화를 적용한 멀티모달 한국어 감정인식

외부 음성인식 결과를 함께 쓰는 멀티모달 감정인식에서, 인식 오류에도 견고하도록 Consistency Regularization을 적용했습니다.

외부 STTpq음성정답 텍스트학습 때만 사용STT 텍스트인식 오류 포함융합 인코더BERT + Wav2vec 2.0융합 인코더BERT + Wav2vec 2.0일관성 정규화두 경로의 감정 예측을 서로 맞춤
학습 때 정답 텍스트 경로와 STT 경로의 예측(p, q)을 맞춰, STT 오류에도 견고한 감정인식
  • 외부 음성인식(STT) 모듈을 결합해 음성과 텍스트를 함께 쓰는 멀티모달 감정인식 프레임워크 개발
  • STT 오류에 견고하도록 정답 텍스트 경로와 STT 경로의 예측을 맞추는 Consistency Regularization 적용

고려대학교 (대학원 프로젝트)·2020.04 – 2020.07

오픈 도메인 한국어 질의응답 시스템

검색 엔진으로 후보 문서를 모으고 BERT 기반 기계 독해로 정답 구간을 찾는 한국어 오픈 도메인 질의응답 시스템을 개발했습니다.

질문검색 엔진후보 문서 수집문단 분리문단 단위정답 구간 추출BERT · KoBERT · HanBERT정답
검색으로 후보 문단을 모으고, 기계 독해로 문단 속 정답 구간을 찾습니다 · Flask 웹 데모
  • 검색 엔진으로 질문에 대한 후보 문서를 수집하고 문단 단위로 분리하는 검색 파이프라인 구축
  • BERT·KoBERT·HanBERT 기반 정답 구간 추출 모델을 정량·정성 평가해 최종 모델 선정

arXiv 2021 · 2저자·2021.07

Back-Translated Task Adaptive Pretraining

역번역 데이터 증강과 Task-Adaptive Pre-training을 결합해, 적은 데이터에서 텍스트 분류 모델의 정확도와 견고성을 높이는 방법을 연구했습니다.

파인튜닝과제 데이터적은 레이블역번역번역 후 다시 원문으로증강 문장다양한 표현Task-Adaptive Pre-training증강 + 원문으로 추가 사전학습분류기
역번역으로 늘린 문장으로 과제 적응 사전학습(TAPT)을 한 뒤 분류기를 파인튜닝 · 적은 데이터에서 정확도·견고성 개선
  • 적은 데이터에서도 텍스트 분류 성능과 견고성을 높이도록, 역번역으로 증강한 과제 데이터로 추가 사전학습(TAPT)
  • 역번역 증강을 구현하고(Nucleus Sampling으로 다양한 문장 생성) EDA·TF-IDF·Embedding Swapping 등 기존 증강 기법과 비교 실험

04 · 이전 경력

금융 시스템과 금융 AI

SK주식회사 C&C (현 SK AX) · 2015.01 – 2020.03. KDB산업은행 전자금융 서비스(FIDO 지문인증·비대면 실명확인·스마트OTP)를 개발했고, 기업 부실 징후 조기경보·로보어드바이저·뉴스 기반 시장 예측 모델을 만들었습니다.

SK C&C·2019.07 – 2020.03

마켓캐스터 – 뉴스 기반 금융시장 예측

뉴스 기반 금융시장 예측 플랫폼(마켓캐스터)에서 뉴스 이벤트 추출·예측 모델과 감성 분석 모델을 개발했습니다.

뉴스 문장품사 보정 파싱이벤트 튜플(행위자, 행위, 대상)NTN 임베딩Neural Tensor Network계층적 어텐션이벤트 → 시간 단위주가 · 지수시계열시장 움직임 예측뉴스 + 주가 앙상블
뉴스 이벤트 임베딩과 주가 시계열을 앙상블해 지수·채권 등 시장 움직임을 예측
  • 뉴스에서 추출한 금융 이벤트와 주가 데이터를 결합한 앙상블 모델로 시장 움직임 예측
  • 뉴스 문장의 행위자·행위·대상을 이벤트로 추출·임베딩하고, 이벤트·시간 단위 계층적 어텐션 모델로 시장 이벤트 예측

SK C&C·2018.07 – 2019.02

포트폴리오 로보어드바이저

사용자 포트폴리오와 주가 변화, 거래 비용을 고려해 강화학습으로 투자 비율을 조정하는 자동 트레이딩 시스템을 개발했습니다.

자동 트레이딩 · 강화학습유사 종목 추천포트폴리오주가 변화거래 비용앙상블 DQNDeep Q-Learning비중 조정Word2VecStock2vecK-means군집유사 종목함께 움직임
포트폴리오·주가 변화·거래 비용을 보고 투자 비율을 조정하는 강화학습, 함께 움직이는 종목 추천 · 모의투자 시스템 적용
  • 포트폴리오·주가 변화·거래 비용을 고려한 앙상블 Deep Q-Learning 트레이딩 모델 개발
  • Word2Vec으로 함께 움직이는 종목의 특징을 벡터로 압축하고 K-means로 유사 종목 추천

SK C&C (고객 KDB산업은행)·2018.01 – 2018.07

기업 부실징후 조기인식 시스템

KDB산업은행 시범사업에서 뉴스 이벤트와 산업 감성을 분석해, 기업 부실 징후를 미리 알리는 조기경보 지수의 자연어 분석 부분을 개발했습니다.

기업 뉴스주어·동사·목적어산업 뉴스감성 분석주가 변화이벤트 부실지수관계 임베딩산업 감성 지수산업별 긍·부정조기경보다차원 지수
이벤트 부실지수 · 산업 감성 지수 · 주가 변화를 합친 다차원 조기경보 지수 · KDB산업은행 신용위험 평가 시스템 시범 적용
  • 뉴스 이벤트·산업 감성 분석으로 기업 부실 징후 지수를 만들어 KDB산업은행 기업 신용위험 평가 시스템에 시범 적용
  • 뉴스 문장에서 주어·동사·목적어를 추출해 관계를 임베딩하고, 이벤트 기반 부실 징후 지수 산출

SK C&C (고객 KDB산업은행)·2016.01 – 2017.03

KDB산업은행 전자금융 서비스

KDB산업은행 전자금융 시스템 운영을 맡으며 FIDO 지문인증·비대면 실명확인·스마트OTP 등 규제 변화에 따른 전자금융 서비스를 개발했습니다.

FIDO 지문인증 · 2017비대면 실명확인 · 2016스마트OTP · 2016기기 안 · 생체정보는 밖으로 나가지 않음지문 인증전자서명전문 변환저장·관리신분증 촬영OCR · 특징점SMS 인증앱 OTP 생성OTP 처리관리 메뉴
규제 변화에 맞춰 도입한 전자금융 흐름 세 가지 · 인터페이스·화면·비즈니스 로직 개발
  • FIDO 지문인증: 공인인증서 외에 지문으로도 인증하도록 앱 연동 인터페이스와 전자서명값 관리 기능 개발
  • 비대면 실명확인: 영업점 방문 없이 실명확인하도록 신분증 촬영·진위확인·SMS 인증을 잇는 브라우저-앱 흐름과 화면·비즈니스 로직 개발

05 · 공유와 수상

배운 것을 나누기

수상

  • 2022.12최우수상 · SK AI Challenge
    의사결정 효율화를 위한 문서 요약 모델 개발 (T5 파인튜닝)
  • 2021.11최우수상 · 대한산업공학회 석사논문경진대회
    일관성 정규화를 적용한 멀티모달 한국어 감정인식
  • 2021.01우수상(KPC상) · 제2회 팩토리 핵 코리아 (산업통상자원부·KIAT)
    오일·냉각수 온도·압력 변화 예측 모델 개발
  • 2013.11금상 · 2013 대한산업공학회 추계학술대회
    차세대 ROADM의 경로 설정과 파장 할당 최적화

발표 · 강의

  • 2021.11NAVER CLOVA AI Tech Talk
    K-Wav2vec 2.0: 자소·음절 Joint Decoding 기반 한국어 음성인식
  • 2021.062021 대한산업공학회 춘계공동학술대회
    Wav2vec 2.0을 활용한 한국어 음성인식
  • 2021.09현대모비스 · Project Assistant
    기업 팀의 도금 공정 설명가능 AI 프로젝트 지도
  • 2021.07LG이노텍 · 강사
    머신러닝·딥러닝을 위한 Python 프로그래밍
  • 2020.08LG화학 · 강사
    머신러닝을 위한 Python 프로그래밍