HN Jev Sorter는 Hacker News 댓글을 사용자가 정한 범주별로 실시간 분류하는 Chrome 확장 프로그램이다. ‘다른 사람이 여론 조작을 한다고 비난’, ‘과대평가됐다’, ‘주제에서 벗어남’ 같은 기본 범주를 고르거나 직접 만들 수 있다. 실행하면 댓글이 해당 범주로 이동하고, 범주에 마우스를 올려 분류된 댓글을 읽을 수 있다.
분류에는 TypeSafe의 의사결정 모델 Jev를 사용한다. 제작자에 따르면 댓글 하나를 처리하는 데 약 300ms가 걸린다.
설치와 API 키 설정
저장소를 ZIP으로 내려받아 압축을 풀거나 다음 명령으로 복제한다.
git clone https://github.com/ritza-co/hn-jev-sorter.git
Chrome에서 chrome://extensions를 열고 개발자 모드를 켠 뒤, ‘압축해제된 확장 프로그램을 로드’를 눌러 hn-jev-sorter 폴더를 선택한다. 설치 후 도구 모음의 퍼즐 조각 메뉴에서 HN Jev Sorter 옆 핀 아이콘을 눌러 고정할 수 있다. Chrome 외에도 Edge, Brave, Arc 등 Chromium 기반 브라우저에서 작동한다.
사용하려면 TypeSafe 콘솔에서 Jev API 키를 발급받아야 한다. 설치 시 열리는 설정 페이지에 키를 붙여 넣고 저장하면 된다. 확장 프로그램은 키 확인을 위해 작은 요청을 한 번 보내고, 키를 Chrome의 로컬 확장 프로그램 저장소에 보관한다. 키는 api.typesafe.ai에만 전송된다. 설정을 건너뛰면 스레드에서 확장 프로그램을 처음 열 때 키를 요청한다. 나중에 분류 도구 모음의 API key를 눌러 키를 변경하거나 삭제할 수 있으며, chrome://extensions → HN Jev Sorter → Details → Extension options에서도 설정 페이지를 다시 열 수 있다.
댓글 분류와 범주 편집
Hacker News 댓글 페이지를 열고 확장 프로그램 아이콘을 누르면 페이지 상단에 범주 도구 모음이 나타난다. 다시 아이콘을 누르면 숨겨진다. Run을 누르면 분류가 시작된다.
- 댓글은 스레드 순서대로 분류되며, 페이지에 범주와 Jev의 확률을 표시하는 색상 라벨이 붙는다. 예를 들면
It's overhyped · 97%와 같다. - Follow를 켜면 분류 진행에 맞춰 페이지가 스크롤된다. 직접 스크롤하면 Follow가 꺼진다. Stop을 누르면 실행을 취소한다.
- 실행이 끝난 뒤 범주에 마우스를 올리면 해당 댓글이 Jev의 확률순으로 표시된다. 범주를 클릭하면 목록을 계속 열어 둘 수 있고, 목록의 댓글을 클릭하면 스레드에서 해당 댓글로 이동한다.
Edit buckets를 눌러 범주 이름과 설명을 바꾸거나 범주를 추가·삭제할 수 있다. 범주는 최대 12개까지 만들 수 있다. Jev는 이름뿐 아니라 설명도 읽으므로, 어떤 댓글을 포함할지 설명에 적어야 한다. ‘기타’ 범주는 항상 포함돼 맞지 않는 댓글을 억지로 다른 범주에 넣지 않도록 한다. Reset to suggestions를 누르면 기본 범주로 되돌아가며, 사용자가 만든 범주는 브라우저에 저장된다.
기본 범주는 여론 조작 비난, 과대평가, 주제에서 벗어남이다. 예를 들어 여론 조작 비난 범주의 설명은 회사나 다른 댓글 작성자, 투표를 홍보 계정·봇·유료 마케팅·여론 조작이라고 비난하는 댓글을 포함한다고 정한다.
분류 방식과 비용
확장 프로그램은 댓글마다 Jev에 Choice 질문을 하나 보낸다. 범주가 선택지 역할을 하며, Jev는 선택된 범주와 모든 범주의 확률을 반환한다. 확장 프로그램은 백그라운드 서비스 워커에서 한 번에 요청 6개를 보내고, 답변이 도착하는 대로 애니메이션을 재생한다.
{
"model": "jev-latest",
"state": "Hacker News thread: \"Typesafe AI raises $870M at $7.5B\" (typesafe.ai).",
"questions": {
"bucket": {
"type": "choice",
"instructions": {
"question": "Which category best describes what this Hacker News comment is doing?",
"replying_to": "<parent comment, if any>",
"comment": "<the comment>"
},
"criteria": {
"astroturfing_accusations": "Accuses the company, other commenters, or the votes of being shills, bots, paid marketing, or astroturfing",
"it_s_overhyped": "Says it is hype, a bubble, overvalued, or will not live up to the claims",
"other": "None of the other categories fit"
}
}
}
}
각 댓글은 약 800토큰을 사용한다. 댓글 140개가 있는 스레드에서는 약 115,000토큰이 소요되며, 실행 중 토큰 사용량은 분류 도구 모음에 표시된다.
개인정보와 저장소 구성
댓글 내용, 부모 댓글, 스레드 제목이 TypeSafe API로 전송된다. 제작자는 그 밖의 정보는 브라우저 밖으로 나가지 않으며 확장 프로그램은 news.ycombinator.com에서만 작동한다고 설명한다.
저장소에는 범주 도구 모음과 애니메이션, 목록, 편집기를 담당하는 content.js, TypeSafe API를 호출하고 키를 확인하는 background.js, 설정 페이지를 구성하는 options.html과 options.js가 포함돼 있다. 빌드 단계는 없으며, 파일을 수정한 뒤 chrome://extensions에서 확장 프로그램을 다시 불러오면 된다.
라이선스는 MIT다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요