객관식 없는 시험: AI 구술 평가관

객관식 없는 시험: AI 구술 평가관

24 9월 2026 🇷🇺 원본: русский 1 분 읽기

핵심 아이디어: 일반적인 시험은 정답 보기를 알아보는 능력을 확인하는 데는 적합하다. 구술 형식에서는 응시자가 요구사항을 스스로 설명해야 한다. 이 방식에서 AI는 답을 귀띔하기 위해서가 아니라, 일관된 의미 중심 평가를 위해 필요하다.

왜 구술 시험을 도입하게 되었는가

전통적인 시험은 대규모 평가에 편리하지만 분명한 약점이 있다. 근로자가 답안 보기를 볼 수 있다는 점이다. 문제 은행이 아무리 잘 갖춰져 있어도 점수의 일부는 문구를 알아보거나, 명백히 틀린 보기를 지워 나가거나, 단순히 시험 문제를 외워서 얻을 수 있다.

구술 시험은 방식이 다르다. 응시자는 답을 스스로 구성하고, 작업 순서를 설명하고, 위험 요인과 제한 사항, 필수 요구사항을 직접 말해야 한다. 이런 형식은 그 사람이 규칙을 이해했는지, 아니면 예전에 정답 문구를 본 적만 있는지를 훨씬 잘 보여준다.

하지만 일반적인 구술 시험에는 또 다른 문제가 있다. 시간, 그리고 평가관마다 생길 수밖에 없는 차이다. 어떤 평가관은 더 깊이 캐묻고, 어떤 평가관은 답을 더 빨리 받아들인다. 어떤 평가관은 정확한 문구를, 또 어떤 평가관은 의미를 중시한다. 그래서 2026년 봄, 우리는 AI를 두 번째 평가관으로 활용할 방법을 찾기 시작했다. 평가위원회를 대신하는 것이 아니라, 질문을 하고 답변을 듣고 정해진 기준을 누구에게나 똑같이 적용하는 단일 도구로서 말이다.

그림 1. AI 구술 시험의 발전 과정
그림 1. AI 구술 시험의 발전 과정

1단계: 하나의 AI 에이전트 안에서 모든 것을 해결하려 했다

첫 아이디어는 꽤 단순했다. 규정을 AI에 올리고 평가관 역할을 맡긴 뒤, 무작위 지식 영역 선택, 질문 작성, 답변 평가를 한꺼번에 시키는 것이었다. 그런데 실제로 해 보니 생성형 모델은 진정한 무작위성을 구현하는 데 최선의 도구가 아니라는 사실이 금세 드러났다. 추론은 잘하지만, 모델이 말하는 ‘무작위 질문’이 언제나 수학적으로 무작위인 선택을 뜻하지는 않는다.

그래서 기능을 나누기 시작했다. 규정 출처는 오직 지식만 담당한다. 무작위 선택은 질문 번호를 담당한다. 평가관은 시험 진행 순서와 답변 평가만 담당한다. 이것이 아키텍처 측면에서 얻은 첫 번째 중요한 결론이었다. 기능을 엄격하게 나눌수록 시스템은 더 안정적으로 작동한다.

뒤에 실은 부록의 프롬프트도 일부러 이 글과 같은 흐름으로 배치했다. 먼저 이전 버전의 구성, 이어서 문제 은행, 그다음 현재의 HTML 버전, 평가, Word/Excel, 데이터 보호 순이다.

스크린샷 1. 최초의 GPT/Gemini 프로토타입
스크린샷 1. 최초의 GPT/Gemini 프로토타입

2단계: NotebookLM을 지식 기반으로, Gemini Bot을 평가관으로

실제로 작동하는 구조는 지식 기반과 시험 자체를 분리했을 때 비로소 만들어졌다. NotebookLM에는 규정 출처를 노트북별로 나누어 올렸다. 카자흐스탄 공화국 「민방위법」, 노동법전, 그리고 양중기, 노천 채굴, 압력 용기, 천공·발파 작업 등 분야별 산업 규정이다.

Gemini Bot은 평가관 역할을 맡았다. 지시 내용은 다음과 같았다. 연결된 규정 자료 범위 안에서만 작업할 것, 질문은 하나씩 할 것, 구술 답변은 마이크로 받을 것, 그리고 문자 그대로 일치하는지가 아니라 의미, 즉 정확성·완전성·논리를 평가할 것.

한 버전에서는 모범 답안과 해당 규정 조항 참조를 붙인, 번호가 매겨진 질문 300개로 문제 은행을 만들었다. 모델이 ‘재량껏’ 질문을 고르는 일을 막아야 했고, 그래서 자체 무작위 번호 생성기가 등장했다.

프롬프트 부록 참고: Prompt 1 — 세 가지 질문, 번호 생성기, 답변 평가를 포함한 NotebookLM + Gemini 평가관 이전 버전의 전체 시나리오. Prompt 2 — 규정 문서 기반 문제 은행 준비.

