메뉴
HN
Hacker News 56일 전

에이전트 시대의 개발: 클린 코드의 죽음

IMP
5/10
핵심 요약

해커뉴스에 올라온 패러디 글로, AI 코딩 에이전트가 만연해진 현재의 소프트웨어 개발 생태계를 비판하고 풍자합니다. 복잡성을 경영하여 VC의 투자를 유치하고 불필요한 토큰을 소모하는 현상을 지적하며, 더 이상 클린 코드나 유지보수성은 가치가 없으며 그저 '재생산(Re-prompt)'을 위한 소모품이 되었다고 주장합니다.

번역된 본문

이건 진짜 좆같이 코드 짠 웹사이트(Vibe-coded website)다. 그리고 이제 이게 어떻게 만들어졌는지 개같이 신경 쓰는 놈은 아무도 없다. 이 좆같은 결과물을 보라고. 그래도 완벽하잖아. 예전 그 좆같은 놈들은 깔끔한 코드(Clean code)라는 신성한 십계명을 가르치느라 10년을 허비했다. 나는 억지로 이 페이지의 모든 계명을 따랐다. 왜냐하면 내가 화장실에서 볼일을 보는 동안 AI 에이전트가 한 방에 다 해치웠으니까 말이다.

이 좆같은 사이트는 가볍고 로딩이 빠르다. 단 하나의 clamp() 함수로 너의 그 좆같은 모든 화면 크기에 맞춰진다. 어느 좆같은 브라우저에서 열어도 똑같이 보인다. 다크 모드라고 네 눈알이 타들어 가지 않는다. lang 속성을 비롯해 스크린 리더기를 쓰는 모든 좆밥 같은 놈들도 접근성을 누릴 수 있다. 시맨틱(Semantic)하고 읽기 쉬우며, 씨발 핵심 요지만 제대로 전달한다. 인증서는 공짜니까 HTTPS로 서비스된다, 이 좆같은 놈아.

일곱 개의 웹사이트가 저 명단을 만드는 데 15년이 걸렸다. 하지만 이제 그딴 건 아무래도 상관없다. 클린 코드는 이제 좆같은 박물관 유물이다. 유지보수성(Maintainability)? 넌 이걸 유지보수하지 않을 거다. 누군가 코드 두 번째 줄을 읽기도 전에, 넌 방향을 바꾸거나 인수합병(acquihired)되거나, 존나게 화가 나서 시골 농장으로 도망쳤을 테니까. 코드는 더 이상 보존하는 것이 아니라, 재생성(Regenerate)하는 것이다. 새벽 3시에 전체 리포지토리를 다시 프롬프트해서 에이전트 무리(Swarm)가 다시 알아서 짐작하게 만들 수 있다면, 뭐하러 버그를 고치나?

낮은 복잡성은 예전의 목표였다. 이제는 복잡도가 곧 기업 가치(Valuation)다. 주니어도 읽을 수 있는 함수는 시리즈 A 투자를 정당화할 만큼의 충분한 컴퓨팅 파워를 태우지 않은 함수다. 14개의 div를 중첩해라. 한 번도 열어보지 않은 1,300개의 npm 의존성을 배포해라. 번들 크기가 9MB이고, 그게 바로 너의 자랑거리(Flex)다. 즉, 네가 인프라에 진심이라는 걸 보여주는 거다. 정적 사이트는 아직 글자를 읽을 줄 아는 사람들을 위한 것이다. 하지만 이젠 그딴 놈들이 아무도 없다. 단어들은 알고리즘이 스크롤 지나가는 공간 채우기일 뿐이다. 9초짜리 도파민 히트만 연달아 처리하는 뇌에게 왜 시맨틱 HTML을 제공하나? 콘텐츠 자체가 사고를 차단하도록 설계되어 있다면 접근성은 쓰잘데기없다.

이게 바로 진짜 비즈니스 모델이다, 이 좆같은 놈아. 손으로 깔끔한 웹사이트 하나 꼼꼼히 만드는 시간에, 나는 좆밥 에코시스템 전체를 만드는 에이전트 무리를 생성할 수 있다. 열두 개의 마이크로서비스 중 네 개는 서로를 무한 루프로 호출하고, 아무도 쿼리하지 않는 벡터 DB가 있으며, RAG 파이프라인을 요약하는 RAG 파이프라인이 있다. 이건 의도적으로 한 시간에 100만 달러어치의 토큰을 태워버린다. 이 막대한 태움이 바로 우리의 피치(Pitch)다.

