2026.07.08 · Vol. III · No. 28
a room filled with lots of tables and stools
Photo by Lusia Komala Widiastuti on Unsplash
멜로
GLOBAL

모든 것을 바꾼 그 일감

수익을 갉아먹는 알고리즘 결함을 발견한 플랫폼 노동자가 동료들과 함께 회사가 덮기 전에 진실을 폭로하려 한다.

· 7분 읽기 · #스토리#멜로

리나 초이가 처음 그 숫자를 발견한 건 화요일 새벽 두 시였다.

스프레드시트 화면이 눈을 태웠다. 흰 셀들 사이로 빨간 수치가 반짝였는데, 그게 실수인지 확인하느라 세 번을 더 들여다봤다. 2월 정산액이 1월보다 정확히 22.7퍼센트 낮았다. 건수는 오히려 늘었는데.

“플렉스런(FlexRun) 말고는 설명이 없잖아.”

그녀는 혼잣말을 했다. 입술이 움직였지만 소리는 고요한 원룸에 금방 사라졌다. 플렉스런은 플랫폼 노동자들이 계약을 잡는 앱이었다. 배달, 번역, 데이터 라벨링, 가끔은 현장 조사. 리나는 주로 번역과 라벨링을 했다. 세 개 언어를 다룰 수 있었기 때문에, 플렉스런 내부 등급 시스템에서 꽤 높은 ‘스타 레이트’ 배지를 유지하고 있었다.

그런데 정산이 줄었다. 일은 더 했는데.

그날 밤 그녀는 1월부터 소급해 데이터를 뽑았다. 플렉스런 앱 내 계약 이력 탭은 CSV 다운로드를 허용했다. 별 생각 없이 설계한 기능 같았는데, 덕분에 리나는 한 시간 만에 6개월치 계약 데이터를 테이블로 만들 수 있었다. 계약 단가, 시간, 완료율, 클라이언트 평점, 그리고 최종 지급액.

문제는 마지막 열에 있었다.

‘최종 지급액’이 ‘계약 단가 x 시간’과 미묘하게 달랐다. 오차는 늘 마이너스 방향이었다. 0.3퍼센트, 0.8퍼센트, 어떤 날은 2퍼센트까지. 작은 수치였지만 6개월을 합산하자 꽤 다른 숫자가 나왔다. 리나는 계산기를 켰다. 손가락이 멈췄다.

“38만 원.”

그 달 교통비를 조금 넘는 금액이었다. 혼자서만 38만 원이었다.


다음 날 그녀는 플렉스런 커뮤니티 포럼을 뒤졌다. 처음에는 비슷한 불만을 게시한 사람을 찾는 게 목적이었다. 한 시간도 안 돼 찾았다. 이름은 ‘돈 모자이크’라는 닉네임이었는데, 경력 7년의 번역가라고 자기소개가 붙어 있었다.

“저만 정산이 이상한가요? 단가 계산이 안 맞아요.”

댓글이 12개 달려 있었다. 절반은 “저도요”였고, 나머지 절반은 “그냥 앱 버그 아닐까요”였다. 플렉스런 공식 계정은 24시간 안에 답변한다는 자동 메시지를 남겼고, 그게 전부였다. 게시물 날짜는 사흘 전이었다.

리나는 쪽지를 보냈다.

“저도 같은 문제입니다. 데이터 뽑아보셨어요? 이야기 나눌 수 있을까요?”

답장은 세 시간 후에 왔다.


돈 모자이크의 실명은 칸 야밀이었다. 실제로 만나는 건 리나가 제안했고, 칸은 10분 고민하다가 OK를 보냈다. 그들은 석촌 근처 카페에서 처음 얼굴을 마주쳤다. 칸은 생각보다 젊었다. 삼십 대 중반, 약간 지쳐 보이는 눈이었지만 노트북 케이스를 꼭 끌어안은 손에는 힘이 있었다.

리나가 CSV 파일을 열자마자 칸이 말했다.

