에이전트에게 TDD·형식 기법을 지시해도 Zstd 구현 정확도가 일관되게 좋아지지는 않는지 비교

에이전트에게 TDD·형식 기법을 지시해도 Zstd 구현 정확도가 일관되게 좋아지지는 않는지 비교

  • Dan Luu는 Rust Zstd 구현 평가에서 기본 지시와 TDD, Lean 4, QuickCheck, fuzzing 등 26개 프롬프트 조건을 비교해, 테스트·검증 기법 지시가 구현 정확도를 높이는지 측정함
  • 각 조건과 effort마다 평균 80회 실행을 수행했고, 비용을 x축으로 두고 숨은 테스트를 100% 통과한 실행 비율을 y축으로 비교함
  • 평가에는 ACL2·Alloy·TLA+·Verus 같은 형식 기법, differential·metamorphic·mutation testing, property-based testing과 Rust 테스트 프레임워크가 포함됨
  • Hegel 공식 skill, 별 25만 개·fork 3만 8천 개인 ECC Rust test skill, Trail of Bits property-test skill, 저자 작성 skill까지 4개 skill도 별도 조건으로 시험함
  • 저자는 사전 예측에서 TDD와 형식 기법이 과도하게 잘 나오지 않고, "Make no mistakes"와 ECC·Hegel·Trail of Bits skill도 기본 지시를 넘지 못할 것으로 봄

Hacker News opinions

벤치마크만 계속 던지는데 모델은 시스템의 한 부분일 뿐임. 하니스도 조율해야 하고, 조율하다 보면 전에 통과했던 기능을 잃을 수도 있음.

글에서 말한 mutation testing은 에이전트가 코드를 손으로 바꿔 테스트 실패를 확인하는 방식처럼 보임. mutation-testing 프레임워크를 붙이고 일정 비율의 mutation을 죽이지 못하면 빌드를 실패시켜야 에이전트가 절차를 무시할 여지가 없음.

자동화하고 게이트로 막아도 에이전트가 다른 방식으로 지표를 속일 가능성은 있지 않을까?

오늘 실제로 수정 코드와 mutation 코드 양쪽에서 통과한 에이전트 작성 테스트를 봤는데, 게이트만 그걸 잡았음. 비율 기준이 아니라 mutation 하나라도 살아남으면 실패시켜야 한다고 봄.

이 실험은 테스트 방식과 코드 아키텍처를 떼어놓고 봐서 별로 유용하지 않다고 생각함. 효과적인 테스트의 80% 이상은 프레임워크가 아니라 구조에서 나오고, 나는 DI나 헥사고날 구조와 간단한 커버리지 검사를 강제하면 적은 노력으로도 결과가 좋아졌음.

같은 에이전트가 테스트 지시를 받고 구현까지 했으니 코드 구조에 외부 제약이 있던 건 아니라고 읽었음. 테스트 전략을 알고 있는 상태에서 구조도 만들게 한 셈임.

테스트는 구조가 아니라 행위를 검증해야 한다고 봄. Redis 같은 의존성을 테스트마다 몽키패치하기보다 composition root에서 fake로 바꾸는 편이 유지보수하기 낫다고 생각함.

Verus, TLA+, Creusot, Lean 코퍼스는 일반 코드보다 너무 작으니 에이전트가 사소한 증명 이상을 하기 어려운 결과는 납득감. 사람이 비자명한 시스템의 liveness 같은 고수준 명세를 쓰고, 에이전트가 guided refinement로 구현을 만족시키는지 보는 쪽이 더 흥미로움.

형식 기법의 재미는 부분 명세로 LLM에 원하는 바를 적고, 일반 구현에 증명 작업을 더해 의도가 실현됐는지 확인하는 데 있음. 도구 이름만 프롬프트에 던져서 정확도가 오르길 기대하는 건 원래 잘 안 될 것 같았음.

모델은 한 줄 주석을 바꿔도 lint와 수천 개 단위·통합 테스트를 전부 돌리고 싶어함. 비싼 테스트는 가설이 있을 때만, 변경 부근부터 넓혀가며 돌리라고 규칙을 계속 써도 잘 안 지켜서 잘못된 테스트 실행을 막는 결정적 hook까지 만들게 됨.

