코딩 에이전트 · 영상 게시 2026-09-24 · 4분 16초

Jev API를 Codex Astra·Claude Code와 연결해 문의 분류 앱 만들기

Codex Astra와 Claude Code로 고객 문의 분류 앱을 만들고 Jev API를 서버에 연결해, 확률 값과 사람 검토 규칙을 나눠 설계하는 과정을 정리했습니다.

이 영상에서 단테는 Codex(Astra 모델)와 Claude Code로 고객 문의 분류 앱을 만들고, TypeSafe의 Jev API를 실제로 연결해 결과를 확인했습니다. 코딩 에이전트가 앱을 작성하는 일과, 앱이 실행 중에 Jev에게 판단을 맡기는 일이 어떻게 나뉘는지 궁금한 개발자에게 맞는 실습입니다.

세 도구의 역할 구분

먼저 짚는 것은 "Jev를 쓴 앱"이라고 해서 Jev가 앱 코드를 작성한 것은 아니라는 점입니다. 역할은 다음과 같이 나뉩니다.

  • Astra(Codex): 문의 입력 화면과 서버 코드를 작성합니다.
  • Claude Code: 같은 폴더에서 사람 검토 규칙을 추가하고 검사합니다.
  • Jev: 앱이 실행될 때 문의 내용과 선택지를 받아, 정해 둔 선택지 중 무엇이 맞는지와 점수, 참일 확률 같은 값을 돌려줍니다.

이번 문의 분류함의 선택지는 결제, 기술 지원, 도입 문의, 판단 보류 네 가지입니다. 화면의 버튼과 배치는 앱 코드가 담당하고, 이 중 무엇을 고를지는 Jev 응답으로 정합니다.

준비: 스킬 설치와 API 키 연결

새 폴더에 TypeSafe 공식 스킬을 먼저 설치합니다. 설치 명령을 실행하면 Codex와 Claude Code 양쪽에 프로젝트 스킬이 복사되고, 그 파일에는 어떤 질문 형식을 쓰는지, 여러 질문을 어떻게 묶는지가 설명돼 있습니다. 연결 방법은 TypeSafe 공식 연결 안내와 시작하기 문서에 정리돼 있습니다.

스킬 설치와 API 연결은 별개입니다. TypeSafe에서 발급받은 키는 환경변수로 서버에만 전달합니다. 실습 자료의 시작 스크립트는 키를 화면에 표시하지 않고 입력받으며, 브라우저 코드나 에이전트 대화창에 키를 붙여 넣을 필요가 없습니다. 브라우저는 로컬 서버에 문의를 보내고, 서버가 키를 붙여 Jev를 호출하는 구조입니다. 준비물은 Node.js 20 이상, Codex CLI와 Claude Code 로그인, 본인의 TypeSafe API 키입니다.

Astra에게 앱 작성을 맡기기

단테는 Astra에게 결과 화면만 그려 달라고 하지 않고, 문의 입력창과 서버를 만들고 실제 Jev 응답으로 분류 결과를 표시해 달라고 요청했습니다. 담당 팀을 고르는 선택형 질문과, 긴급한 문의인지 묻는 참·거짓 질문을 한 번의 요청에 묶었습니다. 또 응답을 받기 전에 성공한 것처럼 숫자를 표시하지 말라는 조건도 넣었습니다.

생성된 서버 코드에서 state에는 문의 본문이, questions에는 담당 팀과 긴급성 질문이 들어갑니다. 담당 팀 선택지는 앞서 정한 네 가지입니다.

Claude Code로 사람 검토 규칙 추가

같은 폴더에서 Claude Code를 실행해 애매한 문의를 사람이 검토할 수 있게 바꿨습니다. 규칙은 다음과 같습니다.

  • 판단 보류가 선택되거나, 확신도가 기준보다 낮으면 검토함으로 보냅니다.
  • 긴급한 문의도 별도로 사람이 확인합니다.

여기서 두 값의 의미를 구분해야 합니다. 담당 팀의 confidence는 선택지 분포가 얼마나 한쪽으로 모였는지를 나타내고, 긴급성 질문의 값은 그 문장이 참일 확률입니다. 앱이 이 값들을 보고 검토함으로 보낼지 결정합니다. 영상에서 쓴 기준값은 실습용이므로, 실제 업무에 쓰려면 자기 문의 데이터로 따로 평가해야 합니다.

실제 문의로 확인하기

완성된 앱에 중복 결제 문의를 넣고 판단을 요청하면 서버가 실제 API를 호출하고, 담당 팀과 확률, 응답한 모델과 사용량이 표시됩니다. 단테는 준비된 예시 버튼만 누르면 결과가 미리 정해진 것인지 알기 어렵다며, "로그인 뒤 화면이 멈춘다"는 문장을 직접 입력해 새 요청이 전송되는지 요청 번호와 원본 응답으로 확인했습니다.

"지난번에 말한 건이 그대로"라는 문의도 넣었습니다. 이 문장에는 문제가 무엇인지 나와 있지 않기 때문에, 판단 보류와 사람 검토 경로가 필요한 사례입니다. 모델이 답을 반환했다는 사실만으로 문의의 실제 원인을 확인한 것은 아니라는 점도 강조합니다.

마지막으로 검토 기준값을 바꾸는 장면을 보여 줍니다. 이미 받은 응답은 그대로 두고 코드가 적용하는 기준만 바꾸므로 Jev를 다시 호출할 필요가 없습니다. 새 문의를 이해하는 일은 모델에게, 정해진 기준을 적용하는 일은 코드에게 맡긴 구조입니다. 화면의 응답 시간은 이번 요청을 기다린 시간일 뿐이라, 이 숫자로 어떤 모델이 몇 배 빠르다고 말할 수는 없다고 덧붙입니다.

정리

  • Jev는 앱 코드를 짜는 도구가 아니라, 실행 중인 앱이 판단을 맡기는 API입니다. 코드는 Astra와 Claude Code가 작성했습니다.
  • API 키는 서버 환경변수로만 전달하고, 브라우저나 에이전트 대화창에는 넣지 않습니다.
  • 선택형 결과의 confidence와 참·거짓 확률은 다른 값이며, 사람 검토 조건은 둘을 구분해 설계합니다.
  • 기준값 변경은 이미 받은 응답에 코드만 다시 적용하면 되므로 API를 다시 호출하지 않아도 됩니다.
  • 핵심은 앱이 고를 수 있는 답과 사람이 확인할 조건을 먼저 정하는 것입니다.

영상: 유튜브에서 보기 · 정정 요청: dante@quokkalabs.net