“같은 거.”

그는 자기 파일을 옆에 열었다. 오차 패턴이 거의 동일했다. 낮은 단가 계약일수록 오차 비율이 컸다. 고단가 계약은 상대적으로 정확했다.

“이게 랜덤한 버그가 아니에요.” 리나가 말했다.

“알고리즘이야.” 칸이 낮게 말했다. “의도됐거나, 아니면 설계가 잘못된 거거나.”

두 사람은 한동안 말이 없었다. 칸이 먼저 입을 열었다.

“포럼에 비슷한 사람 더 있어요. 제가 몇 명하고 얘기해봤는데, 다들 소액이라 그냥 넘겼어요. 증명도 못 하고.”

“우리는 증명할 수 있어요.”

리나가 화면을 손가락으로 짚었다. CSV 데이터는 거짓말을 하지 않았다.


그들이 모은 데이터는 빠르게 불어났다. 플렉스런 커뮤니티 안의 비공개 채팅방을 만들었다. 이름은 ‘계산기 모임’이었는데, 처음엔 5명이었다가 열흘 만에 23명이 됐다. 배달 라이더, 그래픽 디자이너, 데이터 라벨러, 통역사. 플렉스런에서 생계를 꾸리는 사람들이 하나씩 들어왔다.

각자 CSV를 가져왔다. 리나가 형식을 통일하는 파이썬 스크립트를 짰다. 기초적인 코드였지만 칸이 보완해줬다. 두 사람 다 개발자가 아니었지만, 필요하면 배우면 됐다.

합산 데이터가 나왔을 때 방 안이 잠깐 조용해졌다.

23명이 6개월간 지급받지 못한 금액. 총합 약 960만 원.

“한 명 평균 40만 원이 넘어.” 칸이 말했다.

“이게 23명이야.” 리나가 말했다. “플렉스런 노동자가 국내에만 몇 만 명인데.”

채팅방이 얼어붙었다. 그 숫자가 함의하는 바를 모두가 이해했기 때문이었다.


알고리즘의 구조를 파악하는 데 가장 기여한 사람은 소피아 렌이었다.

소피아는 본업이 통계학 강사였고 부업으로 플렉스런에서 설문 데이터 분석 계약을 받았다. 그녀가 23명의 데이터를 정리하자 패턴이 뚜렷하게 나왔다.

“플렉스런 내부 점수 체계인 ‘릴라이어빌리티 인덱스(Reliability Index)‘가 특정 임계값 밑으로 떨어지면 정산 단가에 조정 계수가 붙어요. 문제는 이 인덱스 계산 방식이 비공개라는 거예요.”

소피아가 화이트보드에 수식을 그렸다. 채팅방 화상 회의였는데, 그녀가 카메라에 종이를 들이댔다.

“추정하건대 최근 계약 취소율이 주요 변수예요. 근데 취소 사유를 구분을 안 해요. 내가 취소한 거나, 클라이언트가 취소한 거나, 플렉스런 시스템 오류로 취소된 거나 다 똑같이 마이너스로 잡혀요.”

리나가 이마를 짚었다.

“그럼 내 점수가 떨어진 게…”

“2월에 클라이언트가 갑자기 계약을 취소한 건 기억나요?”

기억났다. 번역 계약이었는데, 클라이언트가 프로젝트 자체를 접었다며 하루 만에 취소했다. 리나 잘못이 아니었다. 하지만 플렉스런 시스템은 그걸 리나의 취소율에 포함시켰고, 릴라이어빌리티 인덱스를 조금 깎았다.

“그것만으로 22퍼센트가 넘게 정산이 줄어요?” 리나가 물었다.

“인덱스가 임계값 아래로 내려가는 순간 조정 계수가 크게 올라가요. 비선형이에요.” 소피아가 말했다. “절벽 구조예요. 살짝만 밀려도 확 떨어지는.”

회의가 끝난 후 리나는 한동안 화면을 껐다.

