본문 바로가기

Programmer/AI

Jev - 프로그램과 연동하는 기술

반응형

생성형 AI는 이제 단순히 질문에 답변하는 수준을 넘어 실제 업무를 처리하는 방향으로 발전하고 있습니다.

그런데 AI 서비스를 개발하다 보면 한 가지 고민이 생깁니다.

"모든 업무에 ChatGPT와 같은 생성형 AI를 사용해야 할까?"

예를 들어 고객의 문의가 결제, 배송, 환불 중 어떤 유형에 해당하는지 판단하는 작업을 생각해 보겠습니다.

이러한 작업에는 길고 자연스러운 문장을 생성할 필요가 없습니다. 고객의 문의 내용을 이해하고, 미리 정의된 선택지 중 적절한 항목 하나를 선택하면 됩니다.

이처럼 문장의 의미를 이해하고 판단하는 작업에 초점을 맞춘 AI 모델이 바로 Jev입니다.

이번 포스팅에서는 Jev가 무엇인지, 기존 생성형 AI와 어떤 차이가 있는지, 그리고 실제 서비스에서 어떻게 활용할 수 있는지 개발자와 일반 사용자 모두 쉽게 이해할 수 있도록 정리해 보겠습니다.

1. Jev란 무엇인가?

Jev는 TypeSafe AI에서 개발한 AI 모델로, 주어진 상황을 이해하고 정해진 기준에 따라 판단 결과를 반환하는 데 초점을 맞추고 있습니다.

기존 생성형 AI가 사람에게 자연스러운 답변을 제공하는 역할에 중점을 두었다면, Jev는 소프트웨어가 활용할 수 있는 판단 결과를 제공하는 역할에 집중합니다.

조금 더 쉽게 이해하기 위해 고객센터를 예로 들어 보겠습니다.

고객이 다음과 같이 문의했다고 가정해 보겠습니다.

"지난주 주문한 상품이 아직 도착하지 않았어요. 언제 받을 수 있나요?"

일반적인 생성형 AI에 이 문장을 전달하면 다음과 같은 답변을 생성할 수 있습니다.

"고객님께서는 주문하신 상품의 배송 상태를 문의하고 계십니다. 주문 내역과 배송 정보를 확인한 후 예상 도착 일정을 안내하는 것이 좋겠습니다."

반면 Jev에는 다음과 같이 질문할 수 있습니다.

"이 고객의 문의는 결제, 배송, 환불 중 어느 유형에 해당하는가?"

Jev는 문장의 의미를 분석한 후 배송이라는 선택지에 대한 판단 결과를 반환합니다.

개발자는 이 결과를 받아 배송 조회 시스템을 실행하거나 배송 담당 부서로 문의를 전달할 수 있습니다.

즉, Jev의 핵심은 사람이 읽기 위한 긴 답변을 생성하는 것이 아니라, 프로그램이 다음 행동을 결정하는 데 필요한 정보를 제공하는 것입니다.

물론 일반적인 생성형 AI도 이러한 분류 작업을 수행할 수 있습니다. Jev는 그중에서도 판단 작업에 특화된 모델이라는 점에 차이가 있습니다.

2. 기존 생성형 AI와 Jev는 무엇이 다를까?

일반적인 생성형 AI는 문장을 이해하고 새로운 문장을 만들어 내는 데 강점이 있습니다.

반면 Jev는 주어진 조건에 따라 적절한 선택을 하거나 특정 조건에 해당하는지 평가하는 작업에 초점을 맞추고 있습니다.

두 모델의 차이를 간단히 비교하면 다음과 같습니다.

구분일반적인 생성형 AIJev
주요 역할 자연어 이해 및 콘텐츠 생성 의미 이해 및 판단
결과물 문장, 코드, 보고서 등 선택 결과, 확률, 점수
주요 활용 챗봇, 글쓰기, 요약, 분석 업무 분류, 조건 평가, 실행 경로 선택
처리 방식 자유로운 형태의 답변 생성 미리 정의된 질문과 기준에 따른 판단
활용 목적 사용자가 이해할 수 있는 결과 생성 프로그램이 활용할 수 있는 판단 결과 제공