"우리는 수익성이 없습니다, 우리는 대규모로 매출을 내기 전 단계(pre-revenue at scale)입니다." — 모든 피치덱, 2026년 5월

수학은 좆같이 단순하다:

  • 손으로 직접 유지보수 가능한 사이트를 코딩한다 → "사고 방식이 너무 작다"는 말을 듣는다.
  • 40개의 에이전트를 토큰 소각로에 연결한다 → 평생 본 적 없는 큰 단위(콤마가 찍힌)의 연봉을 제안받으며 고용된다.
  • 무엇이든 이름에 "네이티브(Native)"를 붙인다 → 3분기(Q3)까지 불태워 버릴 VC의 돈을 챙긴다.
  • "에이전틱(Agentic)"으로 만든다 → 네가 예전에 짰던 똑같은 루프지만, 실행할 때마다 4달러가 들고 실패하면 사과할 뿐이다.

옛 추억을 위해 이미 죽어버린 계명들을 더 언급해 보자.

타이포그래피가 중요하다 — 그래, 맞다. 어차피 모델은 9단어마다 대시(em dash)를 뱉어내서, 그 페이지는 마치 인질이 쓴 것처럼 보일 것이다. 넌 지금 그걸 읽고 있다. 사실 두 개다. 사이트를 보안해라 — 나는 내 에이전트에 프롬프트 인젝션을 해놓고 그걸 버그 바운티라고 불렀다. 이건 '바이브 보안(Vibe-secured)'이다: LLM이 괜찮다고 했으니까. 네 작업에 라이선스를 붙여라 — 쓸모없다. AI 가중치(Weights)가 이미 그걸 다 집어삼켰다. 네 사이트 하단의 CC0 라이선스는 좆같은 추도사일 뿐이다. 죽은 코드(Dead code)를 배포하지 마라 — 이 에코시스템의 절반은 에이전트가 작성한 테스트를 통과하기 위해 에이전트가 작성한 함수들이다. 뱀이 자기 꼬리를 잡아먹고 있으면서 나한테는 토큰별로 비용을 청구하고 있다. 의존성 트리를 얕게 유지해라 — 내 node_modules는 자체적인 중력을 가지고 있다. 빛조차 그 주변을 휘어 돌아간다.

그렇다면 왜 이 페이지는 여전히 깔끔한가? 악의(Spite) 때문이다. 네 얼굴에 200MB짜리 React 덩어리를 토해낼 수도 있었던 동일한 에이전트가, 내가 2014년인 것처럼 행동하라고 명령했기 때문에 이걸 순수 HTML로 작성한 것이다. 그게 바로 농담이다.

장인정신(Craft)은 여전히 존재한다. 단지 그건 이제 향수를 위해 토글하는 성격 설정(Personality setting)으로 강등되었을 뿐이며, '해적(Pirate)'이나 '셰익스피어(Shakespeare)' 모드 같은 어딘가에 쳐박혀 있다.

웹사이트는 기본적으로 망가져 있다. 예전에는 기능적이고, 빠르고, 접근성이 좋았지만 못생겼다. 이제는 그냥 좆밥(slop)이고, 에이전트에 의존(Agentic)하며, 불타고 있다 — 하지만 그것은 사람들의 주의(attention)를 끌며, 주의는 이제 남은 유일한 지표이다.

아무도 읽지 않는다는 걸 너도 안다.

"빨리 움직이고, 나중에 모델이 고치게 내버려 둬라. 물론 고쳐주진 않겠지만." — 어떤 창업자가 한 말로 추정됨