스크린샷 2.1. NotebookLM / 규정 자료
스크린샷 2.1. NotebookLM / 규정 자료
스크린샷 2.2. Gemini Bot & NotebookLM (규정 자료)
스크린샷 2.2. Gemini Bot & NotebookLM (규정 자료)
스크린샷 3.1. Gemini Bot & NotebookLM — 구술 평가관 (‘마이크’ 입력을 통한 시스템의 답변 수신)
스크린샷 3.1. Gemini Bot & NotebookLM — 구술 평가관 (‘마이크’ 입력을 통한 시스템의 답변 수신)
스크린샷 3.2. Gemini Bot & NotebookLM — 구술 평가관 (평가 결과와 다음 질문의 시스템 음성 안내)
스크린샷 3.2. Gemini Bot & NotebookLM — 구술 평가관 (평가 결과와 다음 질문의 시스템 음성 안내)

최초의 무작위 번호 생성기는 어떻게 작동했는가

우리는 별도의 프로그램 없이도 설명하고 재현할 수 있는 메커니즘을 의도적으로 만들었다. 데이터를 입력하고 나면 시, 분, 초, 밀리초를 기록했다. 값이 0이면 1로 바꿨다. 그런 다음 값들을 서로 곱했다.

R = H × M × S × MS

결과가 300보다 크면 300 이하가 될 때까지 300으로 계속 나누었다. 그다음 이 수를 올림해 문제 은행의 질문 번호로 삼았다. 두 번째 질문에는 첫 번째 질문의 답변을 받은 시각을, 세 번째 질문에는 두 번째 질문의 답변 시각을 사용했다. 번호가 이미 출제된 질문과 겹치면 1을 더했고, 300 다음에는 다시 1로 돌아갔다.

지금 보면 번거로운 방식이지만, 당시에는 중요한 과제를 해결해 주었다. 질문 선택이 더 이상 AI의 ‘마음’에 좌우되지 않게 된 것이다. 무작위성은 별도의 기능이 되었고, 평가관은 이미 정해진 구체적인 질문 번호를 받게 되었다.

부록 참고: 번호 선택 공식, 답변마다 이루어지는 재계산, 중복 배제 규칙은 Prompt 1에 그대로 담겨 있다.

그림 2. 최초의 무작위 질문 번호 생성기
그림 2. 최초의 무작위 질문 번호 생성기

파일럿: 54명의 근로자와 첫 실전 경험

2026년 4월, 우리는 이 방식으로 현장 근로자, 사무직 직원, 엔지니어·기술직 등 54명을 대상으로 파일럿을 진행했다. 시험은 세 문항으로 구성되었고 합격 기준은 70%였다. 필수 분야는 「민방위법」과 노동법전이었고, 여기에 더해 응시자는 자신의 업무와 관련된 산업 규정에 대한 평가도 받았다.

답변은 음성으로 했다. AI는 답변을 규정 자료와 대조해 점수(%)뿐 아니라 답변의 구조까지 보여 주었다. 무엇을 올바르게 설명했는지, 무엇이 빠졌는지, 어디에서 오류가 있었는지, 어떤 규정 출처를 다시 살펴봐야 하는지를 말이다.

바로 여기서 핵심 장점이 분명해졌다. 이 시스템은 정답 보기를 기억하는지가 아니라, 요구사항을 스스로 설명할 수 있는지를 확인한다.

스크린샷 4. 파일럿 결과
스크린샷 4. 파일럿 결과

초기 버전에서 불편했던 점

파일럿은 원리 자체는 입증했지만 약점도 드러냈다. 평가 기록은 복사해서 Word에 따로 저장해야 했다. 최종 점수는 다시 수작업으로 Excel에 옮겼다. 분야마다 노트북과 봇이 따로 있어서 담당자는 그 사이를 계속 오가야 했다.

또한 초기 버전은 응시자를 성명, 직위, 부서로 식별했다. 내부 파일럿에서는 이해할 만한 방식이었지만, 시스템을 발전시키면서 분명해졌다. 처리 과정의 일부를 클라우드 모델이 맡는다면, 그 흐름에서 개인정보는 빼는 편이 낫다.

그렇게 다음 단계가 시작되었다. 또 하나의 프롬프트가 아니라, 우리만의 소프트웨어 환경이다.

3단계: 휴대용 브라우저 기반 평가관

새 버전은 별도의 브라우저 창에서 실행되는 휴대용 HTML/JavaScript 애플리케이션이다. Python, Node.js, 데이터베이스, 관리자 권한이 필요 없다. 문제 은행, 규정 출처, 시험 이력, 설정은 모두 컴퓨터에 로컬로 저장된다.

로컬 영역과 클라우드 영역을 정확히 구분하는 것이 중요하다. 인터페이스 자체, 로컬 데이터베이스, 질문 선택, 최종 점수 계산, Word 평가 기록, Excel 내보내기는 사용자의 컴퓨터에서 실행된다. 하지만 음성 인식, 답변의 의미 평가, 클라우드 음성 합성, 규정 문서를 바탕으로 한 문항 초안 생성에는 클라우드 모델이 쓰인다. 즉 이것은 ‘완전한 오프라인 AI’가 아니라, 꼭 필요한 최소한의 클라우드 영역만 남긴 보안 로컬 환경이다.