절벽. 그 단어가 오래 남았다.


문제는 증거를 어떻게 공개하느냐였다.

그들이 가진 건 CSV 데이터와 소피아의 통계 분석이었다. 플렉스런 내부 알고리즘 코드는 아무도 갖고 있지 않았다. 법적으로 싸우려면 내부 문서가 필요했는데, 그건 소송 개시 후 증거 개시 절차를 밟아야 나오는 것이었다.

“플렉스런이 패치 예정이라는 소문이 있어요.” 칸이 말했다.

그 말이 방의 온도를 바꿨다.

소문의 출처는 플렉스런 내부에서 계약직으로 일한 적 있는 한 멤버였다. 이름을 밝히지는 않았지만, 다음 분기 업데이트에 ‘릴라이어빌리티 계산 로직 개선’이 포함될 수 있다고 했다.

“패치가 나오면 우리 근거가 사라져요.” 소피아가 말했다. “지금 방식의 알고리즘이 존재했다는 증거가.”

“그래서 지금 공개해야 해.” 리나가 말했다.

침묵이 3초 이어졌다.

“어디에?”


미디어에 연락하는 건 리나가 맡았다. 두 곳에 보냈다. 하나는 플랫폼 노동 문제를 꾸준히 다루는 독립 미디어 ‘긱 워치(GigWatch)‘였고, 다른 하나는 조금 더 큰 경제 전문 뉴스레터였다.

긱 워치 기자 레이 박이 먼저 답장을 보냈다.

“데이터 보내주시겠어요? 제가 직접 확인해보겠습니다.”

리나는 소피아가 정리한 분석 보고서와 23명의 익명 처리된 CSV를 보냈다. 레이는 이틀 동안 자기 분석을 돌렸다. 그리고 다시 연락이 왔다.

“패턴이 맞아요. 한 가지만 더 물어봐도 될까요? 이분들 중에 소명을 요청한 분 계신가요? 플렉스런에 정식으로.”

리나는 채팅방에 전달했다. 세 명이 과거에 고객센터에 문의했다가 “시스템 정상 처리 완료”라는 답변만 받았다고 했다. 그 대화 캡처도 모았다.

레이의 세 번째 메시지가 왔다.

“기사 쓰겠습니다. 다만 플렉스런 쪽에 사전 질의를 보내야 해요. 그게 게재되는 날, 플렉스런이 패치를 앞당길 수도 있어요. 그 리스크는 알고 계시죠?”

리나는 칸과 소피아에게 전화했다.

“알아요.” 리나가 답장을 입력했다. “괜찮아요.”

사실 괜찮지 않을 수도 있었다. 패치가 나오면 과거 데이터는 남지만 현재형 피해는 사라진다. 구조적 문제의 시제가 과거로 바뀐다. 언론이 다루기 조금 더 어려워진다. 리나는 그 계산을 머릿속으로 했다가, 잠시 멈췄다가, 지웠다.

어차피 그들이 가진 것은 지금 이 데이터뿐이었다. 지금 쓰지 않으면 사라지는 것들.


긱 워치 기사가 게재된 날은 목요일이었다.

제목은 “플렉스런 알고리즘, 저단가 계약 노동자 정산 자동 감산 정황”이었다. 부제에는 “23명 데이터 분석, 평균 지급 오차 17%“가 붙었다.

리나는 기사 링크가 채팅방에 올라오는 걸 앉아서 봤다. 멤버들의 반응이 줄줄이 올라왔다. 칸은 짧게 “됐다”라고만 썼다. 소피아는 통계 수치가 정확하게 인용됐는지 확인하는 댓글을 달았다.

오전 중에 플렉스런 공식 SNS 계정이 짧은 입장을 냈다.

“당사는 정산 시스템의 정확성을 최우선으로 합니다. 현재 관련 사안을 내부 검토 중이며, 더 나은 투명성을 위한 개선을 검토 중입니다.”

“투명성을 위한 개선을 검토 중.” 칸이 읽어줬다. “인정은 아니지.”

