코딩은 해결된 문제가 아니다

6 hours ago 2

AI가 코드 생성 비용을 낮췄다고 해서 소프트웨어 개발이 해결된 것은 아님. 실제 운영 비용의 큰 부분은 유지보수, 신뢰성, 보안, 확장성에 있으며, 기능 요구사항 충족도 여전히 검증이 필요함 LLM의 코딩 능력은 하네스와 피드백 루프에 크게 의존함. 구문 오류와 실행 오류를 되먹임하고 테스트를 반복해도 논리적 한계, 긴 입력에서의 정확도 저하, 비결정적 출력 문제가 남음 위험 허용도가 낮은 소프트웨어에서는 이해와 책임을 코드 생성에 맡길 수 없음. AI가 설명을 제공할 수는 있어도 엔지니어를 대신해 이해하거나 장애의 결과를 책임질 수는 없음 생산성은 코드 줄 수나 PR 수, 토큰 사용량보다 서비스 수준과 사업 가치로 판단해야 함. 빠른 생성이 검토와 장애 분석 비용까지 줄였는지, 고객이 실제로 더 나은 서비스를 받는지가 중요함 AI는 소프트웨어 제작의 경제성을 바꾸지만, 품질과 SLA는 여전히 유료 서비스의 가치를 뒷받침함. 엔지니어에게 필요한 것은 AI 자체를 거부하는 일이 아니라, 도구 위에 이해와 검증, 책임 있는 문제 해결을 더하는 일임 코드 생성과 운영 가능한 소프트웨어의 차이 핵심은 AI 반대가 아니라 ‘코딩은 해결됐다’는 단정에 대한 반박임. LLM 코딩 도구와 자체 하네스, AI 제품을 활용해 온 경험을 바탕으로 하며, 일부 판단은 지난 4년간의 경험에 근거한 의견임 코드 작성은 저렴해졌지만, 대규모 운영에서는 비기능 요구사항(NFR) 인 유지보수, 신뢰성, 보안, 확장성이 비용의 대부분을 차지함 코드가 무엇을 해야 하는지에 관한 기능 요구사항도 완전히 해결되지 않았음. 결과물을 읽지 않는 사람이 오히려 더 확신하는 현상은 Dunning-Kruger 효과와 맞닿아 있음 코드를 반드시 읽지 않아도 되는 제품은 세 범주로 나뉨 개인용 소프트웨어: 개인적 불편 해결, 자동화, 직접 만든 패치 등임 개념 증명(POC): 기술적 실현 가능성과 제품 성립 가능성을 확인함 무기화된 AI: 위험을 인지한 상태에서 특정 대상에 피해를 주도록 사용함 앞의 두 범주는 위험 허용도가 높고, 마지막 범주는 위험 자체를 무기화함. 반면 의료, 금융, 자동차, 국방, 발전소, 항공, 제조처럼 실수가 금전 손실이나 인명 피해, 법적 결과를 낳는 분야에는 책임이 필요함 AI에 맡길 수 없는 책임 AI는 벌금이나 징역 같은 결과를 감당하지 못하므로 결과에 대한 책임을 물을 수 없음. 전원을 끄는 것은 사람에게 책임을 묻는 것과...

Read Entire Article