사고조사 에이전트의 접수 → 분류 → 추출 → 요약을 되돌려 가며 반복해서 돌려 보는 도구입니다. 원본 앱과 같은 DB·파일을 직접 읽고 고치므로, 여기서 한 일은 원본 앱을 새로고침하면 그대로 보입니다.
하려는 일을 왼쪽에서 고르세요. 각 항목 오른쪽 위 버튼이 그 화면으로 데려다줍니다. 화면 곳곳의 동그란 ? 표시와 작은 ? 가 붙은 표 머리, 상태 배지에 마우스를 올리면 그 자리에서 짧은 설명이 뜹니다.
한 번 올린 서류는 테스트셋으로 남겨 두고, 그 뒤로는 복원 → 실행 → 비교 만 되풀이합니다. 서류를 다시 올리거나 DB 를 손으로 고칠 일이 없습니다.
| 접수 | 서류(스캔 이미지)를 올려 사건 1건을 만듭니다. |
| 분류 | AI 가 낱장마다 진단서·영수증 같은 문서종을 붙입니다. 못 붙인 낱장은 「미분류」 로 남습니다. |
| 추출 | AI 가 문서에서 병명·날짜·금액 같은 값을 뽑습니다. |
| 요약 | 뽑은 값을 바탕으로 조사 보고서용 요약을 씁니다. 원본 앱에서는 「분석」 이라고 부릅니다. |
| 접수번호 | 단계 | 처리 상태 | 낱장 | 체크포인트 |
|---|---|---|---|---|
| TEST-900001 | UNCLASSIFIED_DETECTED | 12 | 2 | |
| TEST-900002 | CLASSIFYING 1분 12초 | 40 | 1 |
ANALYSIS_COMPLETED)을 엽니다.서류 폴더가 어떻게 생겼는지에 따라 화면 위에서 방식을 고릅니다.
사건 폴더 / 하위 폴더 / 서류 모양이면 이 방식을 씁니다. 하위 폴더는 이미지시스템의 문서분류 폴더로 넘어갑니다.
READY_FOR_CONFIRM 이 뜨면 끝입니다.이미 접수해 테스트셋이 있는 사건은 표의 테스트셋 칸에 ★ 와 접수번호가 보입니다. 접수번호를 누르면 그 사건으로 가고, 테스트셋 있는 N건 숨기기 로 아직 안 올린 사건만 볼 수 있습니다.
실제 업무에서는 이미지시스템(서류 스캔 이미지를 보관하는 시스템)이 사고조사 에이전트로 서류를 보내고, 순서 변경·삭제 같은 변경도 알려 줍니다. 이 화면은 그 이미지시스템 자리에 앉아 같은 연동을 직접 보내고 받아 봅니다. 따로 띄우던 이미지시스템 데모와 같은 기능이고, 데모는 그대로 쓸 수 있습니다.
| 이미지 전송 | 서류 낱장 파일을 고르고 낱장마다 문서분류를 정하면 ZIP 하나로 묶어 보내 사건을 접수합니다(실제 이미지시스템이 하는 방식). 접수번호가 처음이면 최초 전송, 이미 있는 사건이면 새 파일만 추가 전송합니다. 단계마다 보낸 요청과 받은 응답을 볼 수 있고, 끝나면 분류·추출 확정 (API-05) 으로 분류를 시작시킬 수 있습니다. |
| 낱장 편집 | 사건의 지금 낱장을 불러와 순서를 옮기거나(↑ ↓ ⤒ ⤓), 지우거나, 문서분류를 바꾼 뒤 변경 전송 (API-03) 을 누릅니다. 파일은 보내지 않고 남은 낱장 전체 목록만 보내며, 무엇이 바뀌었는지는 응답에 나옵니다. |
| 기타 연동 API | 분류·추출 시작 확정(API-05), 위탁사 전체 동기화(API-06), 문서분류 체계 동기화(API-07)를 실제로 호출합니다. 본문은 지금 DB 의 값으로 채워 두므로 고치지 않고 보내면 기초데이터가 바뀌지 않습니다. |
| 수신함 | 반대 방향입니다. 원본 앱에서 분류를 확정하거나 낱장을 옮기면 사고조사 에이전트가 이미지시스템에 알려 주는데(API-09·10), 그 요청을 여기서 받아 보여 줍니다. 받으려면 백엔드 환경변수 IMAGE_SYSTEM_BASE_URL 을 이 앱 주소로 주고 다시 띄워야 합니다(수신함 화면에 값이 나와 있습니다). |
| 계약 | 이 화면의 호출이 원본 앱의 연동 계약과 맞는지 보여 줍니다. 아래 「계약이 바뀌면」 을 보세요. |
호출의 주소와 요청 항목은 이 앱에 적어 두지 않고, 원본 앱의 연동 계약에서 읽어 옵니다. 보내는 호출(API-01~07)은 실행 중인 백엔드가 공개하는 계약을, 받는 호출(API-09·10)은 원본 리포의 계약 파일을 봅니다.
| 계약에서 바뀐 것 | 이 앱은 |
|---|---|
| 호출의 주소·메서드 | 저절로 따라갑니다. |
| 요청 항목이 없어짐 | 저절로 따라갑니다. 그 항목을 빼고 보내고, 뺐다는 것을 「계약 점검」 으로 알려 줍니다. |
| 선택 항목이 새로 생김 | 보내지 않아도 동작합니다. 계약 탭에 「보내지 않는 선택 항목」 으로 나옵니다. |
| 필수 항목·헤더가 새로 생김, 형식·허용값이 바뀜 | 코드를 고쳐야 합니다. 계약 탭과 탭 이름 옆 ⚠ 에 빨갛게 표시되고, 호출이 실패하면 오류에 어느 항목인지 함께 나옵니다. |
| 처리 순서나 값의 뜻이 바뀜 | 계약 파일로는 알 수 없습니다. 실제로 보내 본 결과로 확인해야 합니다. |
READY_FOR_CONFIRM 으로 나옵니다.사건 화면 맨 위의 네 칸(접수·분류·추출·요약)이 단계 막대입니다. 칸마다 지금 상태와 걸린 시간이 보이고, 할 수 있는 일이 버튼으로 나옵니다.
| ▶ 시작 | 지금 실행할 차례인 단계를 시작합니다. 원본 앱에서 시작 버튼을 누르는 것과 같습니다. |
| ↺ 다시 실행 | 그 단계 직전으로 되돌린 뒤 바로 다시 시작합니다. 요약만 다시 돌리려면 요약 칸에서, 분류부터 다시 돌리려면 분류 칸에서 누릅니다. |
| 직전으로 | 되돌리기만 하고 시작하지 않습니다. 원본 앱에서 직접 조건을 넣어 시작하고 싶을 때 씁니다. |
단계가 도는 동안에는 그 칸에 흐르는 경과 시간과 진행 막대, 지금 국면(준비 → AI 처리 → 결과 반영)이 보입니다. 분류는 서류를 몇 장 올렸는지, 같은 사건을 전에 돌린 적이 있으면 지난번 소요 시간을 기준으로 얼마나 왔는지를 보여 줍니다. 사건 목록에서도 도는 중인 사건 옆에 경과 시간이 흐릅니다.
체크포인트는 사건 1건의 DB 행 전부와 서류 파일을 통째로 저장한 것입니다. 사건 화면의 「체크포인트」 목록에서 복원 을 누르면 그 시점으로 돌아갑니다. 게임의 「세이브 파일」 이라고 생각하면 됩니다.
| 이름 | 종류 | 저장 당시 상태 | 저장 시각 | |
|---|---|---|---|---|
| ★ 접수 직후 · 서류 12장 | 수동 | READY_FOR_CONFIRM | 10-01 09:12 | |
| ☆ UNCLASSIFIED_DETECTED | 자동 | UNCLASSIFIED_DETECTED | 10-01 09:15 | |
| ☆ 복원 전 백업 | 백업 | EXTRACTION_COMPLETED | 10-01 09:40 |
| 자동 | 사건이 접수 완료·분류 완료·추출 완료·요약 완료에 멈출 때마다 알아서 생깁니다. 사건마다 최근 8개만 남습니다. |
| 백업 | 복원·되돌리기·삭제 직전에 생깁니다. 잘못 눌렀을 때 이것을 복원하면 누르기 전으로 돌아갑니다. 최근 5개만 남습니다. |
| 수동 | 사건 화면 「작업」 의 지금 상태 저장 으로 직접 만든 것입니다. 지우기 전까지 남습니다. |
목록이 길면 자동·백업 포함 체크를 꺼서 직접 만든 것과 테스트셋만 봅니다. 이름 바꾸기·삭제 등은 더보기 에 있습니다.
테스트셋은 ★ 를 붙인 체크포인트입니다. 자동으로 지워지지 않고 「테스트셋」 화면에 모입니다. 어느 시점이든 될 수 있습니다.
같은 서류를 서로 다른 조건으로 나란히 돌리고 싶으면 더보기 → 복제 로 다른 접수번호의 사건을 여러 벌 만듭니다.
시나리오는 「테스트셋 복원 → 분류 → 추출 → 요약」 을 사람이 단계마다 버튼을 누르지 않아도 알아서 이어 돌리는 기능입니다. 왼쪽에서 돌릴 테스트셋을 고르고, 오른쪽 「실행 조건」 을 채운 뒤 실행을 누르면 됩니다.
| 항목 | 뜻 | 잘 모르겠으면 |
|---|---|---|
| 1 어디까지 | 어느 단계까지 돌리고 멈출지입니다. 「분류까지」 면 분류만, 「요약까지」 면 끝까지 돌립니다. | 요약까지 |
| 2 미분류 낱장 | 분류가 끝났는데 AI 가 문서종을 못 정한 낱장이 있으면, 원래는 사람이 문서종을 지정해야 추출로 넘어갑니다. 그런 사건을 만났을 때 멈출지, 사람 대신 자동으로 지정하고 계속할지 고릅니다. 「계속」 을 고르면 AI 가 자신 없어 한 낱장(저신뢰)도 AI 분류 그대로 확정합니다. | 지정한 문서종으로 확정하고 계속 |
| 3 지정 문서종 | 2번에서 「계속」 을 골랐을 때 미분류 낱장에 붙일 문서종입니다. ✓ 표시가 있는 것만 고르세요. 표시가 없는 것을 고르면 추출이 실패합니다. | ✓ 기타 |
| 4 동시 실행 | 한 번에 몇 건을 같이 돌릴지입니다. 자세한 것은 동시 실행이란. | 1건씩 |
| 5 요약 조건 | 요약 단계를 시작할 때 AI 에게 넘기는 조건입니다. 「어디까지」 가 요약까지일 때만 쓰입니다. 자세한 것은 요약 조건에 넣는 것. | 「계약 전 알릴의무」 체크 + 상품명 아무거나 |
| 접수번호 | 테스트셋 | 결과 | 처리 상태 | 분류 | 추출 | 요약 |
|---|---|---|---|---|---|---|
| TEST-900001 | 접수 직후 · 서류 12장 | 완료 | ANALYSIS_COMPLETED | 2분 14초 | 4분 02초 | 3분 31초 |
| TEST-900002 | 접수 직후 · 서류 40장 | 멈춤 분류 조치가 필요해 멈췄습니다 (미분류 또는 저신뢰 낱장). | UNCLASSIFIED_DETECTED | 5분 48초 | - | - |
| TEST-900003 | 추출 완료 | 실패 요약 단계 실패: AI_JOB_TIMEOUT | ANALYZING · 멈춤 | - | - | 실패 |
| 완료 | 「어디까지」 로 정한 단계까지 무사히 끝났습니다. |
| 멈춤 | 사람의 조치가 필요해 멈췄습니다. 대개 미분류 낱장 때문입니다. 원본 앱에서 문서종을 지정한 뒤 사건 화면에서 이어 돌리거나, 2번을 「계속」 으로 바꿔 다시 실행합니다. |
| 실패 | 단계가 실패했거나 제한 시간(단계당 15분) 안에 끝나지 않았습니다. 빨간 글씨와 「기록」 을 펼쳐 원인을 보고, 멈춘 사건 살리기 를 따라 합니다. |
요약 단계는 「이 사건을 어떤 관점으로 요약할지」 를 알려 줘야 시작됩니다. 원본 앱에서는 추출이 끝난 뒤 분석 요청 창에서 고르는 내용이고, 테스트벤치에서는 시나리오의 「요약 조건」 과 사건 화면 요약 칸의 확인 창에서 같은 것을 입력합니다.
| 가 분석 항목 | 어떤 보고서를 쓰기 위한 요약인지입니다(원본 앱의 「보고서 양식」). 하나 이상 필수이고 여러 개를 함께 고를 수 있습니다. 예: 가입 전 병력을 알렸는지 보는 조사면 「계약 전 알릴의무」. |
| 나 계약 정보 | 조사 대상 보험 계약의 상품명과 계약일입니다. 계약은 1건 이상 필수지만 상품명·계약일은 비워도 됩니다. 테스트라면 상품명에 아무 이름이나 적으면 됩니다. |
| 다 기타 요청·참고자료 메모 | AI 에게 따로 전할 말과 배경 설명입니다. 자유롭게 적고, 비워도 됩니다. |
위 예시처럼 입력하면 AI 에게는 아래와 같은 지시문이 넘어갑니다. 입력한 값이 그대로 들어간다고 보면 됩니다.
[보고서 양식] PRE_CONTRACT_DISCLOSURE [계약 1] 계약일자: 2023-05-10 · 상품명: 무배당 건강보험 [기타 요청] 2022년 이후 내원 이력만 정리해 주세요
시나리오에서 여러 사건을 골랐을 때 한 번에 몇 건을 같이 돌릴지입니다. 사건 3건을 돌린다고 하면 이렇게 다릅니다.
| 1건씩 (차례대로) | 2~4건씩 (동시에) | |
|---|---|---|
| 전체가 끝나는 시간 | 깁니다 | 짧습니다 |
| 사건 1건에 걸리는 시간 | 정확합니다 (다른 사건의 영향이 없음) | AI 플랫폼에 요청이 몰려 조금씩 길어질 수 있습니다 |
| 이럴 때 고릅니다 | 단계별 소요 시간을 재거나, 문제를 하나씩 살펴볼 때 | 결과만 빨리 받고 싶을 때, 여러 건이 몰릴 때 시스템이 버티는지 볼 때 |
숫자는 「같이 도는 사건 수의 상한」 입니다. 3건씩을 골라도 사건이 2건뿐이면 2건만 같이 돕니다.
A 와 B 를 고르면 분류 라벨·추출값·요약 문장이 어디서 달라졌는지 보여 줍니다. A·B 는 체크포인트일 수도, 사건의 현재 상태일 수도 있습니다.
| 낱장 | A · 프롬프트 고치기 전 | B · 고친 뒤 | |
|---|---|---|---|
| page-003 | 기타 | 진단서 | 달라짐 |
| page-007 | 영수증 | 영수증 | 같음 |
단계 막대의 칸이 실패 로 보이면 그 단계에서 멈춘 것입니다. 원본 앱에서는 「…중」 상태로 계속 돌아가는 것처럼 보입니다.
원본 앱이 실패·지연을 어떻게 보여 주는지 확인할 때 씁니다. 백엔드가 실제 오류 처리 경로를 타므로 꾸며 낸 화면이 아닙니다.
환경은 「어느 DB · 어느 백엔드 · 어느 서류 폴더에 붙을지」 의 묶음입니다. 여러 개를 등록해 두고 바꿔 붙습니다. 파일을 따로 만들 필요 없이 화면에서 추가합니다.
testbench.profiles)에 남습니다. 어느 환경에 붙어 있든 같은 목록이 보이고, 목록의 DB 표시가 그것입니다.profiles.local.json 에 손으로 적어 둔 환경도 함께 쓸 수 있습니다(파일). 기본 은 .env.local 의 환경입니다.접수·이미지시스템·시나리오 화면은 피보험자, 조사자 사번, 실행 조건 같은 칸을 예시 값으로 채워 둡니다. 이 값을 한 번 고치면 DB 에 저장되어, 다음에 화면을 열 때도(새로고침·다른 브라우저 포함) 고친 값으로 채워집니다.
testbench.preferences 에 저장됩니다(원본 앱의 테이블과 섞이지 않는 전용 스키마). 그래서 환경(DB)마다 따로 기억합니다.백엔드를 거치지 않고 Studio 에 요청을 그대로 보냅니다. 업스테이지가 아직 바꾸고 있는 흐름을 백엔드 코드로 옮기기 전에 이 판이 이 요청을 받는지, 응답이 어떤 모양인지 를 확인하는 자리입니다. 사건·DB 와는 무관합니다.
/v2 뒤부터 적습니다.{{이름}} 은 보낼 때 대상마다 다른 값으로 바뀝니다. 에이전트·지시서·Collection id 는 그 대상의 env 파일에서 오고, files·jobId 는 이 화면에서 올린 파일·방금 만든 작업에서 옵니다. 그래서 같은 요청을 두 Studio 에 그대로 보낼 수 있습니다. 값이 없는 변수가 있으면 보내기 전에 알려 줍니다.POST /responses)이 성공하면 받은 작업 id 가 그 대상의 jobId 에 들어갑니다. 이어서 작업 조회 나 이어 실행 요청을 그대로 보낼 수 있습니다.[] 로, JSON 을 문자열로 한 번 더 감싼 값은 풀어서 ⟨json⟩ 로 표시합니다..env.local 의 TESTBENCH_STUDIO_ENV_FILES 에 env 파일 경로를 적습니다. API 키는 서버에만 있고 화면으로 내려오지 않습니다.DELETE 는 지워집니다. 남이 쓰는 에이전트는 건드리지 마세요. 파일 묶음(multipart)으로 보내는 검수 결과 올리기는 아직 지원하지 않습니다.백엔드가 접수 한 건을 처리하며 Studio 에 보내는 호출을 같은 순서·같은 본문으로 단계별로 보냅니다. 백엔드와 DB 를 거치지 않으므로 사건이 생기지 않고, 이 Studio 에서 우리 흐름이 끝까지 도는지와 어느 단계에서 무엇이 달라지는지를 볼 수 있습니다.
input_text 로 보내는 방식은 판에 따라 거절됩니다. 「input_text 먼저」 를 고르면 거절될 때 지시서 버전으로 넘어가는 것까지 보입니다."overrides": {"extractionConfigId": "cfg_…"} 를 적으면 그 단계가 env 파일의 지시서 대신 그 지시서로 돕니다. 직접 호출 화면에서 지시서 버전을 만든 뒤 여기서 그 구간만 돌려 견줄 수 있습니다.$1 을 쓰면 아래 칸에 넣은 접수번호가 들어갑니다.| 사건 | 접수번호 하나로 묶인 조사 1건. 서류 낱장들과 그 분류·추출·요약 결과가 딸려 있습니다. |
| 낱장 | 서류의 한 페이지(이미지 1장). 분류는 낱장 단위로 합니다. |
| 문서종 | 진단서·영수증·입퇴원확인서 같은 서류의 종류. 분류 단계가 낱장마다 붙입니다. |
| 미분류 낱장 | AI 가 문서종을 정하지 못한 낱장. 사람이 문서종을 지정해야 추출로 넘어갑니다. |
| 체크포인트 | 사건 1건의 어느 시점을 통째로 저장한 것. 복원하면 그 시점으로 돌아갑니다. |
| 테스트셋 | 되풀이해 쓰려고 ★ 를 붙여 둔 체크포인트. |
| 되돌리기 (직전으로) | 한 단계의 결과만 지워 그 단계를 시작하기 전으로 돌리는 것. 체크포인트 없이도 됩니다. |
| 시나리오 | 테스트셋 여러 개를 복원해 정한 단계까지 자동으로 이어 돌리는 것. |
| 요약 조건 (분석 요청) | 요약을 시작할 때 넘기는 분석 항목·계약 정보·기타 요청. |
| 이미지시스템 | 서류 스캔 이미지를 보관하고 사고조사 에이전트로 보내 주는 시스템. 접수는 여기서 서류가 넘어오면서 시작됩니다. |
| 최초·추가 전송 · 논리 변경 | 최초·추가 전송은 새 서류 파일을 보내는 것(API-01·02), 논리 변경은 파일 없이 낱장의 순서·삭제·분류 변경만 알리는 것(API-03). |
| Studio · AI 작업 | 분류·추출·요약을 실제로 수행하는 AI 플랫폼과, 거기에 맡겨 놓고 결과를 기다리는 작업. |
| READY_FOR_CONFIRM | 접수 완료. 분류를 시작할 수 있습니다. |
| UNCLASSIFIED_DETECTED | 분류 완료. 미분류·저신뢰 낱장을 조치한 뒤 추출을 시작합니다. |
| EXTRACTION_COMPLETED | 추출 완료. 분석 조건을 넣어 요약을 시작할 수 있습니다. |
| ANALYSIS_COMPLETED | 요약 완료. |
| …ING | CLASSIFYING·EXTRACTING·ANALYZING — 백엔드가 그 단계를 돌리는 중입니다. |
| 단계 막대의 상태 | 완료 끝남 · 진행 중 도는 중 · 실행 대기 지금 시작할 차례 · 실패 그 단계에서 멈춤 · 아직 앞 단계가 먼저 |
| 다른 DB | 지금 붙은 DB 가 아닌 곳에서 만든 체크포인트. 복원하면 행 id 를 새로 매겨 넣습니다. |