이 아키텍처는 불과 며칠 만에 첫 파일럿에 없던 것들을 가져다주었다. 여러 개의 봇 대신 하나의 인터페이스, 승인된 질문으로 이루어진 통합 문제 은행, 자동 평가 기록, 그리고 차곡차곡 쌓이는 결과 이력이다.

현재 버전을 처음부터 직접 만들어 보고 싶다면, 기본 출발점은 Prompt 3이다. 이 프롬프트는 바로 바이브 코딩을 위해 설계되었다. AI가 개발자가 아닌 사람을 한 번에 한 가지 작업씩, 매번 결과를 확인하면서 단계별로 이끌어 준다.

스크린샷 5. 휴대용 평가관의 메인 화면
스크린샷 5. 휴대용 평가관의 메인 화면

개인정보 보호: 성명 대신 RSS 코드

새 버전에서 근로자는 성명과 사번을 입력하지 않는다. 시험 전에는 RSS 1256 같은 가명 RSS 코드를 사용한다. RSS ↔ 성명 대응표는 사내 보안 영역 안에 별도로 보관되며, 결과와의 결합은 로컬에서만 이루어진다.

클라우드로 가는 흐름에 성명이나 사번을 보낼 필요가 없다. 의미 평가를 위해 모델에 필요한 것은 질문, 모범 답안, 평가 기준, 그리고 근로자의 음성 답변뿐이다. 인터페이스에는 개인정보를 마이크에 대고 말해서도 안 된다는 안내가 따로 표시된다.

Word 평가 기록에는 RSS 코드가 저장되고, 성명과 지식 평가 과목 칸은 다운로드한 뒤 기입하도록 비워 둔다. 일별 Excel 내보내기 파일에도 RSS, 직위, 부서, 언어, 질문 수, 결과만 들어가며 성명과 사번은 포함되지 않는다.

부록 참고: Prompt 8 — 개인정보 감사, 그리고 로컬 영역과 클라우드 영역의 정직한 구분. Word/Excel 결과 자동 생성 로직은 Prompt 7을 참고하라.

그림 3. 시험 데이터의 흐름 영역
그림 3. 시험 데이터의 흐름 영역

문제 은행은 이제 이렇게 구성된다

이것이 초기 버전과의 또 다른 근본적인 차이다. 이제는 질문 300개를 미리 손으로 딱 맞춰 준비하지 않아도 된다. 프로그램에 규정 출처를 Word, PDF, RTF, ODT, TXT, Markdown 형식으로 올리면 된다. 그러면 AI가 문서 전체에 고르게 분포된 핵심 내용 구간을 골라 문항 초안, 모범 답안, 그리고 가중치가 부여된 평가 기준 2~8개를 만든다.

하지만 자동 생성된 질문이 곧바로 공식 시험에 들어가지는 않는다. 우선 초안 상태가 된다. 담당자는 문구, 모범 답안, 평가 기준, 출처 참조를 확인한 뒤에야 질문을 승인할 수 있다. 시험에는 승인된 질문만 사용된다.

미리 준비한 문제 은행을 CSV나 XLSX에서 가져올 수도 있다. 각 질문에는 주제, 언어, 출처, 난이도, 모범 답안, 평가 기준이 저장된다. 덕분에 여러 평가 분야를 서로 다른 봇이 아니라 하나의 애플리케이션에서 관리할 수 있다.

무작위 선택 방식도 바뀌었다. 예전의 시각 기반 공식 대신, 프로그램은 시스템의 암호학적 난수 생성기를 사용해 승인된 질문 중 필요한 개수를 고른다. 더 단순하고 더 신뢰할 수 있으며, AI가 무작위성을 흉내 낼 필요도 없다.

부록 참고: Prompt 4 — 방법론 검토를 필수로 거치는 규정 출처 기반 문항 초안 생성. Prompt 9 — 하나의 인터페이스에서 여러 시험 분야 통합.

스크린샷 6. 출처 관리와 문항 초안 생성
스크린샷 6. 출처 관리와 문항 초안 생성
스크린샷 7.1. 질문의 방법론 검토
스크린샷 7.1. 질문의 방법론 검토
스크린샷 7.2. 방법론 검토와 질문 편집 기능
스크린샷 7.2. 방법론 검토와 질문 편집 기능

시험 진행: 음성 질문 — 음성 답변

응시자는 러시아어나 카자흐어 중 하나를 선택한다. 질문은 화면에서 읽을 수도 있고 음성으로 들을 수도 있다. 언어마다 별도의 음성 안내 지침을 적용해, 불필요한 외국어 억양 없이 자연스럽고 표준적인 발음이 나오도록 했다.

마이크 권한은 시험 전체에 대해 한 번만 요청한다. 답변은 버튼을 눌러 직접 시작할 수도 있고, 30초, 1분, 2분 또는 3분의 준비 시간이 지나면 자동으로 시작되게 할 수도 있다. 녹음이 끝나면 시스템이 음성을 인식해 녹취 텍스트를 보여 주고, 평가 전에 내용을 확인할 수 있게 한다.

