sgkstudio.
엔지니어링

지식인 자동 답변, 하루 상한보다 질문 공급원이 먼저였다

지식인 자동 답변의 채택률을 올리려면 답변 문장이나 하루 발행량보다 먼저 질문을 어디서 가져오는지를 바꿔야 했습니다. 저희 답변이 붙은 질문은 작성된 지 중앙값 141일이 지난 글이었고 채택률은 2.8%였는데, 같은 시장에서 당일 질문에 단 답변은 27.0%가 채택을 받았습니다. 2026년 9월 15일에 공급원을 바꾸고 첫 사이클을 돌렸더니 초안 3건이 모두 품질 검사에서 떨어졌고, 수리 뒤에야 2건이 통과했습니다.

2026-10-27증상: 자동 답변 채택률 2.8%, 답을 단 질문의 나이 중앙값 141일, 7일 이내 질문 3건 중 채택 0건측정 방법: 같은 시장 대형 답변 운영사 답변 전수조사(당일 답변 채택률 27.0%, 8일 이후 0~1.5%) + 저희 발행분을 질문 작성 시각 기준으로 재집계 + 지식iN 프로필 화면의 “중수까지 남은 채택 답변 15”반증된 가설: 지시문의 “최신 우선”은 이미 있었는데 결과가 141일. 키워드 검색은 7일 이내 질문이 하루 4.4건, 키워드 API는 하루 2.3건조치: 하위 분야 14개 최신 질문 목록에서 작성 24시간 이내·답변 1개 이하 질문을 받는 경로 신설, 하루 상한 7건→10건, 등급 상한 초수 30·중수 50·고수 100건을 코드 천장으로재측정: 첫 사이클 초안 3건 중 0건 통과(305~313자) → 수리 → 재사이클 3건 중 2건 통과, 1건 게시남는 한계: 수리 PR이 실패 테스트를 안고 머지된 사고, 2주 판정 결과는 이 글의 자료 밖

지식인 자동 답변은 왜 채택을 받지 못했나?

지식인 자동 답변을 몇 달 돌린 뒤 남은 문제는 하나였습니다. 답은 매일 올라가는데 채택이 거의 붙지 않았습니다. 지식iN에서 채택은 질문자가 “이 답이 도움이 됐다”고 고르는 표시이고, 답변자 등급을 올리는 재료이기도 합니다.

등급은 하루에 달 수 있는 답변 수를 정합니다. 초수는 하루 30건, 중수는 50건, 고수는 100건입니다. 2026년 9월 15일에 저희 계정의 프로필 화면을 열어 보니 “중수까지 남은 채택 답변 15”라고 적혀 있었습니다. 채택 15건만 더 받으면 하루 한도가 30건에서 50건으로 늘어나는 자리였습니다.

그러니 비용은 두 겹으로 쌓였습니다. 채택이 안 붙으면 등급이 안 오르고, 등급이 안 오르면 하루 한도도 그대로입니다. 저희가 스스로 정해 둔 하루 발행 상한은 7건이었는데, 이 값을 올리는 일보다 “올린 답이 왜 채택을 못 받나”를 먼저 풀어야 했습니다.

계정 수는 방안만 고민하고, 하루 발행량과 질문 신선도 격차는 인프라로 메운다.

대표가 2026년 9월 15일에 남긴 지시입니다. 계정을 늘리는 쉬운 길은 일단 접고, 한 계정 안에서 파이프라인 구조로 격차를 메우라는 주문이었습니다.

처음 잰 숫자: 채택률 2.8%와 질문 나이 141일

측정은 세 갈래로 했습니다. 첫째, 같은 시장에서 지식iN 답변을 대량으로 운영하는 회사의 답변을 전수조사해 무엇이 채택을 가르는지 봤습니다. 둘째, 저희가 올린 답을 질문 작성 시각 기준으로 다시 셌습니다. 셋째, 등급까지 남은 거리는 지식iN 프로필 화면에 적힌 값을 그대로 옮겼습니다.

