경력·사례·글은 한국어 원문으로 제공됩니다.

← 모든 기록

기술 글 / 제품 개발

공고에 붙은 90점은 무엇을 뜻했을까

공고 선별 화면의 높은 점수를 보고 실제 요청과 응답을 확인했다. 모델의 분류를 코드가 점수로 바꾸고 있었고, 제목 선별에 본문 검토까지 요구하고 있었다.

작업 2026.10

높은 점수가 먼저 보였다

공고를 모아놓고 보면 제목만 읽는 데도 시간이 든다. 관심 있는 기술이 들어 있어도 실제로 무엇을 만드는 일인지, 준비할 수 있는 일인지는 원문을 더 읽어야 한다. 우선 그 원문을 읽을 후보부터 줄이고 싶었다.

개인 검토 도구에 Jev를 연결해 공고 제목과 과업 선호를 비교했다. 빠르게 후보를 나누는 데는 쓸 만하다고 느꼈다. 그런데 목록을 보다 보니 90점이 자주 눈에 들어왔다. 어떤 내용을 보내기에 이런 점수가 나오는지 확인하고 싶었다.

먼저 전체 분포를 봤다. 당시 저장된 선별 이력 856건 중 90점은 45건이었다. 전체 공고 대부분이 90점인 것은 아니었다. 화면이 높은 점수부터 보여주고 있어서, 먼저 읽는 목록에 높은 점수가 모여 있었다.

분포를 확인해도 질문은 남았다. 이 90점은 무엇을 뜻하는가?

모델이 준 숫자가 아니었다

저장된 요청과 원응답을 대조해 보니, 모델은 분야 관련성 같은 질문에 정해진 선택지로 답하고 있었다. 그 선택지에 코드가 임시점수를 붙였다. 어떤 분류를 선택하면 90점으로 표시하는 식이었다.

한 공고에서는 ‘넓게 관련’이라는 선택지의 확률이 0.36이었는데 화면에는 90점이 붙었다. 모델이 “90% 적합하다”고 답한 것이 아니었다. 내가 만든 표시 규칙을 지나면서 그렇게 보이게 된 것이다.

Jev의 Choice는 정해둔 선택지 중 하나와 각 선택지의 확률, confidence를 반환한다. confidence도 실제 정답률을 측정한 수치가 아니라 선택지 사이에 확률이 얼마나 나뉘는지에서 계산된다. 숫자의 이름만 보고 업무 적합도와 같은 것으로 읽으면 안 된다. Choice 응답 설명

점수는 정렬에 편리했다. 하지만 원문을 읽어볼 만한지를 나타내려던 값이 참가 자격과 수행 가능성까지 확인한 것처럼 보일 여지가 있었다. 화면에 적힌 숫자가 모델 응답보다 더 확실한 말을 하고 있었다.

제목만 주고 본문까지 물었다

입력에는 공고 제목과 발주기관, 일부 분류 정보가 들어갔다. 빠른 선별 단계에서 본문은 대부분 없었다. 그런데 질문에는 주된 납품 과업이 무엇인지, 과업을 판단할 설명이 충분한지까지 포함돼 있었다.

본문을 읽지 않았으니 본문 정보가 부족하다는 답은 맞았다. 문제는 그 답으로 제목 선별까지 같은 상태에 묶고 있었다는 점이다. 제목만으로 관심 분야 밖이라고 볼 수 있는 공고도 ‘정보 부족’으로 남았다.

원문을 읽기 전에 후보를 고르려고 만든 단계였다. 여기서 물어야 할 것은 원문이 충분한지가 아니라, 이 제목의 공고를 더 읽을 가치가 있는지에 가까웠다. 실제 자격·인력·현장 대응·원가는 그다음에 확인할 내용이었다.

입력과 표시를 나눠 시험했다

저장된 공고 8건으로 제목만 보내는 경우와 제목에 기관을 더하는 경우를 비교했다. 이름으로 분류하는 질문과 점수를 매기는 질문을 시험하고, 같은 입력을 반복한 호출까지 총 36회 응답을 받았다. API 오류는 없었다.