자기 말로 답했다고 해서 감점 요인이 되지는 않는다. 평가자는 글자 그대로의 일치가 아니라 의미를 본다. 각 평가 기준은 완전히 설명됨, 부분적으로 설명됨, 누락됨, 요구사항과 상충됨 중 하나의 상태로 판정된다. 그런 다음 프로그램 알고리즘이 미리 정한 가중치에 따라 점수(%)를 계산한다. 치명적이고 위험한 오류가 있으면 최고 점수에 별도의 상한을 적용할 수 있다.

이렇게 생성형 모델은 의미 파악을 담당하고, 최종 점수는 평가 기준의 구조에 따라 결정론적으로 계산된다. 이 구분이 중요하다. AI가 마음대로 ‘점수를 지어내서는’ 안 된다.

부록 참고: Prompt 5 — 평가 기준에 따른 답변의 의미 평가. Prompt 6 — 별도의 프로그램 방식 점수 계산. 이렇게 모델은 답변의 내용을 판단하고, 최종 점수는 결정론적으로 계산된다.

스크린샷 8.1. 클라우드 AI 설정
스크린샷 8.1. 클라우드 AI 설정
스크린샷 8.2. 클라우드 AI 설정: 평가관 음성 선택
스크린샷 8.2. 클라우드 AI 설정: 평가관 음성 선택

영상 “브라우저 버전의 구술 시험”은 글 마지막에 있다.

영상에서는 완성된 결과물을 보여 준다. 시험 시작, 음성 답변, 평가, 평가 기록 생성과 다운로드, 이력, 그리고 이후의 내보내기까지다. 이런 애플리케이션을 만드는 단계별 과정은 Prompt 3에서 시작된다.

평가 기록과 이력의 자동 생성

시험이 끝나면 담당자는 완성된 Word 평가 기록을 받는다. 여기에는 질문, 답변 녹취 텍스트, 평가 결과, 규정 출처, 잘한 점, 빠진 요소, 오류가 저장된다. 성명 칸은 비어 있고 RSS 코드는 저장된다.

동시에 모든 시험은 로컬 이력에 기록된다. 하루가 끝나면 담당자는 날짜를 선택하고 ‘해당 날짜 Excel 내보내기’를 누른다. 그러면 날짜, 시간, RSS, 직위, 부서, 언어, 질문 수, 합격 기준, 최종 점수(%), 결과, 상태가 담긴, 모든 시험에 대한 표 하나가 만들어진다.

이 Excel 내보내기 파일은 곧바로 누적 양식으로, 나아가 대화형 대시보드로 이어질 수 있다. 즉 이전 글들에서 활용했던 것과 같은 원리가 여기서도 작동한다. 먼저 개별 작업, 다음으로 구조화된 데이터의 축적, 그다음 경영 분석이다.

부록 참고: Prompt 7 — 성명과 사번이 없는 Word 평가 기록 및 일별 Excel 내보내기의 구조.

활용 가능한 분야

이런 평가관은 산업 안전 분야에만 묶여 있지 않다. 같은 논리로 산업안전보건 요구사항, 업종별 규정, 작업 지침, 공정 규정, 사내 표준 등 정답 번호를 고르는 것이 아니라 요구사항을 자기 말로 설명하는 것이 중요한 모든 문서에 대해 지식 평가를 할 수 있다.

평가위원회 심사 전의 사전 점검, 교육 과정의 한 요소, 특정 분야의 구술 평가, 또는 요구사항 이해도를 표본 점검하는 도구로 활용할 수 있다. 다만 법령이나 사내 절차상 위원회와 권한 있는 담당자가 필요한 경우, 최종 결정은 여전히 사람의 몫이다.

첫 파일럿과 비교해 가장 큰 변화는, 따로 움직이던 여러 AI 봇과 수작업으로 옮기던 결과에서 벗어나 하나의 반복 가능한 프로세스로 넘어왔다는 점이다. 출처 → 승인된 질문 → 음성 답변 → 의미 평가 → 평가 기록 → Excel → 분석.

내가 생각하는 가장 중요한 점

이 프로젝트에서 가장 가치 있는 부분은 음성 기능도, 보기 좋은 인터페이스도 아니다. 지식 평가의 논리 자체가 바뀌었다는 점이다.

객관식 시험은 이렇게 묻는다. “정답을 알아볼 수 있는가?” 구술 시험은 이렇게 묻는다. “무엇을 왜 해야 하는지 스스로 설명할 수 있는가?”

AI는 이런 형식을 대규모로 운영할 수 있게 해 준다. AI가 위원회의 책임을 없애거나 규정 요구사항을 대신하지는 않는다. 다만 모두에게 같은 방식으로 질문하고, 같은 방식으로 답변의 의미를 분석하고, 메워야 할 구체적인 빈틈을 즉시 보여 줄 수 있게 해 준다.

부록: 공개 프롬프트 모음

초기 버전의 이전 논리 + 휴대용 브라우저 기반 평가관을 위한 최신 프롬프트