에이전트가 테스트를 꽤 잘한다고 생각했는데, 내가 테스트를 거의 리뷰하지 않았기 때문일 수도 있음. 최근에는 assert(CONSTANT_CONFIG == valueOfConfig)나 프롬프트에 저장소 URL 문자열이 있는지만 확인하는 테스트를 많이 봤음.

결과가 보여주는 건 추가 테스트 프롬프트의 오류율 차이가 크고, 최악은 최선보다 오류율이 두 배라는 점임. 그런데 기본 프롬프트도 꽤 괜찮고, 맞춤 프롬프트 대부분은 지시를 안 주는 것보다 나빠 보임.

에이전트는 종종 사람이 놓치는 edge case를 더 떠올리지만, 특정 skill을 주면 업무 로직을 잊고 기계적으로 변함. Superpowers로 TDD를 강제하면 Send 버튼 존재 여부 같은 저가치 테스트부터 채우고, 전송 허용 조건이나 성공·실패 뒤 동작, 중복 제출 같은 행위는 잘 끌어내지 못하더라.

해커뉴스
ERSC, Git 프로토콜은 유지하고 자체 스토리지 엔진으로 차세대 VCS를 만들겠다고 주장구글, Alt+Space로 호출하는 Windows용 Gemini 데스크톱 앱 출시로컬 Qwen 27B에서 코딩 하네스 9종 비교, OpenCode 첫 응답 226초·Chad 26초90분 중강도 사이클링과 6회 30초 전력질주, 일부 심대사 바이오마커 변화가 비슷YuE2, 기호 악보를 먼저 만들고 보컬·반주로 렌더링하는 음악 생성 모델 공개System76, GPU 메모리 최대 192GB의 Thelio Mira AI 리눅스 워크스테이션 공개NTSB, 마이애미 767 활주로 이탈 사고서 158노트 접지 뒤 4초 만의 복행 중단 기록 공개라즈베리 파이 카메라가 pHash 서명을 이미지 워터마크에 숨겨 압축 뒤에도 촬영 증명을 남기는 오픈소스 프로젝트멕시코 16세 학생, 30Hz 음파로 촛불을 5-8초 만에 끈다는 소화기 제작Astra에 40억 토큰과 35시간을 맡긴 개발자, "가치 있는 결과물은 없었다"WebGPU 무한 셰이더가 macOS WindowServer를 멈춰 강제 재시작 유발Anthropic, 8개월간 Claude 악용 7개 분야 차단 사례 공개OpenAI, Codex 하네스를 세션·오케스트레이션·샌드박스까지 관리하는 Agents API로 공개OpenAI, 나비에-스토크스 166쪽 증명과 Lean 4 형식 증명 함께 공개더글러스 호프스태터 스탠퍼드 강연, 유추를 인지와 범주화의 중심으로 설명Forgejo 16.0.3 이하, 악성 템플릿으로 호스트 데이터 탈취·원격 코드 실행 가능보고서: 미 국방·정보기관의 공개 기술기업 계약 상한, 2019-2022년 최소 $530억로버트 허친슨의 무료 온라인 음악 이론 교재, 현대성·표기법·범위 놓고 HN 토론NASA 위성영상 색상 알고리즘, 앙코르와트의 희미한 벽화 약 200점 발견에 사용10년 묵은 케이블 두 개를 찾은 뒤, 가족 케이블 상자에 '버리지 말라'는 글을 붙인 개발자Magic, 공개 베이스 모델 대비 사전학습 FLOPs 효율 10배 이상 주장NASA 위성영상 색 보정 기법, DStretch로 희미한 고대 암각화 드러내PlanetScale, 실제 PostgreSQL 샤드와 라우터로 구성한 Neki 플랫폼 프리뷰 공개소프트웨어의 숨은 변경 비용과 끝없는 선택지가 조직을 과열시킨다는 주장Cognition, Kimi K3 후학습 SWE-2 공개… FrontierCode 50.0%, Fable 5.1보다 64% 저렴 주장히타치, 태양광 잉여 전력용 주간 요금제 대응 CO2 히트펌프 급탕기 출시소니, 플레이스테이션 디지털 게임의 '구매' 표기와 취소 가능한 라이선스를 둘러싼 캘리포니아 소송수학자 Thom, OpenAI의 비공개 수학 대화 데이터 처리 설명에 신뢰 문제 제기마이크로소프트, Rust를 내부 Tier-1 언어로 지정하고 MSVC용 rustc 코드생성 백엔드 운용Shopify, 코딩 에이전트 비용 변화로 React Native에서 Swift·Kotlin 네이티브로 전환아드먼, 창립 50주년 맞아 월리스와 그로밋 원본 인형 등 약 250점 경매스톡피시 19, 18 대비 최대 44 Elo 상승하고 범용 CPU 바이너리로 전환메타를 떠난 IT 종사자, 인터넷이 연결보다 관리 부담과 착취가 됐다고 비판개인 개발자가 8× B200으로 3.8B LLM을 43시간·998달러에 학습해 CORE 0.384 기록미국 스트리밍 9종 묶음, 2021년 3월 대비 월 61% 올라 연 $702 증가유리수 전처리로 9차 다항식 평가를 곱셈 8회에서 5회로 줄인 인터랙티브 데모Windows XP의 첫 사용자 그림, GetTickCount 시드와 리저버 샘플링으로 골랐다테런스 타오: 목표만 푸는 AI가 수학의 우회와 탐색을 지울 수 있다DeepSeek, 552B MoE V4.1-Flash 출시하고 V4-Pro 요청을 새 모델로 전환 예정리비안, 프레임 간 객체 추적으로 완전자율주행 겨냥하고 월 49.99달러 책정UN, 메르카토르 대신 등적 Equal Earth 지도 권고안 164 대 1로 채택Cognition, Devin으로 GPU GNFS 구현해 RSA-260 인수분해. RSA-1024 비용 약 $3천만 추정정적 타입 언어 Bespoke, 컴파일러에 정중한 문장으로 요청해야 코드가 되는 풍자Planet Labs 공개 궤도 데이터와 DuckDB로 97기 위성군을 추적한 재현 가능한 분석블리자드 직원 1,900명, AI 대체 사전협의·해고 후 14개월 재고용권 담은 노조 계약 비준광속을 시속 5km로 낮춘 가상 공원에서 상대론 효과를 직접 조작하는 Show HNAutomattic 이사회, 매트 뮬런웨그를 유급 휴직 처리하고 CFO를 임시 CEO로 선임Read the Docs, 분당 550만 요청 DDoS에 캐시 미스 404·302 집중 공격Qwen3.8, GPT-5.5 Pro 추론 1% 접두사에 답변 중복률 18.18%p 상승IEEE Spectrum 자율주행 안전 기사 본문 누락, HN은 ADAS 과신과 안전 검증 기준을 논쟁Anthropic, AI 성능·채택률로 2030년 미국 GDP·고용을 계산하는 경제 시나리오 공개GNU Radio DSP와 Qt GUI를 WebAssembly로 컴파일해 브라우저에서 SDR 플로우그래프 실행Apple Watch Series 12, 고빈도 HRV 측정과 준비도 점수 도입애플, 가변 조리개 48MP 카메라와 A20 Pro 탑재 iPhone 18 Pro 공개No Man's Sky 7.0 'Cosmos', 우주 정거장 운영·연합·심우주 인양 추가비자와 마스터카드는 카드 발급사가 아니라 승인·정산·분쟁 규칙을 운영하는 결제망GPT-6 Astra의 루프드 트랜스포머, CoT를 감추는 구조인가애플, 오픈형 ANC를 강화한 AirPods 5를 $129에 발표애플 첫 폴더블 iPhone Duo 공개, 10월 16일 예약 시작하고 $1,999부터 판매클라우드플레어 초기 구조를 설계한 공동창업자 리 할로웨이의 전기 1부뉴요커의 1990년 풍자 법정문: 와일 E. 코요테가 Acme에 85건의 제품 책임 소송 제기Lotus Notes: 1989년 이메일 기능보다 먼저 복제형 협업 데이터베이스를 만든 플랫폼OpenAI, GPT-5.6 Sol로 6큐비트 칩 보정 측정 자동 실행 사례 공개OpenAI, 1만 AI 에이전트로 나비에-스토크스 반례 주장…연구자 공로·사용 데이터 논란데저트 앤트, iPhone에서 300배 실시간 전사 내세운 온디바이스 모델 18종 공개구글 광고가 RACE를 악성 소프트웨어로 정지시켰다가 HN 노출 뒤 복구딥시크, V4.1 Flash 출시 뒤 Pro 요청까지 Flash 요금으로 전환 예고Tailwind Labs, Shopify 합류하고 Tailwind Plus 신규 가입 중단"장바구니에 담기" 버튼만 파랗게 바꾸라며 Claude의 과잉 작업을 풍자한 체험 사이트빈 프롬프트가 가리는 AI 활용 가능성, 저자는 이를 발견 문제로 규정조슈아 갠스, AI를 '예측의 가격'으로 보는 미시경제학 오픈 액세스 책 출간10명 에이전트가 모노레포 계획 파일을 블랙보드처럼 써 항공 운항 장애 시스템을 4일 만에 구현미 법원, X의 TWITTER 표장은 유지하되 TWEET·새 로고는 포기 가능성 인정27.5KB WebGPU 모델로 문법 없이 75개 언어 소스에 하이라이트주곡률 해칭과 숨은선 처리를 조절하며 위상 곡면을 판화처럼 그리는 인터랙티브 웹 앱나무는 중력·빛 없이도 줄기 휨을 감지해 장력목으로 스스로 곧게 편다Plush 인터프리터, Rust enum을 64비트 태그 값으로 바꿔 17% 가속GrapheneOS의 저작권 폐지 주장에 HN, GPL 보호와 보호기간 단축을 두고 충돌OpenAI, 생성 지연 최대 50% 줄인 ChatGPT Images 2.5 발표ICML 논문: LLM은 무작위 결과를 반복 학습하며 가상 집단에도 새 사회적 편향을 만든다Inception, 초당 1,107토큰·260K 컨텍스트의 확산 LLM Mercury 2.5 출시브라우저에서 6억 파라미터 LLM의 토큰별 어텐션 합산값을 즉시 시각화하는 데모ESP32-C3 전자잉크 리더를 IPP 프린터로 만들어 맥의 인쇄 메뉴에서 직접 출력CH-53 블레이드 균열을 Sr-90 차폐막으로 비행 중 감시한 IBIS테런스 타오 "AI가 유망한 미해결 문제를 소진시켜 공개 연구를 위축시킬 수 있다"M5 Max 맥북 프로에서 SSD 4개로 Kimi K3 2.8T를 초당 1토큰 추론Qwen3.8 27B, 17GB 4비트 양자화가 Terminal-Bench에서 BF16과 동점코딩 에이전트의 장문 답변을 줄이는 'i-have-adhd' 스킬, GitHub 스타 2.88만 기록Copperhead, KiCad 설계를 에이전트 단계와 ERC·DRC 게이트로 관리하는 오픈소스 하드웨어 플랫폼 공개파라마운트, 워너브러더스 합병 반대 소송에 문자 동원 단체 활용 의혹미 국경순찰대 PITT, 금융 활동 분석 뒤 범죄 혐의 없는 운전자를 지방경찰에 넘겨 정차시켜Gamers Nexus: LG OLED TV, 인터넷을 끊고 대기 상태여도 음성 저장과 주변 Wi-Fi 정보 수집DaVinci Resolve 21.1, Claude·Codex 연동으로 미디어 정리와 일괄 렌더링 지원DeepMind, 인간 유전체의 90억 단일 염기 변이 예측값을 담은 1PB Atlas 공개OpenAI, 내부 AI가 나비에-스토크스 유한시간 특이점 증명했다고 발표LLM 도움 받은 Euler 발산 결과 공개, OpenAI 공로 주장 논란 제기Firefox만의 문제 아닌 reCAPTCHA 무한 루프, archive.is 설정과 Enterprise 할당량도 거론TradingAgents, 별 10.3만 개 속 실거래 성과 검증과 코드 결함 지적IE 조건부 주석부터 GeoURL까지, 웹 페이지에 남은 HTML 잔재 정리에이전트에게 TDD·형식 기법을 지시해도 Zstd 구현 정확도가 일관되게 좋아지지는 않는지 비교