전수조사에서 채택을 가른 1순위 변수는 질문의 신선도였습니다. 질문이 올라온 당일에 단 답은 27.0%가 채택을 받았고, 작성 8일이 지난 질문에 단 답은 0~1.5%에 그쳤습니다. 답을 잘 쓰는 것보다 언제 다느냐가 먼저 갈랐습니다.

저희 쪽 숫자는 반대편 끝에 몰려 있었습니다. 답을 단 질문의 나이는 중앙값 141일이었고, 7일 이내 질문에 단 답은 3건뿐이었으며 그 3건도 채택 0건이었습니다. 전체 채택률 2.8%는 이 하나로 거의 설명이 됐습니다. 141일 지난 질문의 질문자는 대부분 이미 답을 찾았거나 질문을 잊은 상태라고 보는 편이 자연스럽습니다.

숫자를 질문 작성 시각 기준으로 다시 센 이유도 적어 둡니다. 답을 올린 날짜로만 세면 파이프라인이 매일 부지런히 일한 것처럼 보입니다. 그런데 질문자 입장에서 중요한 시각은 답이 올라온 날이 아니라 질문을 올린 뒤 얼마나 지나서 답이 왔느냐입니다. 같은 답 100건이라도 기준 시각을 바꾸면 전혀 다른 그림이 나왔습니다.

수치 카드. 자동 답변 채택률 2.8%, 답을 단 질문의 나이 중앙값 141일, 7일 이내 질문에 단 답 3건, 그중 채택 0건, 중수까지 남은 채택 15건
채택률이 낮은 이유는 답의 품질보다 질문이 이미 식은 뒤에 도착한 데 있었다
막대 그래프. 질문 나이별 채택률: 당일 답변 27.0%, 작성 8일 이후 답변 최대 1.5%(범위 0~1.5%), 저희 자동 답변 전체 2.8%(질문 나이 중앙값 141일)
같은 시장에서 당일 답은 8일 지난 답보다 열 배 넘게 채택을 받았다

세운 가설: 지시문과 키워드를 손보면 신선한 질문이 들어온다

처음 가설은 지금 구조 안에서 고칠 수 있다는 쪽이었습니다. 파이프라인은 정해 둔 키워드로 지식iN을 검색해 질문을 모으고, AI가 그중 답할 질문을 골라 초안을 씁니다. 그렇다면 AI에게 최신 질문을 먼저 고르라고 지시하고, 키워드를 넓혀 후보를 늘리면 신선한 질문 비중도 오르리라고 봤습니다.

근거도 있었습니다. 2026년 7월 26일에 같은 파이프라인에서 하루 신규 질문 유입이 15건에서 2건으로 떨어진 적이 있습니다. 원인을 찾아보니 고정 키워드 13개 중 2개가 이미 판매를 접은 서비스를 겨냥하고 있었고, 실제로 팔고 있는 홈페이지 제작·AI 챗봇·블로그 운영대행에는 키워드가 하나도 없었습니다. 키워드를 13개에서 21개로 늘리자 다음 사이클 후보가 2건에서 92건으로, 46배 늘었습니다.

한 번 키워드로 공급 문제를 푼 경험이 있으니 이번에도 같은 손잡이를 돌리면 된다고 생각하기 쉬웠습니다. 가설을 정리하면 둘입니다.

  • 지시문 가설: AI에게 “최신 질문 우선”을 지시하면 답을 다는 질문의 나이가 줄어든다
  • 키워드 가설: 키워드를 넓히거나 검색 API로 바꾸면 7일 이내 신선한 질문이 충분히 들어온다

가설은 어디서 틀렸나?

지시문 가설은 확인할 필요도 없이 틀린 상태였습니다. “최신 우선” 지시는 이미 지시문 안에 들어 있었고, 그 지시 아래에서 나온 결과가 질문 나이 중앙값 141일이었습니다. 후보 목록에 오래된 질문만 있으면 AI가 아무리 최신을 고르려 해도 고를 수 있는 것이 없습니다. 고르는 쪽이 아니라 고를 재료가 문제였습니다.