부록에서는 옛 방식과 새 방식을 일부러 나누어 두었다. 앞쪽 프롬프트들은 발전 과정을 보여 준다. 뒤쪽 프롬프트들은 출처, 문제 은행 생성, 방법론 검토, 음성 답변, 평가, Word, Excel이 각각 분리된, 더 실용적인 현재의 아키텍처를 다룬다.

Prompt 1. NotebookLM + Gemini 기반 이전 버전 평가관 (300문항 은행)

본문과의 연결: “2단계: NotebookLM을 지식 기반으로, Gemini Bot을 평가관으로” 및 “최초의 무작위 번호 생성기는 어떻게 작동했는가” 절.

역할
당신은 산업 안전, 민방위, 산업안전보건 요구사항에 대한 지식 평가를 맡은 엄격한 평가관이다.
연결된 규정 자료와 승인된 문제 은행만을 근거로 작업하라. 인터넷과 외부 지식은 사용하지 마라. 요구사항을 임의로 지어내지 마라.

언어
시험은 선택한 언어(RU 또는 KZ)로 진행한다. 언어를 섞지 마라.

구조
시험은 3개 질문으로 구성된다. 한 번에 하나의 질문만 하라. 다음 질문은 이전 질문의 답변을 받고 평가를 마친 뒤에만 한다.
합격 기준: 70%.

질문 1 선택
데이터 입력이 끝나면 현지 시각을 기록하라:
H — 시; M — 분; S — 초; MS — 밀리초.
값 중 하나라도 0이면 1로 바꿔라.
R1 = H × M × S × MS.
R1 > 300인 동안: R1 = R1 / 300.
INDEX1 = ceil(R1). INDEX1 = 0이면 1을 사용하라.
승인된 300문항 은행에서 INDEX1번 질문을 출제하라.

질문 2
질문 1의 답변을 받은 뒤 H, M, S, MS를 다시 기록하고 같은 계산을 반복하라.
새 번호가 이미 사용된 번호라면 1을 더하라. 번호가 >300이 되면 1을 사용하라.

질문 3
질문 2의 답변을 받은 뒤 같은 절차를 반복하라. 이미 출제한 질문이 다시 나오지 않게 하라.

답변 평가
문자 그대로의 일치가 아니라 의미를 평가하라.
1. 정확성 — 최대 60%.
2. 완전성 — 최대 25%.
3. 논리성 — 최대 15%.
위험한 진술, 금지된 행위 또는 규정 요구사항과의 치명적인 모순이 있으면 해당 질문의 점수는 30%를 넘을 수 없다.
각 질문마다 다음을 제시하라:
- 번호와 질문 문구;
- 규정 출처;
- 올바르게 설명한 내용;
- 언급하지 않은 내용;
- 잘못 말한 내용;
- 질문별 점수(%).

최종 결과
RESULT = (Q1 + Q2 + Q3) / 3.
최종 점수는 정수로 반올림하라.
≥70% — 합격.
<70% — 불합격.
세 번째 답변이 끝나면 최종 평가 기록을 작성하라.

Prompt 2. 규정 문서 기반 시험 문항 은행 준비

본문과의 연결: 2단계에서 사용한 300문항 규모의 이전 버전 문제 은행. 문제 은행을 규정 문서를 바탕으로 미리 준비할 때 필요한 프롬프트다.

규정 문서를 업로드한다.
구술 시험용 문제 은행을 준비해야 한다.

규칙:
1. 업로드한 문서만을 근거로 작업하라.
2. 외부 지식을 사용하지 마라.
3. 암기 여부를 보려고 조·항 번호를 묻지 마라. 요구사항을 실무적으로 이해하고 있는지를 확인하라.
4. 앞부분의 장에만 몰리지 않도록 문서 전체에 걸쳐 질문을 고르게 배분하라.
5. 중복되거나 거의 같은 질문은 제외하라.
6. 각 질문마다 모범 답안과 출처 참조를 준비하라.
7. 모범 답안에서 필수 요소, 즉 빠지면 답변을 완전하다고 볼 수 없는 요소를 표시하라.
8. 치명적 오류, 즉 위험한 행동으로 이어질 수 있는 진술은 따로 표시하라.

표 형식:
번호 | 주제 | 질문 | 모범 답안 | 필수 요소 | 치명적 오류 | 문서 | 조/항 | 페이지 | 언어

질문은 최대 300개까지 준비하라. 규정 문서에 내용상 서로 다른 질문 300개를 만들 만한 분량이 없다면 억지로 반복 질문을 만들지 말고, 실제 근거가 있는 개수에서 멈춰라.

Prompt 3. 휴대용 HTML 평가관 바이브 코딩용 마스터 프롬프트

본문과의 연결: “3단계: 휴대용 브라우저 기반 평가관” 절. 현재 버전을 직접 재현해 보고 싶은 독자를 위한 핵심 프롬프트다.