이 표본에서는 기관을 추가해도 이름 분류가 8건 모두 같았다. 점수는 조금 달랐지만 기관을 반드시 함께 보내야 할 이유는 찾지 못했다. 다른 분야의 공고에서도 기관이 불필요하다는 뜻은 아니다.

숫자를 어떻게 보여줄지도 비교했다. Score에 설명이 붙은 다섯 단계를 주고 받은 0~4 범위의 값을 100점 기준으로 환산했다. 그 원점수를 5점 간격과 10점 간격으로 반올림해 봤다. 모델에 더 많은 판단 단계를 주어 정확도가 좋아지는지 시험한 것은 아니었다. Score의 단계와 값

84.5라는 원점수는 5점 간격에서 85, 10점 간격에서 80으로 보였다. 판단은 같아도 표시 간격에 따라 인상이 달라졌다. 이렇게 만든 표시점수를 그대로 다음 단계의 자동 실행 조건으로 쓰는 것은 조심해야겠다.

이름을 바꿔도 남는 오류

시험 뒤에는 ‘매우 관련 / 관련 / 유사·범위 확인 / 낮은 우선순위’를 먼저 보여주는 편이 낫겠다고 봤다. ‘적합’이라고 쓰면 자격을 확인한 것 같고, ‘보류’라고 쓰면 사람이 검토해 멈춘 것처럼 읽힐 수 있었다.

그렇다고 이름으로 바꾸면 모델의 판단까지 좋아지는 것은 아니었다. ‘플랫폼 개발 기획연구’ 공고를 관련 분야로 높게 보는 문제가 남았다. 플랫폼을 개발하는 일과 개발 계획을 연구하는 일을 제목에서 제대로 나누지 못했다. 선택지의 확률도 여러 분류로 갈려 있었다.

현재로서는 제목 관련성을 빠르게 나누고, 경계에 있는 공고는 원문을 확인하는 정도가 맞아 보인다. 관련성이 높은 기술이 들어 있다는 사실만으로 내가 맡아 수행할 수 있는 일이라고 결론 낼 수는 없다.

운영에 반영한 뒤에도 남은 질문

후속 작업에서는 제목과 과업 선호만 보내고, 네 단계의 이름을 먼저 보여주는 방식으로 운영을 바꿨다. 발주기관과 업종, 본문은 이 빠른 선별 요청에서 뺐다. 모델의 분류가 갈리는 경우에는 범위를 확인해야 한다는 표시를 함께 남겼다.

대상으로 고정한 기존 공고 744건의 재평가가 끝났고, 이전 선별 응답 856건은 덮어쓰지 않고 보존했다. 사람이 남긴 판단과 메모도 새 모델 평가와 별도로 유지했다. 같은 공고를 다시 평가했을 때 무엇이 바뀌었는지 읽을 수 있어야 했다.

목록과 카드에는 같은 검색 조건과 순서를 적용했다. 높은 관련도부터 읽되 낮은 단계에서도 사람이 원문 검토를 요청할 수 있다. 상위 분류를 실제 참가 가능성으로 바꾸거나, 낮은 분류를 자동으로 탈락시키지는 않았다.

이제 새 방식은 운영에서 볼 수 있다. 다만 744건의 처리가 끝났다는 것은 응답이 저장됐다는 결과다. 읽어야 할 공고를 덜 놓쳤는지, 검토 시간을 줄였는지는 아직 측정하지 않았다. 목록의 90점에서 시작한 질문은 화면을 바꾼 뒤에도 남는다. 내가 어떤 질문을 했고, 그 답을 코드와 화면이 어떤 판단으로 보이게 만드는지 계속 확인해야 한다.

작성 2026-10-08

개인 공고 검토 도구의 입력·표시 비교와 후속 운영 반영 기록이다. 제목 관련성과 실제 참가 가능성은 구분했으며, 선별 품질과 검토 시간 절감은 아직 측정하지 않았다.