인셔셔RSS 관심 있는 블로그, 뉴스, 기술 정보를 효율적으로 추적하고 읽으세요
원문 읽기 InertiaRSS에서 열기

추천 피드

Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
M
MIT News - Artificial intelligence
博客园 - 叶小钗
MyScale Blog
MyScale Blog
V
Visual Studio Blog
月光博客
月光博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
I
InfoQ
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
Jina AI
Jina AI
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI
雷峰网
雷峰网
Stack Overflow Blog
Stack Overflow Blog
博客园 - Franky

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python)
AI 생성된 풀 리퀘스트 12개월이 제 엔지니어링 팀에게 가르쳐준 것
Sonia Bobrik · 2026-05-25 · via DEV Community

2025년 초에 우리 플랫폼 팀이 모든 리포지토리에 AI 코딩 어시스턴트를 채택했을 때, 생산성 향상이 기대되었지만, 성공이 아닌 실패에서 가장 가치 있는 교훈을 얻게 될 줄은 예상하지 못했습니다. AI가 코드 작성에 중요한 역할을 했던 약 4,200개의 병합된 풀 리퀘스트를 검토한 후, 나타난 그림은 제가 읽었던 대부분의 마케팅 자료와 모순되었습니다. 이 기술 뒤에 있는 경제적 동력은 부정할 수 없으며,644억 달러의 AI 인프라에 대한 투자 실리콘 밸리와 그 이상으로 자본이 흐르는 방식을 변화시키고 있지만, 이러한 도구를 사용하여 생산 소프트웨어를 배송하는 일상적인 현실은 키노트 프레젠테이션에서 제시된 것보다 더 혼란스럽고, 더 상세하며, 결국 더 흥미롭습니다. 이것이 우리가 배운 것, 우리가 바꾼 것, 그리고 시작하기 전에 누군가가 알려줬으면 하는 것입니다.

생산성 숫자는 진실되지만 오해를 살짝 일으킵니다

내부적인 전파도에 따르면, 개별 개발자들이 AI 보조가 표준 관행이 되자 코드 라인 수로 26퍼센트에서 55퍼센트 더 많은 코드를 배포했습니다. 이것은 명백한 승리처럼 들리며, 좁은 맥락에서는 그렇습니다. 템플릿 생성, 테스트 자동화 도구, API 클라이언트 래퍼, 일상적인 리팩토링 모두 시간에서 분으로 축소되었습니다. 우리 팀의 초보 엔지니어가 이전 워크플로우에 따라 6주 걸리는 전통적인 ETL 파이프라인을 3일 안에 리팩토링했습니다.

하지만 코드 규모는 잘못된 지표였고, 우리는 거의 즉시 알았습니다. 네 번째 달까지 우리의 사건 발생률은 작년 대비 31% 증가했습니다. 롤백이 늘었고. 해결까지 걸리는 평균 시간이 길어졌습니다. 사후 분석을 더 깊이 파고들었을 때, 패턴이 나타났습니다: 회귀는 거의 AI가 생성한 코드 자체의 치명적인 버그가 아니었습니다. 그들은 미묘한 통합 실패, 모델이 알 수 없었던 경계 사례, 그리고 로컬에서 작동했지만 시스템의 다른 곳에서는 암묵적인 관례를 위반하는 제안을 수락하여 축적된 복잡성이었습니다.

METR에 의해 널리 유통된 연구에서 경험 많은 개발자들이 익숙한 코드베이스를 사용할 때 AI 보조 도구를 사용하면 실제로 19퍼센트 느렸다고 발견했습니다. 이는 그들이 20퍼센트 빠를 것이라고 믿었음에도 불구하고입니다. METR의 AI 개발자 생산성에 대한 무작위 대조 실험 결과는 녹색지역 작업을 성숙한 서비스의 유지보수에서 분리한 후 우리 자신의 데이터에서 관찰한 것과 일치합니다. 생산성 이야기는 전적으로 맥락에 따라 달라지며, AI가 빛나는 맥락은 대부분의 최고 엔지니어가 시간을 보내는 맥락이 아닙니다.

아무도 경고하지 않은 리뷰 병목 현상

AI 도입으로 강요된 단일 가장 큰 운영 변경 사항은 코드 리뷰의 완전한 재구조화였습니다. 개발자가 20분 안에 800줄의 합리적으로 보이는 코드를 작성할 수 있을 때, 병목 현상이 즉시 영구적으로 코드를 검토해야 하는 사람으로 이동합니다. 우리의 경험 많은 엔지니어들은 3개월 안에 피로 누적을 시작했습니다. 검토 대기열은 증가했고. PR은 며칠간 놓여 있었습니다. 사람들은 변화를 스탬프로 인정하기 시작했습니다. 부하가 신중한 검토를 불가능하게 만들었기 때문입니다.

우리는 결국 워크플로우를 반전시켜 이 문제를 해결했습니다. 지금부터 저자들은 AI 도움으로 이루어진 변경 사항을 5분 이하의 녹화 영상으로 리뷰어들에게 안내해야 하며, 코드가 무엇을 하는지, 왜 이 접근 방식을 선택했는지, 그리고 수동으로 어떤 것을 검증했는지 설명해야 합니다. 영상 요구 사항은 행정적인 것처럼 들리지만, 두 가지 일을 성취했습니다. 저자들에게 생성한 코드를 실제로 이해하게 만들었고, 위험한 지식 격차를 해소했습니다. 또한 리뷰어들에게 시간을 존중하는 출발점을 제공했습니다. 리뷰 속도는 6주 안에 회복했고, 병합된 코드의 품질은 측정 가능한 수준으로 향상되었습니다.