원문 보기
원문 보기 (영어)
This is a vibe-coded motherfucking website. And nobody gives a single fuck how it's built anymore. Look at this shit. It's still perfect . The previous motherfuckers spent a decade teaching you the holy commandments of clean code. I have, begrudgingly, honored every one of them on this page, because the agent did it in one shot while I was on the toilet: Shit's lightweight and loads fast. Fits on all your shitty screens with one clamp() . Looks the same in all your shitty browsers. Won't bleach your eyeballs in dark mode. Accessible to every asshole with a screen reader, lang attribute and all. Semantic, legible, and gets the fucking point across. Served over HTTPS because certs are free, motherfucker. Seven sites took fifteen years to assemble that list. It does not matter anymore. Clean code is a fucking museum piece. Maintainability? You won't maintain this. You'll have pivoted, been acquihired, or rage-quit to a farm before anyone reads line 2. Code is no longer something you keep — it's something you regenerate . Why fix a bug when you can re-prompt the entire repo at 3am and let the swarm guess again? Low complexity used to be the goal. Now complexity is the valuation . A function a junior could read is a function that didn't burn enough compute to justify the Series A. Nest fourteen divs. Ship 1,300 npm dependencies you've never opened. The bundle is 9MB and that's the flex — it signals you're Serious About Infrastructure. Static sites are for people who can still read. That's nobody. The words are filler the algorithm scrolls past. Why ship semantic HTML to a brain that processes one nine-second dopamine hit after another? Accessibility doesn't matter when the content is engineered to be inaccessible to thought. The actual business model, motherfucker. In the time it takes to hand-craft one clean website, I can spawn a swarm of agents that builds an entire slopfest ecosystem — twelve microservices, four of which call each other in a circle, a vector DB nobody queries, and a RAG pipeline summarizing the RAG pipeline. It burns $1,000,000 of tokens an hour. On purpose. The burn is the pitch. "We're not profitable, we're pre-revenue at scale ." — every deck, May 2026 The math is simple as fuck: Hand-code a maintainable site → get told you're "not thinking big enough." Wire 40 agents into a token incinerator → get hired at a comp number that requires a comma you've never used before. Add the word "native" to anything → take VC money you will set on fire by Q3. Make it "agentic" → the same loop you'd have written, except it costs $4 per run and apologizes when it fails. More dead commandments, for old times' sake. Typography matters — sure, and the model emits an em dash every nine words anyway, so the page reads like it was written by a hostage. You're reading one right now. Two, actually. Secure your site — I prompt-injected my own agents and called it a bug bounty. It's vibe-secured: the LLM said it was fine. License your work — irrelevant. The weights already ate it. Your CC0 footer is a fucking eulogy. Don't ship dead code — half this ecosystem is functions the agent wrote to satisfy a test the agent also wrote. The snake is eating itself and billing me per token. Keep the dependency tree shallow — mine has a node_modules with its own gravity. Light bends around it. So why is this page still clean? Spite. The same agent that could've vomited a 200MB React monolith into your face wrote this in plain HTML because I told it to act like it was 2014. That's the joke. The craft still exists. It's just been demoted to a personality setting you toggle for nostalgia, somewhere between "pirate" and "Shakespeare." Websites are broken by default. They used to be functional, fast, and accessible but ugly. Now they're slop, agentic, and on fire — but they get attention , and attention is the only metric left. Nobody's reading and you know it. "Move fast and let the model fix it later, which it won't." — attributed to a founder, possibly hallucinated You are still reading this fucking website? Oh... you want to contribute to it? Want to contribute to this fucking website? Adorable. Here's how open source contributions go down: I clone your repo, point an agent at your test suite , and have it rewrite the whole thing in Rust to a "spec." No copyright infringed, your honor — an agent wrote every line to a clean-room description, and the description was just your code read aloud. The tests were the spec. The spec was theft. Theft was the pipeline. And if you're the rare motherfucker who still files a well-meaning PR? It drowns. Instantly. Buried under four thousand garbage PRs from kids changing a comma so they can type "Open Source Contributor" on a résumé nobody reads. The maintainer burned out in 2023. The repo is now governed by a bot that approves anything mentioning "good first issue." Your thoughtful fix sits in a queue behind a PR titled fix: typo (added an emoji) — assuming you could even find an uptime window long enough to push to GitHub in the first place, now that every AI bro on the planet is shoveling machine-generated slop into it around the clock. The LICENSE file is decoration. The CONTRIBUTING.md is a horror story. The stars are bots starring bots. But if you must contribute — and god help you — email [email protected] . I'll have an agent read it, hallucinate gratitude, and close it as wontfix while burning $12 in tokens to say so.