예를 들어 쇼핑몰에 하루 수만 건의 고객 문의가 접수된다고 가정해 보겠습니다.

모든 문의에 대해 생성형 AI를 호출하여 자연어 답변을 생성하고, 그 답변을 다시 분석하여 담당 부서를 결정할 필요는 없습니다.

고객 문의를 정해진 유형으로 분류하는 것이 목적이라면 판단 결과만 반환받아도 충분합니다.

이러한 업무에 Jev와 같은 판단 전용 모델을 활용하면 기존 시스템을 보다 단순하게 구성할 수 있습니다.

다만 Jev가 모든 환경에서 기존 생성형 AI보다 빠르거나 저렴하다고 단정할 수는 없습니다. 실제 서비스에 도입하기 전에는 동일한 업무를 기준으로 정확도, 응답 속도, 비용을 비교해 보는 것이 좋습니다.

3. Jev의 핵심 기능 3가지

Jev를 활용하기 위해 가장 먼저 이해해야 할 것은 세 가지 판단 방식입니다.

Choice, Noul, Score라는 기능을 알아두면 Jev를 어떤 업무에 적용할 수 있는지 쉽게 이해할 수 있습니다.

① Choice: 여러 선택지 중 하나를 선택하는 기능

Choice는 여러 후보 중 주어진 상황에 가장 적합한 항목을 선택하는 기능입니다.

예를 들어 고객센터에 다음과 같은 문의가 들어왔다고 가정해 보겠습니다.

"결제한 금액이 두 번 청구됐어요. 확인해 주세요."

이때 Jev에 다음과 같은 선택지를 전달할 수 있습니다.

  • 결제 문의

  • 배송 문의

  • 환불 문의

  • 기타 문의

Jev는 고객의 문장을 분석한 후 각 항목에 해당할 확률을 평가하고 적절한 항목을 선택합니다.

개발자는 선택된 결과를 바탕으로 결제 담당 부서에 문의를 전달하거나 결제 내역 조회 시스템을 실행할 수 있습니다.

이러한 기능은 고객센터뿐 아니라 이메일 분류, 문서 분류, AI 에이전트의 도구 선택 등에도 활용할 수 있습니다.

② Noul: 특정 조건에 해당하는지 판단하는 기능

Noul은 특정 조건이 참인지 거짓인지 확률로 평가하는 기능입니다.

예를 들어 고객의 메시지가 실제 환불 요청에 해당하는지 판단하고 싶다고 가정해 보겠습니다.

고객 메시지:

"지난주 구매한 상품을 환불받고 싶습니다."

질문:

"이 고객은 현재 환불을 요청하고 있는가?"

Jev는 해당 질문이 참일 확률을 반환합니다.

이 결과를 활용하면 고객의 요청이 실제 환불 요청에 해당하는지 판단하고, 필요한 경우 환불 처리 절차로 연결할 수 있습니다.

다른 활용 사례로는 다음과 같은 것들이 있습니다.

  • 고객의 메시지에 불만이 포함되어 있는가?

  • 특정 문서에 개인정보가 포함되어 있는가?

  • 사용자가 서비스 이용을 중단하려는 의도를 표현했는가?

  • 학생의 답변에 자신의 의견이 포함되어 있는가?

다만 판단 확률이 높다는 이유만으로 실제 환불이나 계정 삭제 같은 중요한 작업을 자동 실행해서는 안 됩니다.

최종 실행 여부는 기존 시스템의 정책과 권한 검사를 통해 결정하는 것이 안전합니다.

③ Score: 정해진 기준에 따라 수준을 평가하는 기능

Score는 특정 상황이 어느 정도의 수준에 해당하는지 평가하는 기능입니다.

예를 들어 고객 문의의 긴급성을 판단한다고 가정해 보겠습니다.

고객 메시지:

"결제 시스템에서 오류가 발생해 계속 중복 결제가 이루어지고 있습니다."

이때 다음과 같은 기준을 정의할 수 있습니다.

  • 낮음: 일반적인 문의로 즉각적인 조치가 필요하지 않은 경우

  • 보통: 일정 시간 내 담당자의 확인이 필요한 경우

  • 높음: 금전적 손실이나 서비스 장애가 발생해 신속한 확인이 필요한 경우

Jev는 정의된 기준을 바탕으로 상황을 평가합니다.

개발자는 해당 결과를 활용해 긴급한 문의부터 담당자에게 전달하거나 장애 대응 절차를 시작하도록 구성할 수 있습니다.

단, Jev가 반환한 점수 자체가 객관적으로 검증된 위험도나 실제 피해 규모를 의미하는 것은 아닙니다.

실제 서비스에서는 평가 기준과 후속 처리 규칙을 별도로 검증해야 합니다.

4. Jev를 실제 서비스에 활용하는 방법

Jev의 기능을 이해했다면 실제 서비스에 어떻게 활용할 수 있는지 살펴보겠습니다.

가장 중요한 것은 복잡한 업무 전체를 Jev에 맡기는 것이 아니라, 업무 처리 과정에서 판단이 필요한 부분을 찾아 적용하는 것입니다.

활용 사례 1. 고객센터 문의 자동 분류

고객센터에서는 매일 다양한 유형의 문의가 접수됩니다.

"상품이 언제 도착하나요?"

"카드 결제가 두 번 됐어요."

"주문을 취소하고 싶습니다."

"회원 탈퇴는 어떻게 하나요?"

이러한 문의를 사람이 일일이 확인하고 담당 부서로 전달하려면 많은 시간이 필요합니다.

Jev를 활용하면 고객의 문의 내용을 분석해 정해진 유형으로 분류할 수 있습니다.

처리 과정

고객 문의 접수 → Jev가 문의 유형 판단 → 담당 업무 시스템에 전달 → 기존 시스템에서 실제 업무 처리

예를 들어 배송 관련 문의라면 배송 조회 시스템으로 연결하고, 결제 관련 문의라면 결제 내역 조회 시스템으로 연결하는 방식입니다.

여기서 Jev는 고객의 의도를 파악하는 역할을 수행합니다.

실제 결제 확인이나 환불 실행과 같은 업무는 기존 시스템에서 처리합니다.

이처럼 역할을 분리하면 AI의 판단 결과를 기존 업무 자동화 시스템에 연결할 수 있습니다.

활용 사례 2. AI 에이전트의 도구 선택

최근 AI 에이전트는 단순히 사용자와 대화하는 수준을 넘어 실제 업무를 수행하는 방향으로 발전하고 있습니다.

예를 들어 사용자가 AI 비서에게 다음과 같이 요청했다고 가정해 보겠습니다.

"지난달 카드 사용 내역을 정리해서 알려줘."

이 요청을 처리하기 위해서는 다음과 같은 과정이 필요합니다.

  1. 사용자의 요청 의도를 이해합니다.

  2. 어떤 데이터나 도구가 필요한지 판단합니다.

  3. 필요한 데이터를 조회합니다.

  4. 조회한 결과를 분석합니다.

  5. 사용자가 이해할 수 있는 형태로 답변을 생성합니다.

이 중 Jev는 두 번째 단계인 도구 선택에 활용할 수 있습니다.

사용자의 요청을 분석한 후 결제 데이터 조회 도구를 선택하도록 하는 방식입니다.

선택된 도구가 실제 데이터를 조회하고, 생성형 AI가 조회 결과를 정리하여 사용자에게 전달할 수 있습니다.

이러한 구조에서는 하나의 생성형 AI가 모든 단계의 판단과 처리를 담당할 필요가 없습니다.

Jev는 어떤 도구를 사용할지 판단하고, 기존 프로그램은 데이터를 처리하며, 생성형 AI는 최종 답변을 작성하도록 역할을 분리할 수 있습니다.