키워드 가설은 숫자로 무너졌습니다. 키워드 검색으로 모은 질문 중 작성 7일 이내인 질문은 하루 4.4건뿐이었습니다. 검색 API로 바꾸는 안도 따로 재 봤는데 하루 2.3건으로 더 적었습니다. 하루 상한을 7건에서 10건으로 올린다 해도, 7일 이내 질문이 하루 4~5건이면 나머지는 다시 오래된 질문으로 채워집니다. 게다가 “7일 이내”는 8일 기준선보다 조금 나을 뿐이고, 채택률 27.0%가 나온 구간은 당일입니다.

표. 질문 공급원 비교. 키워드 검색: 작성 7일 이내 질문 하루 4.4건. 키워드 검색 API: 하루 2.3건. 하위 분야 14개 최신 질문 목록: 작성 24시간 이내·답변 1개 이하 질문을 직접 거름, 하루 수량은 이 글의 자료에 없음
키워드를 아무리 넓혀도 검색은 신선한 질문을 하루 몇 건밖에 주지 못했다

7월의 성공이 오히려 판단을 흐린 셈입니다. 그때 키워드가 푼 문제는 “질문이 아예 안 들어온다”였고, 이번 문제는 “들어오는 질문이 늙었다”였습니다. 둘 다 공급 문제처럼 보여도 손잡이가 달랐습니다.

진짜 원인: 질문을 가져오는 곳과 도는 주기

결론은 이렇게 정리했습니다. 채택은 질문이 살아 있을 때만 일어나고, 질문이 살아 있는 시간 안에 답을 다는 일은 공급원과 실행 주기의 문제입니다. 지시문을 다듬어서 풀 문제가 아니었습니다.

돌아보면 지시문 가설이 그럴듯해 보인 이유도 분명합니다. AI가 초안을 쓰는 파이프라인에서는 결과가 나쁘면 먼저 지시문을 의심하게 됩니다. 손대기 가장 쉬운 자리이기 때문입니다. 하지만 AI가 받은 후보 목록부터 오래된 질문으로 채워져 있었다면, 지시문은 그 목록 안에서 덜 오래된 것을 고르는 일밖에 할 수 없습니다.

공급원 쪽부터 보면, 키워드 검색은 관련도 순으로 질문을 돌려주니 오래된 질문이 섞이는 구조입니다. 반면 지식iN의 각 하위 분야에는 새 질문이 올라온 순서대로 보여 주는 최신 질문 목록이 있고, 로그인하지 않아도 열립니다. 이 목록에서 가져오면 작성 시각으로 거르는 일이 처음부터 가능합니다. 저희가 그동안 답해 온 하위 분야가 14개였으니, 이 14개 목록을 새 공급원으로 쓰기로 했습니다.

주기 쪽 문제도 함께 있었습니다. 당일 질문을 잡으려면 하루 한두 번 도는 작업으로는 부족합니다. 아침에 한 번 모으면 오후에 올라온 질문은 다음 날, 즉 이미 하루 지난 질문이 됩니다. 그래서 질문 공급원을 바꾸는 일과 크론 주기를 촘촘하게 바꾸는 일을 한 묶음으로 다뤘습니다.

이 진단의 앞부분, 채택률 2.8%가 질문 나이로 설명되는 과정은 지식인 채택률 2.8%의 원인, 프롬프트가 아니라 질문 나이였다에 따로 적었습니다. 이 글은 그 원인을 알고 난 뒤 파이프라인을 어떻게 바꿨고, 첫날 무엇이 깨졌는지를 다룹니다.

어떻게 바꿨나: 두 발행 경로와 코드가 읽는 등급 상한