실제로 작동하는 것은 무엇인가

연구실 실험 한 해 후, 몇 가지 관행이 AI 도구의 혜택을 받는 팀과 그 출력에 빠져드는 팀을 분리했습니다. 이 중 하나도 혁신적인 것은 아니지만, 이를 일관되게 적용하는 데 필요한 규율이 결국 차별자가 되었습니다.

생성 전에 엄격한 사양이 더 중요하며 프롬프트 엔지니어링 기교보다. 도움말을 호출하기 전에 상세한 수용 기준, 타입 서명, 예제 입력을 작성한 엔지니어들은 자연어로 의도를 설명한 엔지니어들보다 훨씬 나은 결과를 얻었습니다. 모델은 직설적인 파트너입니다. 모호한 지시를 주면 모호한 코드를 생성하며, 종종 자신감 있게 말합니다.

단위 테스트를 먼저 작성하는 워크플로우는 중요하지 않은 변경 사항에 대해서는 필수적이 되었습니다. 구현을 생성하기 전에 테스트를 작성하는 것은 타입 시스템이 혼자 해낸 일을 이루었습니다: 탐색 공간을 제한하고 출력이 올바른지에 대한 객관적인 신호를 제공합니다. 이 단계를 건너뛴 팀들은 생산 환경에서 조용히 실패하는 가능성 있는 코드를 디버깅하게 되었습니다.

아키텍처 경계에서의 인공지능 보조와 의무적인 인간 검사를 연결하여 불일치하는 시스템 설계로의 느린 이동을 방지했습니다. 우리는 서비스 경계를 넘어가는 코드를 작성하거나 새로운 공개 API를 정의하거나 인증 또는 권한 부여 논리를 수정하는 경우에만 사람이 코드를 작성하도록 요구합니다. 이 지역에서는 모델이 제안할 수 있지만 작성할 수는 없습니다. 이 규칙만으로도 이것 없이 출시될 수 있었던 몇 가지 근접 사고를 방지했습니다.

관찰성 투자는 몇 번을 넘어서도 자신을 돌려받았다. 당신이 저장소의 모든 코드 라인의 출처를 완전히 신뢰할 수 없을 때, 생산 환경에서 문제를 빠르게 감지할 수 있어야 한다. 연도의 두 번째 절반 동안 추적, 구조화된 로깅, 알림에 대한 지출을 두 배로 늘렸다. 비용은 상당했다. 그렇지 않았을 경우 비용은 재앙이었을 것이다.

갑자기 더 가치 있는 기술들

한 해 동안 우리 팀이 적응하는 과정을 관찰하며 AI 지원 환경에서 어떤 공학 기술이 증폭되고 어떤 기술이 감소하는지 밝혀졌습니다. 이는 강력한 개발자가 되는 데 무엇이 중요한지에 대한 오랜 가설을 뒤집었습니다.

코드를 신중하고 빠르게 읽는 것이 팀에서 가장 가치 있는 기술이 되었습니다. 300줄의 차이를 스캔하고 의심스러운 블록을 두 개 식별할 수 있는 엔지니어들은 테스트에만 의존하여 문제를 포착하는 엔지니어들보다 10배 더 생산적이었습니다. 디버깅 기술도 가치를 얻었는데, AI가 생성한 버그는 표준 문제 해결 힌트에 저항하는 낯선 형태로 나타나기 때문입니다.

시스템 설계와 아키텍처 판단은 더욱 중요해졌습니다. 이 모델은 요청하는 개별 구성 요소를 생성할 수 있지만, 실제로 시스템에 필요한 구성 요소는 무엇인지, 어떻게 상호작용해야 하는지, 또 어떤 트레이드오프가 결정할 가치가 있는지 알 수 없습니다. 번성했던 공학자들은 시스템 전체를 머릿속에 들고 있을 수 있었던 사람들이었고, 이는 AI를 일관된 전체에 맞는 구현 방향으로 인도할 수 있었습니다.

반대로, API 문법을 기억하거나 프레임워크 식어들을 외우거나, 템플릿을 빠르게 입력하는 능력은 어제부턴 거의 가치 없게 되었습니다. 이러한 기술을 통해 자신의 정체성을 구축한 엔지니어들은 가장 어려운 적응을 해야 했습니다. 소프트웨어 구축의 실제 작업과는 별개로 이러한 것들을 여겼던 엔지니어들은 변화를 거의 느끼지 못했습니다.

내 과거의 나에게 말하곤 했을 일

만약 2025년 1월에 이러한 도구를 출시하고 있던 나의 버전에게 하나의 메시지를 보낼 수 있다면 그것은 이것이겠지: 기술은 어렵지 않다. 어려운 부분은 근본적으로 다른 생산 기능을 중심으로 팀의 검토 프로세스, 품질 기준, 기술 개발 경로를 재건하는 것이다. 이 전환에서 이긴 팀은 최고의 모델이나 가장 교활한 프롬프트를 가진 팀이 아니다. AI 보조를 진지한 조직적 변화로 취급하고 적절히 투자하는 팀이다. 다른 모든 사람들은 모두 완전히 이해하지 못하는 코드를 더 출시하고, 전통적인 리팩토링으로 갚을 수 없는 종류의 부채를 축적하며, 가장 나쁜 순간에 중요한 것이 깨졌을 때 비용을 발견한다.