NumTerra
제13회 / 30편 2부 사람이 먼저
우리 동네가 먼저 안다/2부 사람이 먼저/제13회

누구의 신고를 믿을 것인가 — 신뢰 점수

2026-08-05 · 읽는 데 9분

두 개의 점수

지금까지 나온 이야기를 실제 계산 구조로 정리하면, 점수가 두 개 필요하다.

사용자 점수 — 이 사람의 판단에 얼마나 무게를 둘까 지점 점수 — 이 구간이 얼마나 주목할 만한가

그리고 둘은 서로를 참조한다. 신뢰받는 사용자가 표시한 지점은 점수가 높아지고, 나중에 인정받은 지점을 먼저 표시했던 사용자는 점수가 올라간다.

이 상호 참조가 이 설계의 핵심이면서 동시에 가장 위험한 부분이다. 잘못 돌면 서로를 강화하며 편향이 굳는다.

지점 점수는 무엇으로 만드나

10편에서 두 축을 이야기했다. 겹침과 시간 변화. 여기에 두 가지를 더한다.

① 독립적 신고 수. 서로 다른 사용자가 몇 명 표시했는가. 같은 사람이 열 번 표시한 것은 한 명으로 센다. 이게 겹침의 실체다.

② 시간 추세. 최근에 늘고 있는가. 꾸준한 것은 구조물이고, 늘어나는 것이 우리 목표다.

③ 신호 뒷받침. 그 지점을 지나간 주행들의 신호에 공통된 이상이 있는가. 신고가 없는 통과의 신호까지 포함해서 본다.

④ 알려진 구조물 제외. 과속방지턱·건널목·맨홀 위치와 겹치면 크게 감점한다.

이 네 항목의 조합으로 지점 점수를 만든다. 그리고 중요한 원칙이 하나 있다.

점수는 “위험도”가 아니라 “확인 우선순위”다. 11·12편에서 반복한 이야기다. 우리는 위험을 판정할 수 없다. 어디를 먼저 보라고 말할 수 있을 뿐이다.

사용자 점수는 무엇으로 만드나

12편에서 세 기준을 이야기했다. 정리하면 이렇다.

① 일치도. 이 사람의 신고가 다른 사람들의 신고와 겹친 비율.

② 구간 친숙도. 그 구간을 반복해서 지났는가. 기준선을 가진 사람의 판단이 무겁다.

③ 신호 정합성. 이 사람의 신고에 실제로 신호 이상이 따라왔는가. 오작동이나 습관적 오조작을 걸러낸다.

그리고 12편에서 지적한 편향 위험 — 최초 발견자가 불리해지는 문제 — 에 대한 대응을 구조에 넣는다.

소급 보상. 어떤 지점이 나중에 여러 사람에게 인정받으면, 그 지점을 가장 먼저 표시했던 사용자에게 큰 가중치를 준다. 늦게 동조한 사람보다 먼저 발견한 사람이 더 많이 얻는다.

이 규칙이 없으면 시스템은 다수 동조자를 우대하고, 그러면 새로운 발견이 억제된다.

세 가지 안전장치

이 구조가 폭주하지 않게 하는 규칙을 정해뒀다.

1. 신고를 버리지 않는다

낮은 점수의 사용자 신고도 저장하고 집계에 포함한다. 무게만 낮춘다.

이유는 12편에서 말한 대로다. 걸러내기 시작하면 시스템이 자기가 이미 아는 것만 본다. 새로운 유형의 이상을 처음 표시하는 사람은 대개 기존 패턴과 안 맞고, 그래서 점수가 낮을 수 있다.

2. 점수 범위를 제한한다

사용자 점수가 무한히 벌어지지 않게 상한과 하한을 둔다. 아무리 신뢰받는 사용자라도 혼자서 지점 점수를 끌어올릴 수는 없다.

한 사람이 결정할 수 없게 만드는 것. 이게 집단 판단 시스템의 기본 안전장치다.

3. 사후 확인이 다른 모든 것을 덮어쓴다

실제로 함몰이 발생했거나, 정밀 조사에서 공동이 확인되었거나, 보수 기록이 나온 경우. 이런 외부 사실이 들어오면 그것이 최우선이다.

그리고 그 사실을 기준으로 관련된 모든 점수를 재계산한다. 그 지점을 표시했던 사람들의 점수가 오르고, 시스템이 그 지점을 낮게 평가했다면 왜 그랬는지가 기록된다.

이 외부 사실이 유일한 진짜 정답이다. 그리고 드물다. 그래서 초기에는 시스템 전체가 정황에 의존한다. 이 한계를 감추지 않는 것이 중요하다.

개인정보라는 문제

여기서 반드시 짚어야 할 것이 있다. 이 시스템은 누가 언제 어디를 지났는지를 다룬다. 이동 경로 데이터다.

민감하다. 매일의 출퇴근 경로는 집과 직장을 드러낸다.