2026년 9월 15일에 바꾼 내용은 다섯 가지입니다. 기존 흐름은 지우지 않고, 성격이 다른 경로를 하나 더 붙였습니다.

  • 채택 경로 신설: 하위 분야 14개의 최신 질문 목록에서 작성 24시간 이내, 답변 1개 이하인 질문만 가져온다. AI가 먼저 “답할 수 있는 질문인가”를 판정하고, 통과한 질문에만 60~300자 길이의 직답을 쓴다. 회사 이름은 넣지 않는다
  • 품질 검사 기준: 채택 경로 초안은 400자를 넘으면 떨어지고, 질문과의 관련성이 5% 이상이면서 질문 단어 2개 이상이 겹쳐야 통과한다
  • 노출 경로 유지: 키워드로 질문을 모으던 기존 흐름은 그대로 둔다
  • 하루 상한: 자체 상한 MAX_DAILY_PUBLISH 를 7건에서 10건으로 올리고 그중 채택 경로 몫을 6건으로 둔다. 그 위에 네이버 등급 상한(초수 30건·중수 50건·고수 100건)을 GRADE_DAILY_CAP 이라는 코드 천장으로 얹는다
  • 실행 주기: 크론을 08시~22시 사이 8개 시각으로 바꾸고 매 시각 채택 경로를 돌린다. 키워드 수집은 08시에만 돈다. 등급을 읽는 프로필 확인 작업은 매일 07시 10분에 돈다
표. 하루 발행 상한의 층. 자체 총상한 7건에서 10건으로, 그중 채택 경로 몫 6건. 네이버 등급 상한 초수 30건, 중수 50건, 고수 100건을 코드 천장으로. 발행 간격 하한 2시간. 크론 08시~22시 8개 시각. 제재 신호 시 5건으로 자동 원복
자체 상한은 사람이 정하는 다이얼이고, 등급 상한은 어떤 값을 넣어도 넘지 못하는 천장이다

등급 상한을 코드가 읽게 한 이유는 두 가지입니다. 하나는 등급이 오를 때 사람이 설정값을 고칠 필요가 없게 하려는 목적입니다. 매일 아침 07시 10분 프로필 확인 작업이 등급을 읽으면, 그날 상한이 따라 바뀝니다. 다른 하나는 안전장치입니다. 누가 자체 상한에 어떤 값을 넣어도 네이버가 정한 등급 한도를 넘는 발행은 코드에서 막힙니다.

반대로 일부러 바꾸지 않은 값도 있습니다. 발행 간격 하한 2시간, 채택 경로를 인접 분야 14개로 한정한 범위, 총상한 10건은 그대로 뒀습니다. 이 값들은 2주 뒤 판정 수치를 보고 함께 조정하기로 했습니다. 판단 근거 없이 지금 조정 안건을 올리면 14일 동안 아무도 답하지 않는 안건으로 남을 가능성이 컸기 때문입니다.

어떻게 바꿨나: 두 발행 경로와 코드가 읽는 등급 상한
검토한 안결과기각 사유
키워드 API로 신선한 질문 수집기각하루 2.3건
모든 분야로 채택 경로 확대기각답변에 회사 프로필명이 붙은 채 사실 오류 위험이 커짐
발행 간격 2시간을 30분으로 즉시 단축기각대표가 정한 하한, 판정 뒤 조정
계정 여러 개 운영기각방안 검토만, 등급을 먼저 올린다

채택 경로를 하위 분야 14개로 좁힌 이유는 프로필명이 붙은 답이 본업 밖 질문에도 나가는 위험을 줄이기 위해서다.

기존 키워드 경로는 왜 그대로 뒀나?

채택 경로를 새로 열면서 기존 키워드 경로를 없애지 않은 데는 이유가 있습니다. 두 경로는 노리는 결과가 다릅니다. 키워드 경로는 저희가 파는 서비스와 맞닿은 질문에 답을 남겨 검색에 오래 걸리게 하는 노출용이고, 채택 경로는 막 올라온 질문에 빨리 답해 채택을 받는 용도입니다. 하나를 다른 하나로 바꾸면 한쪽 목적을 버리게 됩니다.

그래서 하루 10건 안에서 몫을 나눴습니다. 채택 경로가 6건까지 쓰고, 나머지는 키워드 경로 몫으로 남습니다. 채택 경로의 답에는 회사 이름을 넣지 않는 규칙도 이 구분에서 나왔습니다. 당일 질문에 짧게 답하는 자리에서 홍보 문구가 섞이면 질문자는 그 답을 고르지 않을 가능성이 크고, 채택이라는 목적과 정면으로 부딪힙니다.

채택 경로가 답할 분야를 넓히지 않은 이유도 같은 선에 있습니다. 답에는 회사 프로필명이 붙습니다. 저희가 그동안 답해 온 14개 분야 밖으로 나가면 잘 모르는 주제에 회사 이름이 붙은 답을 다는 셈이고, 사실 오류가 하나만 나와도 채택 몇 건으로 메울 수 없는 손실이 됩니다.