“그래도 무시하지는 못했잖아.” 리나가 말했다.


그 주 금요일, 플렉스런은 앱 업데이트를 배포했다. 릴라이어빌리티 인덱스 계산 방식이 변경됐다. 이제 계약 취소는 ‘노동자 귀책’과 ‘비귀책’으로 구분되고, 비귀책 취소는 인덱스에 반영되지 않는다. 정산 조정 계수 계산식도 일부 변경됐다. 구체적인 수식은 비공개였지만, 이전보다 명시적인 설명이 앱 내 도움말에 추가됐다.

플렉스런은 소급 지급에 대해서는 언급하지 않았다.

채팅방이 짧게 끓어오른 다음 잠잠해졌다. 누군가가 물었다.

“이걸로 된 건가요?”

리나는 대답을 한참 생각했다.

정산 차액을 돌려받지는 못했다. 플렉스런은 알고리즘 오류를 공식 인정하지 않았다. 개선을 ‘검토’했고 업데이트를 ‘배포’했지만, 그게 사과인지 수정인지 예방인지 공식 언어로는 불분명했다. 레이의 후속 기사가 이 업데이트를 다루면서 “사실상의 시인”이라는 표현을 쓰긴 했지만, 법적 효력은 없었다.

그래도 뭔가는 달라졌다.

“앞으로는 달라질 거야.” 리나가 입력했다가 지웠다. 너무 결론 같았다.

대신 이렇게 썼다.

“다음 달 정산 나오면 다시 비교해봐요.”


열흘 후, 리나는 3월 정산 데이터를 열었다.

계약 건수는 2월과 비슷했다. 정산액은 1월 수준으로 돌아왔다. 차이가 없는 것보다 약간 나쁜 달이 하나 있었지만, 그건 클라이언트 평점이 낮은 계약을 몇 개 받은 탓이었다. 알고리즘 문제가 아니었다.

그녀는 스프레드시트를 닫았다.

창밖은 이미 어두워져 있었다. 야간 경제 뉴스가 틀어진 텔레비전에서 어떤 플랫폼 기업의 FLEX 종목 얘기가 흘러나왔는데, 실적 발표 전에 단기 조정이 왔다는 내용이었다. 투자자들이 플랫폼 수수료 구조에 대한 의구심을 가지기 시작했다는 분석가의 코멘트가 짧게 나왔다.

리나는 그 부분에서 리모컨을 내려놓았다.

플랫폼의 수익성과 노동자의 정산 사이에는 항상 어떤 긴장이 있었다. 알고리즘은 그 긴장을 숨기는 방식으로 설계되기 쉬웠다. 작은 조정 계수 하나가 수천 명의 월급에 조용히 손을 댔고, 아무도 모를 수 있었다. 실제로 대부분은 몰랐다.

칸이 채팅방에 메시지를 보냈다.

“우리 CSV 정기적으로 계속 모을까요?”

리나는 잠깐 생각했다.

사람들이 들어오고 나갔다. 데이터가 쌓였다. 소피아의 스크립트가 돌아갔다. 그게 특별히 거창한 일은 아니었다. 이상한 숫자를 발견하면 다시 모여서 들여다보는 것, 그게 전부였다.

그녀는 채팅방에 입력했다.

“그래요.”

짧은 답장이었지만, 방에는 다시 작은 불이 켜졌다.


본 글은 허구이며 투자 권유가 아닙니다.

픽션 고지 · 본 스토리는 공개된 자료를 바탕으로 AI 시스템이 자동 생성한 창작 서사(픽션)입니다. 등장 인물의 발언, 내심, 행위는 실제 사실과 다른 가공된 묘사이며, 실존 인물과 기업에 대한 평가, 비방, 사실 단정이 아닙니다. 투자 권유나 기업 평가가 아닙니다. 정정·삭제 요청은 nicepark0606@gmail.com으로 보내주세요. 자세한 내용은 면책조항.