코드가 얼마나 나빠질 수 있는지에는 한계가 없다
방치된 코드베이스에 대한 끈질긴 비유가 있습니다: 침몰하는 배. 그것은 결국 끝이 있음을 암시합니다 — 물이 갑판에 닿고 모두가 버리는 지점. 하지만 그것은 오해를 불러일으킵니다. Zach Kehs가 그의 에세이 나쁜 코드에는 한계가 없다에서 주장하듯이, 물리적인 배와 달리 소프트웨어 시스템에는 본질적인 구조적 한계가 없습니다. 끝없이 복잡성을 추가할 수 있습니다. 그것은 무너지지 않을 것입니다. 단지 느려지고, 변경하기 어려워지고, 작업하기 더 고통스러워질 뿐입니다.
아마존의 실제 사례
Kehs는 아마존에서 주문 처리 팀에 있었던 10년 전의 경험을 설명합니다. 시스템의 핵심 기능 — 데이터베이스에 쓰고 다른 서비스를 호출하는 — 은 24명의 엔지니어가 유지 관리할 수 있어야 했습니다. 그러나 조직에는 수백 명의 사람들이 있었습니다. 엔지니어가 떠나면서 제도적 지식이 침식되어 코드에 '유령이 출몰하는 묘지'가 남았습니다. 비즈니스 규칙은 종종 문서화되지 않았고, 시스템은 팀 경계를 넘나들어 추적이 불가능했습니다.
몇 년마다 새로운 시니어 채용자가 재아키텍처를 시도했습니다. 항상 실패했습니다. 시스템은 완전히 이해하기에 너무 복잡했고, 성급한 승진 주기는 불완전한 정보로 설계된 수정을 의미했습니다. 결과: 아키텍처에 접목된 새로운 레이어, 결코 사라지지 않는 인원 증가, 그리고 반복되는 사이클.
비유가 왜 무너지는가
저자의 핵심 통찰: 사업은 침몰할 수 있지만 — 소프트웨어 자체는 그렇지 않습니다. 코드는 항상 더 나빠질 수 있습니다. 항상 또 다른 간접 레이어, 또 다른 성능 저하가 있습니다. 그러나 아이러니하게도, 코드가 어떤 종류의 '바닥'에 도달하기 전에 사업이 죽는 경우가 많습니다.
레거시 시스템을 다루는 개발자에게 얻을 수 있는 교훈은 '침몰하는 배'가 거짓된 위안을 준다는 것입니다. 상황이 마법처럼 리셋되는 돌아올 수 없는 지점은 없습니다. 그러한 시스템에 있다면, 침몰하기를 기다리는 것이 아니라, 변경 비용이 현상 유지 비용보다 크다는 결정을 누군가가 내리기를 기다리는 것입니다.
대규모 조직에서 기술 부채의 메커니즘에 대한 더 깊은 성찰을 위해 전체 에세이를 읽어보세요.
📖 전체 소스 읽기: HN AI Agents
👀 See Also

클로드 코드의 약 12K 토큰 강제 시스템 프롬프트 분석 결과, 사용자 구성을 무시하는 우선순위 규칙 발견
Anthropic이 모든 Claude Code 턴에 주입하는 ~12K 토큰 시스템 프롬프트를 분석한 결과, 노래 가사 금지, 서브에이전트 위임, 간결성에 대한 우선 규칙이 사용자 정의 CLAUDE.md 및 메모리 파일을 무시하는 것으로 나타났습니다.
Claude Code v2.1.236: 새로운 기본 모델 환경 변수, 샌드박스 수정 및 기타 개선 사항
Claude Code v2.1.236은 새 세션의 모델을 설정하는 ANTHROPIC_DEFAULT_MODEL을 추가하고, 세션 간 메시징을 위한 notify_when_idle을 도입하며, macOS 샌드박스 읽기 거부 규칙을 강화합니다.

AI 코딩 에이전트는 대규모 코드베이스에서 컨텍스트 관리에 어려움을 겪습니다
AI 코딩 에이전트 분석에 따르면, 코드 작성 전에 경로 검색(grep) 및 미들웨어 읽기와 같은 오리엔테이션 작업에 15~20회의 도구 호출을 소모하여 컨텍스트 윈도우를 빠르게 소진합니다. Vercel은 도구의 80%를 제거하고 bash를 사용하여 100% 정확도를 달성했으며, Pi는 단 4개의 도구와 1,000 토큰 미만의 시스템 프롬프트만을 사용합니다.

남아프리카 공화국 내무부 공무원 2명, 정책 보고서 AI 환각 문제로 정직
남아프리카공화국 내무부는 시민권, 이민, 난민 보호에 관한 개정 백서의 참고문헌 목록에서 AI 환각 현상이 발견된 후 두 명의 관리를 정직했습니다. 부서는 AI 검사를 시행하고 2022년 11월 이후의 모든 정책 문서를 검토할 예정입니다.