재측정 결과: 첫 사이클 0/3, 수리 뒤 2/3

첫 라이브 사이클의 결과는 참담했습니다. 채택 경로가 초안 3건을 만들었고, 3건 모두 품질 검사에서 떨어졌습니다. 초안 길이는 305~313자로 작성 규격 60~300자를 넘겼고, 관련성 점수는 6~7%였습니다. 기록에는 두 값이 폐기 사유로 함께 남아 있지만, 관련성 쪽이 5% 기준과 단어 2개 겹침 조건 중 어디에 걸렸는지까지는 남아 있지 않습니다.

이 결과는 사실 품질 검사가 제 할 일을 한 장면이기도 합니다. 2026년 7월 23일에 사람이 승인하는 대기 단계를 없애고, 길이·브랜드·금지 문구·외부 링크 4종 검사를 통과하면 바로 발행하도록 파이프라인을 6단계에서 5단계로 줄였습니다. 그 뒤로는 기계 검사의 정밀도가 잘못된 답을 막는 유일한 방어선입니다. 새 경로의 초안이 그 선을 못 넘었다면 경로를 고칠 일이지 검사를 느슨하게 할 일이 아니었습니다.

수리는 PR #613으로 했습니다. 수리 뒤 다시 돌린 사이클에서는 초안 3건 중 2건이 품질 검사를 통과했고, 그중 1건이 실제로 게시됐습니다. 새 경로의 첫 게시 시각은 2026년 9월 15일 22시 31분입니다.

흐름도. 첫 사이클: 초안 3건 생성, 3건 모두 폐기(305~313자, 관련성 6~7%). PR #613 수리. 재사이클: 초안 3건 중 2건 통과, 1건 게시(22시 31분). PR #613은 tail 이 pytest 종료 코드를 삼켜 실패 테스트를 안고 머지, PR #614에서 정정
첫 측정이 실패로 나왔기에 수리가 무엇을 바꿨는지 두 번째 측정으로 확인할 수 있었다

이 두 번의 측정이 잰 것은 채택률이 아니라 “새 경로가 품질 검사를 넘는 답을 만들어 내는가”입니다. 채택은 질문자가 답을 읽고 고르는 데 시간이 걸리는 지표라 같은 날 잴 수 없습니다. 그래서 첫날은 경로가 막힘 없이 도는지만 확인하고, 채택률은 게시가 40건 넘게 쌓인 뒤에 보기로 했습니다. 첫 사이클의 0/3이 기록으로 남아 있었기에, 수리가 통과 건수를 0건에서 2건으로 바꿨다는 사실도 숫자로 말할 수 있습니다.

재측정 결과: 첫 사이클 0/3, 수리 뒤 2/3
측정초안품질 검사 통과게시
첫 사이클3건0건0건
수리 뒤 재사이클3건2건1건

측정 방법: 같은 날 채택 경로를 두 번 돌려 초안·통과·게시 건수를 셌다.

남는 한계는 무엇인가?

첫째, 수리 과정에서 사고가 하나 났습니다. #613을 머지할 때 테스트 출력을 tail 로 잘라 보는 명령 체인을 썼는데, 이 체인이 pytest 의 종료 코드를 삼켰습니다. 셸에서 파이프로 이은 명령은 마지막 명령(여기서는 tail)의 종료 코드를 돌려주므로, 테스트가 실패해도 체인 전체는 성공으로 끝납니다. 그 결과 실패 테스트를 안은 채 #613이 머지됐고, 바로 다음 PR #614에서 바로잡았습니다. 수리 PR이 새 결함을 들고 들어온 셈이라, 테스트 결과를 줄여 볼 때도 종료 코드는 따로 확인해야 한다는 교훈을 남겼습니다.