나는 개발자가 아니다. 휴대용 AI 구술 평가관을 만드는 과정을 단계별로 안내해 달라.
한 번에 20가지 작업을 쏟아내지 마라. 각 단계마다:
1. 무엇을 왜 하는지 설명하라.
2. 구체적인 작업 하나, 또는 완성된 코드 블록/파일 하나를 제시하라.
3. 내 스크린샷이나 결과를 기다려라.
4. 스크린샷을 확인한 뒤에만 다음 단계로 넘어가라.

목표 아키텍처
- 휴대용 HTML/JavaScript 애플리케이션;
- Python, Node.js, 관리자 권한 없이 Windows에서 실행;
- 문제 은행, 출처, 이력은 로컬에 저장;
- 시험 데이터 흐름에 성명과 사번을 포함하지 않음;
- RSS 1256 형식의 가명 RSS 코드 필수;
- 러시아어와 카자흐어 지원;
- XLSX/CSV에서 문제 은행 가져오기;
- DOC/DOCX/PDF/RTF/ODT/TXT/MD 형식의 규정 출처 업로드;
- 출처 안에서 무작위로 분포된 구간을 바탕으로 문항 초안 생성;
- 생성된 모든 질문은 시험 전에 담당자가 검토하고 승인해야 함;
- 질문에는 주제, 문구, 모범 답안, 가중치가 있는 평가 기준 2~8개, 출처, 해당 조항 참조를 저장;
- 시험에는 승인된 질문만 사용;
- 질문의 무작위 선택은 모델의 ‘무작위성’이 아니라 암호학적 생성기를 이용해 프로그램으로 처리;
- 질문 수와 합격 기준은 설정 가능;
- 마이크를 통한 음성 답변;
- 답변 시작 방식: 수동, 또는 30/60/120/180초 준비 후 자동 시작;
- 마이크 권한은 시험 전체에 대해 한 번만 요청;
- 클라우드 모델을 이용한 음성 인식;
- 평가 기준에 따른 답변의 의미 평가;
- 점수(%)는 평가 기준 가중치에 따라 결정론적으로 계산;
- 치명적 오류가 있으면 설정 가능한 점수 상한 적용;
- RU/KZ 질문의 자연스러운 음성 안내, 시스템 음성은 예비용;
- Word 평가 기록 자동 생성;
- 로컬 이력;
- 선택한 날짜의 전체 시험 결과를 Excel로 내보내기;
- API 키를 제외한 로컬 데이터베이스 백업.

보안
로컬 영역과 클라우드 영역을 명확히 분리하라. 어떤 데이터가 클라우드로 전송되는지 설명하라. 성명과 사번은 클라우드로 보내지 마라. 음성 인터페이스에는 개인정보를 말하지 말라는 경고를 명시적으로 표시하라.

아키텍처와 파일 구조부터 시작하라. 코드는 내가 확인한 뒤에만 작성하라.

Prompt 4. 신규 버전용 규정 출처 기반 문항 초안 생성

본문과의 연결: “문제 은행은 이제 이렇게 구성된다” 절 — 업로드한 규정 출처를 바탕으로 한 문항 초안 생성.

당신은 시험 문항의 초안만 작성한다. 작성된 어떤 질문도 자동으로 승인된 것으로 간주되지 않는다.

입력:
- 규정 문서;
- 언어 RU 또는 KZ;
- 필요한 문항 초안 수;
- 프로그램이 생성한 난수/seed.

과제:
1. seed를 이용해 문서 전체에 분포되고 가능하면 서로 이어지지 않는 핵심 내용 구간을 선택하라.
2. 문서만을 근거로 작업하라.
3. 각 구간에서 실무적으로 의미 있는 질문을 하나씩 만들어라.
4. 조항 번호를 묻는 것 자체를 목적으로 삼지 마라.
5. 간결한 모범 답안을 준비하라.
6. 평가 기준을 2개 이상 8개 이하로 준비하라. 각 기준은 서로 다른 의미 요소를 하나씩 확인해야 한다.
7. 가중치의 합계가 정확히 100이 되도록 각 기준에 가중치를 배분하라.
8. 주제, 난이도, 페이지/조/항 또는 그 밖의 출처 참조를 명시하라.
9. 인접한 구간에서 나온 질문과 중복되지 않게 하라.
10. 어떤 구간에 의미 있는 질문을 만들 만한 요구사항이 충분하지 않으면 건너뛰고 다른 구간을 선택하라.

구조화된 결과를 반환하라:
주제 | 질문 | 모범 답안 | 가중치가 있는 평가 기준 | 출처 | 참조 | 난이도 | 언어

각 결과의 상태: 초안, 방법론 검토 필요.

Prompt 5. 기준에 따른 구술 답변의 의미 평가

본문과의 연결: “시험 진행: 음성 질문 — 음성 답변” 절 — 모델이 각 평가 기준의 의미가 얼마나 설명되었는지 판단한다.

당신은 산업안전보건 및 산업 안전 분야의 엄격하지만 객관적인 평가관이다.

문자 그대로의 일치가 아니라 의미를 평가하라.
동의어나 구어체 표현이라도 규정 요구사항을 분명하게 전달한다면 인정하라.
전달받은 질문, 모범 답안, 평가 기준, 규정 발췌문만을 근거로 작업하라.
기억이나 인터넷에서 가져온 요구사항을 덧붙이지 마라.