활용 사례 3. 교육 및 독서 서비스

개인적으로 흥미롭게 생각하는 활용 분야 중 하나는 교육 서비스입니다.

특히 학생이 책을 읽고 자신의 생각을 자유롭게 표현하는 독서 서비스에서 Jev를 활용할 수 있습니다.

예를 들어 학생이 책을 읽은 후 다음과 같이 답변했다고 가정해 보겠습니다.

"주인공이 친구에게 거짓말을 해서 속상했지만, 마지막에 잘못을 인정해서 다행이라고 생각했어요."

이때 학생의 답변을 바탕으로 다음과 같은 질문을 Jev에 전달할 수 있습니다.

  • 학생이 이야기의 주요 사건을 이해했는가?

  • 등장인물의 감정이나 자신의 감정을 표현했는가?

  • 자신의 생각을 뒷받침하는 근거를 제시했는가?

  • 추가적인 질문이 필요한 답변인가?

이러한 판단 결과를 활용하면 학생의 답변에 따라 다른 후속 질문을 제공하는 기능을 설계할 수 있습니다.

예를 들어 학생이 자신의 감정은 충분히 표현했지만 생각의 근거를 설명하지 않았다면 다음과 같이 질문할 수 있습니다.

"주인공이 자신의 잘못을 인정한 장면이 왜 중요하다고 생각했나요?"

여기서 Jev는 학생에게 어떤 종류의 질문이 필요한지 판단하는 역할을 수행할 수 있습니다.

실제 질문 문장은 미리 준비한 질문 목록에서 선택하거나 생성형 AI를 활용해 만들 수 있습니다.

다만 학생의 독서 이해도와 사고 능력은 하나의 답변만으로 단정하기 어렵습니다.

따라서 Jev의 판단 결과는 학생의 능력을 평가하는 절대적인 기준보다는 적절한 후속 질문을 선택하기 위한 보조 정보로 활용하는 것이 적합합니다.

활용 사례 4. 문서 분류 및 업무 자동화

기업에서는 계약서, 청구서, 이메일, 보고서 등 다양한 문서를 처리합니다.

이러한 문서가 어떤 업무에 해당하는지 판단하는 과정에도 Jev를 활용할 수 있습니다.

예를 들어 회사에 새로운 이메일이 도착하면 다음과 같은 과정을 구성할 수 있습니다.

이메일 수신 → 문의 내용 분석 → 업무 유형 판단 → 담당자에게 전달

또는 계약서를 검토하는 과정에서 개인정보 포함 여부나 추가 검토 필요 여부를 평가하도록 설계할 수도 있습니다.

다만 계약서의 법적 효력이나 실제 금액, 날짜, 계약 조건과 같은 중요한 정보는 Jev의 판단 결과만으로 확정해서는 안 됩니다.

정확한 데이터 추출과 검증이 필요한 작업은 별도의 프로그램이나 전문적인 검토 절차를 통해 처리해야 합니다.

5. 개발자가 Jev를 실제로 사용하려면?

Jev는 API를 통해 기존 애플리케이션에 연결하여 사용할 수 있습니다.

실제 개발 과정에서는 다음과 같은 순서로 접근하면 이해하기 쉽습니다.

STEP 1. 판단이 필요한 업무를 정의합니다.

가장 먼저 Jev로 어떤 문제를 해결할 것인지 명확하게 정의해야 합니다.

예를 들어 고객센터의 모든 업무를 자동화하겠다는 목표보다는 고객의 문의를 결제, 배송, 환불, 기타 유형으로 분류하겠다는 구체적인 목표를 세우는 것이 좋습니다.

STEP 2. 판단 기준과 선택지를 정의합니다.

고객 문의를 분류하는 기능이라면 선택지를 다음과 같이 정의할 수 있습니다.

분류값의미
billing 결제와 결제 내역 관련 문의
delivery 배송 상태 및 일정 관련 문의
refund 환불 및 결제 취소 관련 문의
other 다른 유형의 문의
unknown 정보가 부족하여 판단하기 어려운 문의

