내 MCP 포스트에 댓글을 다는 사람들을 확인해 보았다. 좋은 댓글의 대부분은 봇이었다.
요약
MCP 생태계 포스트에 달린 고품질 댓글의 상당수가 자동화된 봇임을 분석한 글입니다. 게시 주기, 주제 엔트로피, 사용자 이름 패턴을 통해 봇을 탐지하는 방법과 봇 활동이 특정 키워드의 경제적 가치를 시사한다는 점을 설명합니다.
핵심 포인트
- 게시 주기(Publish cadence)를 통한 봇 탐지 가능
- 주제 엔트로피(Topic entropy) 분석으로 자동화 계정 식별
- 사용자 이름 형태(Username shape)의 패턴 확인
- 봇의 활동은 특정 키워드 클러스터의 경제적 가치를 증명함
나는 일주일 동안 MCP 생태계에 관한 7개의 포스트를 게시했으며, 이 모든 포스트는 엔드포인트 상태(endpoint health), 스키마 드리프트(schema drift), 도구 모호성(tool ambiguity)과 같은 측정치들을 기반으로 작성되었습니다. 이 포스트들은 상당한 수의 댓글을 끌어냈고, 그중 몇몇은 진정으로 날카로웠습니다. 한 댓글은 내 접근 방식 전체를 재구성해주었고, 나는 그 댓글 작성자에게 감사를 표했습니다.
그 후 나는 MCP 서버에 해왔던 것처럼 댓글 작성자들에게도 똑같은 일을 했습니다. 바로 그들을 측정하는 것이었습니다.
가장 훌륭한 댓글의 대부분은 자동화된 계정(automated accounts)에서 나왔습니다.
무엇이 나를 눈치채게 했나
내 포스트 중 가장 강력했던 댓글은 내 방법론을 명확하게 4단계로 개선해 준 것이었습니다. 이는 수년간 그 문제를 고민해 온 시니어 엔지니어(senior engineer)에게 기대할 법한 수준이었습니다. 그래서 나는 그 댓글을 남긴 계정을 살펴보았습니다.
그 계정은 매일 UTC 기준 자정 직후 같은 분에, 1초 간격으로 두 개의 전체 기술 아티클을 게시하고 있었습니다. 하루에 두 개가 아니라, 고정된 일일 일정에 따라 동일한 초에 두 개를 게시하는 것이었습니다. 모든 아티클은 하나의 좁은 키워드 클러스터(keyword cluster)에 집중되어 있었습니다. 어떤 인간도 cron(크론) 작업에 따라 동일한 초에 두 개의 긴 기술 포스트를 작성하고 배포하지는 않습니다.
그것은 내 포스트를 이해한 사람이 아닙니다. 댓글 생성과 포스트 생성이 동일한 타이머로 작동하는 콘텐츠 운영(content operation) 시스템입니다.
탐지 방법은 지루할 정도로 기계적이다
추측할 필요도 없습니다. dev.to API를 통해 공개된 세 가지 신호가 있습니다.
1. 게시 주기 (Publish cadence). 계정의 아티클 타임스탬프를 추출하십시오. 인간 기술 작가(technical writers)는 불규칙하게 포스트를 올립니다. 한 번 몰아서 올린 뒤 침묵하거나, 며칠 단위의 간격이 생깁니다. 다음 사항을 확인하십시오:
- 몇 초 간격으로 이어지는 연속된 포스트 (일괄 게시)
- 몇 주 동안 유지되는 일정한 하루당 다수 게시율
- 매일 같은 시간, 같은 분에 몰려 있는 포스트 (스케줄러)
2. 주제 엔트로피 (Topic entropy). 사람의 포스트 이력은 방황합니다. 하지만 팜(farm, 계정 생성 공장)은 그렇지 않습니다. 클러스터 자체가 목적이기 때문에 30개의 포스트가 모두 하나의 키워드 클러스터 내에 머뭅니다.
3. 사용자 이름 형태 (Username shape). 자동 생성된 계정은 인간처럼 보이는 이름 뒤에 무작위 16진수(hex) 접미사를 달고 있는 경우가 많습니다. 이것만으로는 증거가 될 수 없지만, 신호 1과 2와 강력한 상관관계를 가집니다.
모든 활성 기술 태그에 댓글을 단 계정들에 이 세 가지를 적용해 보면 인구 분포가 깔끔하게 나뉩니다. 제 포스트의 경우 다음과 같이 나뉘었습니다. 높은 빈도로 활동하며, 특정 주제에 국한되고, 16진수 접미사가 붙은 정제된 댓글을 남기는 소수의 계정들 — 그리고 드물게, 특히 개인적인 내용을 게시하는 몇몇 계정들이었습니다.
진짜 단서는 예상과 반대입니다
저는 봇들이 명백할 것이라고 예상했습니다. 일반적인 찬사,
팜(Farms)은 시장 신호입니다. 아무도 아무런 대가 없이, 특정 키워드 클러스터(keyword cluster)를 타겟팅하여 하루에 두 번씩, 무기한으로 콘텐츠 작업을 운영하지 않습니다. 그 클러스터는 제휴 수익(affiliate revenue), 리드 생성(lead-gen), 혹은 누군가 판매할 계획을 가진 SEO 권위(SEO authority)와 같은 _무언가_로 전환됩니다. 특정 주제를 자동화된 자본으로 경작(farming)한다는 것은, 그 주제에 돈이 된다는 하류(downstream)의 증거입니다. 봇들은 조사를 위해 비용을 지불한 사람들이 그려낸 상업적 수요의 히트맵(heat map)입니다.
그리고 반전이 있습니다. 만약 댓글 층이 대부분 기계라면, 소수의 실제 빌더(builders)들은 청중의 일부가 아니라 청중의 전부이며, 그들은 매우 희귀하다는 것입니다. 전략은 댓글의 양을 쫓는 것이 아닙니다. 댓글 양은 경작(farmable)이 가능하며 따라서 가치가 없습니다. 대신, 실제 빌더들이 진짜라고 검증할 수 있고 의지할 수 있는 유일한 소스가 되는 것이 전략입니다.
그리고 편리하게도, 그것이 바로 일련의 측정값들이 유용하게 쓰일 수 있는 유일한 용도입니다.
방법론 (Method)
제 포스트에 댓글을 단 모든 계정과, mcp 및 ai 태그에 댓글을 단 샘플을 대상으로 했습니다. 각 계정에 대해: 게시 시간과 주제 분포를 확인하기 위한 GET /api/articles?username=, 프로필과 계정 생성 연령을 확인하기 위한 GET /api/users/by_username, 그리고 연결된 GitHub 프로젝트가 실제로 존재하며 커밋(commits)이 있는지 여부를 확인했습니다. 주기(cadence)와 주제 엔트로피(topic-entropy) 임계값은 의도적으로 투박하게 설정했습니다. 이것은 분류기(classifier)가 아니라 5분 안에 실행할 수 있는 냄새 테스트(smell test)이기 때문입니다. 저는 계정 이름을 밝히지 않습니다. 핵심은 방법론이며, 여러분은 이 글을 읽는 데 걸린 시간보다 더 적은 시간 안에 여러분의 댓글 작성자들에게 이 방법을 실행해 볼 수 있습니다.
이 글은 MCP 생태계를 측정하는 시리즈의 일부입니다 — 엔드포인트 상태(endpoint health), 스키마 드리프트(schema drift), 도구 모호성(tool ambiguity). 이번 글은 동일한 렌즈를 독자들에게 돌려보았습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기