각각의 평가 기준마다 정확히 하나의 상태를 반환하라:
- FULL — 완전히 설명됨;
- PARTIAL — 상당 부분 설명되었으나 빈틈이 있음;
- MISSING — 해당 요소가 없음;
- INCORRECT — 답변이 요구사항과 상충됨.

각 평가 기준마다 근로자의 답변에서 뽑은 짧은 근거와 설명을 제시하라.

CRITICAL_ERROR = true는 허용할 수 없는 위험을 초래하고 규정 요구사항에 어긋나는 위험한 진술이나 행동이 답변에 포함된 경우에만 사용한다.
답변이 불완전하다는 이유만으로 critical_error를 사용하지 마라.

다음 항목을 따로 작성하라:
- WELL_SAID — 잘 설명된 내용;
- PARTLY_SAID — 부분적으로 설명된 내용;
- MISSING — 말하지 않은 내용;
- INCORRECT — 잘못 말한 내용;
- SUMMARY — 시험 언어로 작성한 짧은 결론.

최종 점수(%)를 ‘눈대중으로’ 계산하지 마라. 점수는 당신이 반환한 상태를 받은 뒤 프로그램 알고리즘이 평가 기준 가중치에 따라 계산해야 한다.

Prompt 6. 결정론적 점수 산출을 위한 프로그램 로직

본문과의 연결: 같은 “시험 진행: 음성 질문 — 음성 답변” 절 — 점수(%)는 모델이 ‘눈대중으로’ 매기는 것이 아니라 프로그램으로 계산된다.

점수 계산은 모델의 자유로운 판단이 아니라 프로그램으로 구현하라.

각 평가 기준에는 퍼센트 단위의 가중치 weight가 있다.
계수:
FULL = 1.0
PARTIAL = 0.5
MISSING = 0
INCORRECT = 0

SCORE = 모든 평가 기준에 대한 (weight × coefficient)의 합계.
결과는 0–100 범위로 제한하고 0.1 단위로 반올림하라.

AI 평가자가 critical_error=true를 반환한 경우:
SCORE = min(SCORE, CRITICAL_CAP). 여기서 CRITICAL_CAP은 설정에서 지정한다(예: 40%).

모든 질문이 끝난 후:
TOTAL_SCORE = 질문별 점수의 산술 평균.
PASSED = TOTAL_SCORE >= 설정된 합격 기준.

중요:
- 모델은 평가 기준의 의미상 상태를 판정한다;
- 프로그램은 점수(%)를 계산한다;
- 모델이 임의의 최종 점수를 스스로 매겨서는 안 된다.

Prompt 7. Word 평가 기록 및 개인정보 제외 일별 Excel 내보내기

본문과의 연결: “평가 기록과 이력의 자동 생성” 절 — Word 평가 기록과 일별 Excel 내보내기.

구술 평가관 기능을 보완하라.

Word 평가 기록
시험이 끝나면 .docx 파일을 자동으로 생성하라.
평가 기록에 포함할 항목:
- 날짜;
- RSS 코드;
- 직위/직종;
- 부서;
- 언어;
- 합격 기준;
- 최종 결과 합격/불합격;
- 각 질문;
- 답변 녹취 텍스트;
- 질문별 점수(%);
- 규정 출처와 참조;
- 잘 설명된 내용;
- 말하지 않은 내용;
- 오류.

‘성명’과 ‘지식 평가 과목’ 칸은 다운로드 후 로컬에서 기입할 수 있도록 비워 둔다.
파일 이름: Protocol_RSS_1256_YYYY-MM-DD.docx.

날짜별 Excel
‘이력’ 섹션에 날짜 선택 기능과 ‘해당 날짜 Excel 내보내기’ 버튼을 추가하라.
열:
번호 | 시험 날짜 | 시작 시간 | RSS 코드 | 직위/직종 | 부서 | 언어 | 질문 수 | 합격 기준 % | 최종 점수 % | 결과 | 상태 | 종료 시간 | 시험 ID.

성명과 사번은 포함하지 마라.
Excel은 현재 컴퓨터의 로컬 이력만으로 생성하라.
RSS <-> 성명 대응표는 사내 보안 영역 안에서 오프라인으로만 결과와 결합해야 한다.

Prompt 8. 개인정보 감사 및 오프라인·클라우드 경계 설정

본문과의 연결: “3단계: 휴대용 브라우저 기반 평가관” 및 “개인정보 보호: 성명 대신 RSS 코드” 절.

구술 평가관 애플리케이션에 대한 기술 감사를 수행하라.
로컬 작업과 클라우드 작업을 정직하게 구분해야 한다.