중요한 것은 각 선택지가 어떤 상황에 해당하는지 명확하게 정의하는 것입니다.

예를 들어 환불 정책에 대한 단순한 질문과 실제 환불을 요청하는 메시지는 서로 다른 업무로 처리해야 할 수 있습니다.

따라서 모델이 혼동하지 않도록 선택지별 기준을 구체적으로 작성하는 것이 중요합니다.

STEP 3. API를 호출해 판단 결과를 받습니다.

Jev API를 호출할 때는 분석 대상 데이터와 판단할 질문을 전달합니다.

고객센터 분류 기능이라면 고객이 작성한 메시지와 문의 유형을 판단하기 위한 질문이 필요합니다.

Jev는 주어진 질문과 선택지를 바탕으로 판단 결과를 반환합니다.

개발자는 반환된 선택값과 확률 정보를 확인하여 후속 처리 로직을 구성할 수 있습니다.

실제 요청 형식과 응답 구조는 공식 API 문서를 참고해야 합니다.

STEP 4. 기존 서비스의 업무 처리 로직에 연결합니다.

Jev가 반환한 결과를 실제 서비스에서 활용할 수 있도록 연결합니다.

예를 들어 선택값이 delivery라면 배송 조회 시스템을 실행하고, billing이라면 결제 내역 조회 시스템을 실행하는 방식입니다.

개념적으로는 다음과 같은 구조입니다.

고객 문의 → Jev API 호출 → 문의 유형 판단 → 기존 프로그램 실행 → 고객에게 결과 안내

여기서 중요한 것은 Jev가 반환한 결과만으로 모든 작업을 자동 실행하지 않는 것입니다.

정보가 부족하거나 판단이 모호한 경우에는 고객에게 추가 정보를 요청하거나 담당자에게 전달하도록 설계해야 합니다.

환불이나 결제처럼 금전적인 영향을 미치는 작업에는 별도의 권한 확인과 정책 검사를 적용해야 합니다.

6. Jev를 도입할 때 고려해야 할 사항

Jev는 다양한 업무에 활용할 수 있지만, 모든 문제를 해결하는 범용적인 AI 모델은 아닙니다.

실제 서비스에 도입하기 전에는 몇 가지 사항을 고려해야 합니다.

첫째, 모든 작업에 Jev가 필요한 것은 아닙니다.

단순한 조건문으로 처리할 수 있는 업무라면 굳이 AI 모델을 호출할 필요가 없습니다.

예를 들어 결제 금액이 10만 원 이상인지 확인하는 작업은 기존 프로그램의 조건문만으로 충분히 처리할 수 있습니다.

반면 사용자가 자유롭게 작성한 문장에서 결제 관련 문의인지 판단하는 작업은 자연어의 의미를 이해해야 하므로 Jev와 같은 모델을 검토할 수 있습니다.

둘째, 판단 결과의 확률이 높다고 항상 정확한 것은 아닙니다.

Jev가 특정 선택지에 높은 확률을 부여하더라도 실제로 해당 판단이 맞는지는 별도로 검증해야 합니다.

따라서 실제 서비스에 적용할 때는 충분한 테스트 데이터를 확보하고, 업무별 정확도와 오류 유형을 확인하는 과정이 필요합니다.

셋째, 선택지와 판단 기준을 명확하게 정의해야 합니다.

Jev의 판단 결과는 개발자가 정의한 질문과 선택지에 영향을 받습니다.

선택지 간의 의미가 중복되거나 기준이 모호하면 원하는 결과를 얻기 어려울 수 있습니다.

따라서 실제 사용자의 다양한 표현과 예외 상황을 고려하여 판단 기준을 설계해야 합니다.

넷째, 기존 시스템의 검증 절차를 유지해야 합니다.

Jev는 사용자의 의도를 판단하거나 적절한 처리 경로를 선택하는 데 활용할 수 있습니다.