이 사고가 아픈 이유는 자동 품질 검사를 유일한 방어선으로 둔 파이프라인이라는 데 있습니다. 답을 거르는 검사 코드 자체가 실패 테스트를 안고 배포되면, 사람이 중간에 볼 단계가 없으니 잘못된 판정이 그대로 발행까지 흘러갈 수 있습니다. 다행히 이번에는 바로 다음 PR에서 잡았지만, 검사 코드를 고칠 때만큼은 테스트 종료 코드를 출력과 분리해 확인하는 습관이 필요합니다.

둘째, 재측정은 아직 하루치입니다. 초안 3건 중 2건 통과, 1건 게시는 경로가 돌아간다는 증거일 뿐 채택률이 올랐다는 증거가 아닙니다. 그래서 판정일을 2026년 9월 29일로 잡고 기준을 미리 적어 뒀습니다.

  • 채택 경로 게시 40건 이상이고 채택률 15% 이상이거나, 중수에 도달하면: 총상한·간격·분야 조정안을 올린다
  • 채택률 5% 미만이면: 채택 경로의 하루 상한(KIN_FRESH_DAILY_CAP)을 0으로 내려 경로를 닫는다

셋째, 감수한 위험도 있습니다. 발행량이 7건에서 10건으로, 실행 시각이 8개로 늘면서 자동 게시가 눈에 띌 여지도 커졌습니다. 제재 신호가 잡히면 하루 상한을 5건으로 자동 원복하는 장치는 그대로 둡니다. 또 채택 경로의 답은 회사 프로필명이 붙은 채로 본업 밖 질문에도 나갑니다. 분야를 인접 14개로 좁혀 이 위험을 줄였지만 없애지는 못했습니다.

넷째, 공급원 설정이 판매 서비스 목록과 자동으로 맞춰지지 않는 구조는 여전합니다. 2026년 7월 26일에 접은 서비스를 겨냥한 키워드를 찾아낸 방법은 사람이 두 목록을 나란히 놓고 읽는 일이었고, 그 기록 시점에는 정기 대조 장치를 따로 들이지 않았습니다. 이번에 하위 분야 14개를 공급원으로 고정한 것도 같은 성격의 설정이라, 판매 서비스가 바뀌면 사람이 다시 손봐야 합니다.

마지막으로, 2주 판정의 실제 결과는 이 글의 자료에 없습니다. 이 글은 공급원을 바꾸고 첫날을 두 번 잰 기록까지이고, 채택률이 실제로 15%를 넘었는지는 판정 기록이 나온 뒤에 따로 적겠습니다.

지식인 자동 답변을 운영한다면 무엇부터 재야 하나?

지식인 자동 답변이나 비슷한 커뮤니티 답변 자동화를 운영한다면, 답 문장을 다듬기 전에 두 숫자를 먼저 재 보기를 권합니다. 하나는 답을 단 질문의 나이 중앙값입니다. 저희는 141일이었고, 이 숫자 하나가 채택률 2.8%를 거의 다 설명했습니다. 다른 하나는 지금 공급원이 하루에 주는 신선한 질문 수입니다. 저희 키워드 검색은 7일 이내 질문이 하루 4.4건이었습니다.

이 두 숫자가 나쁘면 발행량을 늘려도 오래된 질문에 답을 더 다는 결과만 남습니다. 공급원과 실행 주기를 먼저 바꾸고, 플랫폼이 정한 한도는 사람이 외워 두는 값이 아니라 코드가 매일 읽는 천장으로 두는 편이 안전합니다.

지금 운영 중인 답변 자동화나 업무 자동화의 병목을 함께 재 보고 싶다면 상담에서 현재 구조를 알려 주세요. 이 글의 수치는 SGK Studio가 2026년 9월 15일 결정 기록과 같은 날의 실행 결과에서 그대로 옮겼습니다.

같은 방식으로 우리 업무를 재보고 싶다면

이 글에 쓴 계측·판정·자동화는 저희가 실제로 매일 돌리는 방식 그대로입니다. 어떤 작업을 자동화할 수 있고 어디를 사람이 잡아야 하는지, 현재 업무 흐름을 놓고 같이 짚어 드립니다.

새 글이 올라오면 알려 드립니다

이런 계측 기록을 새로 쓰면 메일로 한 통 보냅니다. 광고나 판촉은 보내지 않습니다.