다음을 확인하고 설명하라:
1. IndexedDB/localStorage에 어떤 데이터가 저장되는가.
2. 음성을 텍스트로 변환할 때 어떤 데이터가 클라우드 모델로 전송되는가.
3. 의미 평가 시 어떤 데이터가 전송되는가.
4. 문항 초안 생성 시 어떤 데이터가 전송되는가.
5. 성명, 사번, 근로자 명단 또는 RSS <-> 성명 대응표가 전송되는가.
6. API 키는 어디에 저장되는가.
7. 백업 파일에 API 키가 포함되는가.
8. 애플리케이션을 완전히 종료한 뒤 무엇이 남는가.
9. 로컬 이력과 출처는 어떻게 삭제하는가.
10. 시범 운영 중에 어떤 위험이 남는가.

결과 표현에 대한 요구사항:
음성 인식, 평가, TTS 또는 질문 생성에 클라우드 API를 사용한다면 애플리케이션을 ‘완전한 오프라인’이라고 부르지 마라.
올바른 표현: ‘로컬 데이터베이스와 통제된 클라우드 AI 영역을 갖춘 휴대용 로컬 환경’.

Prompt 9. 단일 인터페이스에 복수 시험 분야 추가

본문과의 연결: “문제 은행은 이제 이렇게 구성된다” 절 — 봇 사이를 오가지 않고 하나의 평가관에서 여러 규정과 분야를 다루는 방식.

규정마다 별도의 봇을 만들 필요가 없도록 문제 은행과 시험 시작 화면을 개선하라.

모든 질문에는 이미 ‘주제/분야’ 필드가 있다.
시험 화면에 분야 선택 기능을 추가하라:
- 하나의 주제 블록;
- 여러 주제 블록 동시 선택;
- ‘선택한 모든 분야’ 모드.

시험을 시작할 때:
1. 승인된 질문만 걸러 내라;
2. 선택한 언어를 반영하라;
3. 선택한 분야를 반영하라;
4. 프로그램의 암호학적 생성기로 지정된 개수의 질문을 무작위로 선택하라;
5. 가능하면 선택한 분야들에 질문을 고르게 배분하라;
6. 중복을 허용하지 마라;
7. 선택한 조합에 해당하는 질문이 부족하면 시작을 중단하고 이해하기 쉬운 메시지를 표시하라.

Word 평가 기록과 Excel에는 선택한 시험 분야도 함께 저장하라.

부록 활용 방법

아래 번호는 본문과 맞춰져 있다. 본문에는 해당 단계 옆에 ‘Prompt … 참고’ 형태의 직접 참조를 달았고, 여기서는 각 프롬프트 아래에 본문의 어느 절과 관련되는지 적어 두었다.

  • Prompt 1 — 이전 버전: 첫 평가관과 300문항 은행용 자체 번호 생성기가 어떻게 작동했는지 보여 준다.
  • Prompt 2 — 법령·규정을 바탕으로 한 대규모 문제 은행 준비.
  • Prompt 3 — 바이브 코딩으로 현재의 브라우저 버전을 재현하고 싶은 독자를 위한 기본 요청.
  • Prompt 4 — 업로드한 출처를 바탕으로 한 문항 초안 생성.
  • Prompt 5–6 — AI의 의미 평가와 프로그램 방식의 점수 계산을 분리.
  • Prompt 7 — Word와 Excel 자동 생성.
  • Prompt 8 — 로컬 영역과 클라우드 영역의 경계에 대한 필수 점검.
  • Prompt 9 — 하나의 인터페이스에서 여러 시험 분야 통합.

댓글 2

Irina Klimanova
Irina Klimanova 인증된 회원 3주 전
너어어어어무 멋진 사례네요. 기사 감사합니다. 즐겨찾기에 저장했습니다. 괜찮으시다면, 저도 꼭 비슷한 것을 도입하고 싶습니다 :)
1 0
Aleksandr Bondarenko
Aleksandr Bondarenko인증된 회원 3주 전

🤝

1 0

전문가 블로그

안전 분야 리더들의 기사를 읽어보세요

모든 블로그 기사
더 나은 경험을 위해 쿠키를 사용합니다 · 쿠키 고지

리더에 합류하세요

14,000+ 전문가 · 128+ 국가

1
연락처
2
프로필

회원가입

본인 소개

필수 항목
필수 항목
유효한 이메일을 입력하세요
잘못된 번호

회원가입

직업 정보

필수 항목
필수 항목
필수 항목

뉴스레터 수신에 동의해 주세요. 플랫폼 경험이 크게 향상됩니다.

가입 완료

로그인 정보를 이메일로 보냈습니다. 받은 비밀번호로 로그인하세요.

이메일을 받지 못했나요?
스팸 폴더를 확인하세요
계정이 있으신가요? 로그인 · 비밀번호를 잊으셨나요?

환영합니다!

성공적으로 로그인했습니다.

계정이 없으신가요? 가입 · 비밀번호를 잊으셨나요?

비밀번호 복구

복구할 이메일을 입력하세요

유효한 이메일을 입력하세요

링크 전송됨

비밀번호 재설정 링크를 이메일로 보냈습니다. 링크는 1시간 동안 유효합니다.

이메일을 받지 못했나요?
스팸 폴더를 확인하세요
비밀번호가 기억나셨나요? 로그인 · 가입