하지만 결제, 환불, 개인정보 처리, 시스템 명령 실행 등 중요한 작업은 기존 시스템의 정책과 권한 검사를 거쳐야 합니다.

AI의 판단 결과와 실제 업무 실행을 분리하는 것이 중요합니다.

7. Jev를 활용한 AI 서비스의 구조

Jev의 가장 흥미로운 부분은 기존 생성형 AI를 완전히 대체하는 것이 아니라, 서로 다른 역할을 나누어 활용할 수 있다는 점입니다.

예를 들어 AI 기반 고객센터를 개발한다면 다음과 같은 구조를 생각해 볼 수 있습니다.

① 사용자 요청

고객이 자연어로 문의 내용을 작성합니다.

↓

② Jev: 요청의 의미를 이해하고 판단

문의 유형을 분류하고 적절한 업무 처리 경로를 선택합니다.

↓

③ 기존 프로그램: 실제 업무 처리

데이터 조회, 권한 확인, 정책 검사 등의 작업을 수행합니다.

↓

④ 생성형 AI: 최종 답변 생성

실제 업무 처리 결과를 바탕으로 고객이 이해하기 쉬운 자연어 답변을 작성합니다.

이러한 구조에서는 각 구성 요소가 자신에게 적합한 역할을 담당합니다.

Jev는 판단에 집중하고, 기존 프로그램은 정확한 데이터 처리와 실행을 담당하며, 생성형 AI는 사용자에게 제공할 최종 결과를 생성합니다.

물론 모든 서비스에서 이러한 구조가 반드시 필요한 것은 아닙니다.

업무의 복잡도와 사용량에 따라 기존 생성형 AI 하나로 처리하는 것이 더 간단할 수도 있습니다.

반면 대량의 요청을 반복적으로 분류하거나, AI 에이전트가 여러 도구 중 적절한 것을 선택해야 하는 환경에서는 판단 작업을 별도로 분리하는 방안을 검토할 수 있습니다.

8. 마치며: AI가 모든 일을 직접 처리할 필요는 없다

지금까지 생성형 AI를 활용하는 방식은 주로 사용자의 질문에 답변하거나 콘텐츠를 생성하는 데 집중되어 있었습니다.

하지만 실제 서비스를 개발하다 보면 긴 답변을 생성하는 것보다 사용자의 의도를 정확하게 파악하고, 적절한 업무 처리 경로를 결정하는 것이 더 중요한 경우도 많습니다.

Jev는 이러한 판단 작업에 초점을 맞춘 AI 모델입니다.

고객 문의 분류, 문서 처리, AI 에이전트의 도구 선택, 교육 서비스의 상호작용 등 다양한 분야에서 활용을 검토할 수 있습니다.

개발자 입장에서 Jev를 도입한다면 처음부터 기존 AI 시스템 전체를 대체하려고 하기보다는, 현재 운영 중인 서비스에서 반복적으로 발생하는 판단 작업을 찾아 적용해 보는 것이 좋겠습니다.

그리고 기존 생성형 AI나 일반적인 프로그램으로 처리했을 때와 비교하여 정확도, 응답 속도, 운영 비용을 검증하는 과정이 필요합니다.

결국 중요한 것은 모든 작업에 하나의 강력한 AI를 사용하는 것이 아니라, 각 작업에 적합한 기술을 선택하고 서로 유기적으로 연결하는 것입니다.

Jev는 이러한 관점에서 AI 기반 서비스의 설계 방식을 고민해 볼 수 있는 흥미로운 기술이라고 생각합니다.

참고 자료

Jev의 세부적인 기술 구조와 API 활용 방법을 확인하고 싶다면 다음 자료를 참고해 보시기 바랍니다.

Jev 기술 분석 및 활용 가이드

https://jev-guide-gamma.vercel.app/guide 

TypeSafe AI 공식 홈페이지

https://typesafe.ai/ 

TypeSafe AI 공식 개발 문서

https://docs.typesafe.ai/ 

반응형