그래서 설계 원칙을 정해뒀다.

  • 개별 경로를 저장하지 않는다. 신고 지점과 그 주변 짧은 구간의 신호만 남기고, 그 사이의 이동은 버린다.
  • 집계 단위로만 다룬다. “이 구간에 몇 명이 표시했다”까지만 남기고 누구인지는 분리한다.
  • 사용자 점수는 식별자에 붙이지 않는다. 점수 계산에 필요한 최소 정보만 유지한다.
  • 기여 이력을 본인이 지울 수 있게 한다.

이 원칙들은 데이터의 품질을 일부 희생한다. 전체 경로가 있으면 차량 지문을 더 정확히 파악할 수 있고, 사용자 이력이 길수록 점수가 정확해진다. 그런데 그건 가져도 되는 데이터가 아니다.

앞으로 실제 서비스로 만들 때 이 부분이 가장 신중해야 할 영역이다.

2부를 정리하며

일곱 편에 걸쳐 하나를 다뤘다. 정답이 없는 상태에서 어떻게 신뢰를 만드나.

답은 세 겹이었다.

  1. 겹침 — 흩어지는 오류와 모이는 실재를 구분한다
  2. 변화 — 꾸준한 구조물과 새로 생긴 이상을 구분한다
  3. 이력 — 사람과 지점에 무게를 매기되, 아무것도 버리지 않는다

그리고 이 셋으로 얻는 것은 판정이 아니라 우선순위다. 어디를 먼저 확인할지.

여기까지가 1단계다. 사람이 판단하고, 사람의 판단끼리 검증하고, 그 결과로 목록을 만드는 단계. 이건 지금 만들 수 있고, 지금 쓸모가 있다.

그리고 이 단계가 돌아가는 동안 무엇이 쌓이는가. 사람의 판단이 붙은 신호 기록이다. 어떤 구간의 신호에 “여기 이상함”이라는 이름표가 달린 데이터.

이게 2단계의 재료다. 기계가 배울 수 있는 형태의 데이터.

3부에서는 그 신호 자체로 들어간다. 가속도 기록에서 무엇을 어떻게 읽어낼 수 있는지, 도심 주행의 소음 속에서 미약한 신호를 어떻게 건져 올리는지.


다음 편 예고 — 진동은 무엇을 말하는가. 3부의 시작. 흔들림이라는 물리 현상에 어떤 정보가 담기는지, 그것을 숫자로 어떻게 다루는지 기초부터 짚는다.

연재 안내

「우리 동네가 먼저 안다」는 5부 30편으로 이어집니다. 지금 읽은 글은 2부 사람이 먼저의 7번째(전체 제13회)입니다.

연재 전체 목차 펼쳐보기
1부

왜 못 잡았나

1~6회
  1. 01그 도로는 어제도 멀쩡했다읽는 데 8분
  2. 02도로를 재는 기술은 이미 오래됐다, 그런데 왜읽는 데 9분
  3. 03포트홀과 싱크홀은 다른 문제다읽는 데 8분
  4. 04표면이 아니라 아래에서 일어나는 일읽는 데 8분
  5. 05공동은 어떻게 자라는가읽는 데 9분
  6. 06비용·주기·깊이 — 기존 방식의 삼중 한계읽는 데 8분
2부

사람이 먼저

1단계7~13회
  1. 07매일 그 길을 지나는 사람읽는 데 8분
  2. 08\"쿵\" 하는 그 순간, 무슨 일이 일어났나읽는 데 9분
  3. 09느낌을 데이터로 바꾸기 — 신고 버튼의 설계읽는 데 9분
  4. 10동네에 깃발을 꽂다읽는 데 8분
  5. 11한 사람의 착각, 백 사람의 확신읽는 데 9분
  6. 12위키는 어떻게 틀린 정보를 걸러내는가읽는 데 9분
  7. 13누구의 신고를 믿을 것인가 — 신뢰 점수지금 읽는 중
3부

신호 읽기

14~21회
  1. 14진동은 무엇을 말하는가읽는 데 9분
  2. 15주머니 속 가속도계라는 센서읽는 데 9분
  3. 16시간을 주파수로 — 푸리에 변환읽는 데 10분
  4. 17라플라스 변환과 시스템의 응답읽는 데 9분
  5. 18가다서다 — 도심 주행이라는 소음읽는 데 9분
  6. 19차량마다 다른 조건, 정규화의 문제읽는 데 9분
  7. 20같은 지점을 수백 번 지나간다는 것읽는 데 9분
  8. 21미약한 신호를 건져 올리는 법읽는 데 9분
4부

physical AI

2단계22~27회
  1. 22드문 재난을 어떻게 학습하는가읽는 데 9분
  2. 23시뮬레이션으로 데이터를 만든다읽는 데 9분
  3. 24physical AI란 무엇인가읽는 데 9분
  4. 25사람의 '물컹함'을 기계에 가르치기읽는 데 10분
  5. 26사람의 신고와 기계의 신호가 만나면읽는 데 9분
  6. 27오경보와 놓침 사이 — 임계값의 윤리읽는 데 9분
5부

도시로

28~30회
  1. 28위험 지도를 그리다읽는 데 9분
  2. 29NumTerra 해부 — 앱과 데이터 파이프라인읽는 데 9분
  3. 30스스로 감지하는 도시읽는 데 9분