AI는 코딩을 더 쉽게 만들지만, 엔지니어링을 더 쉽게 만들지는 않습니다.
사람들은 AI가 소프트웨어 엔지니어링을 더 쉽게 만든다고 말합니다. 하지만 그들은 틀렸습니다.
AI는 코드 작성을 더 빠르게 만듭니다. 프로토타입을 빠르게 구축하도록 도와줍니다. 아이디어에서 결과물로 나아가는 과정을 단 몇 초 만에 완료해 줍니다.
코드를 작성하는 것이 업무에서 가장 어려운 부분이었던 적은 결코 없었습니다.
진정한 과제는 여전히 남아 있습니다:
- 문제 이해
- 올바른 아키텍처 정의
- 고객의 요구사항을 신뢰할 수 있는 시스템으로 변환
- 소프트웨어 테스트 및 검증
- 시스템 유지보수 및 확장
LLM이 3초 만에 함수를 생성한다고 해서 이러한 문제들이 해결되는 것은 아닙니다.
존재하는 코드와 실제로 작동하는 소프트웨어 사이의 간극은 점점 커지고 있습니다. 코드 작성이 느렸을 때는 생각할 시간이 있었습니다. 트레이드오프(trade-offs)를 따져보았고, 가정을 의심해 보았습니다.
이제 코드는 즉각적으로 나타납니다. 이제는 별도로, 그리고 신중하게 생각할 시간을 확보해야 합니다. 대부분의 팀은 이러한 변화에 맞춰 프로세스를 조정하는 데 실패합니다.
성공적인 팀은 가장 많은 코드를 생성하는 데 집중하지 않습니다. 그들은 더 나은 질문을 던지는 데 집중합니다.
그들은 다음과 같은 일을 합니다:
- 프롬프트를 입력하기 전에 문제를 명확하게 정의합니다
- 결과물이 아키텍처에 부합하는지 확인합니다
- AI가 놓친 엣지 케이스(edge cases)를 테스트합니다
- 코드를 배포하기 전에 코드를 이해합니다
여러분의 역할이 변하고 있습니다. 코드를 작성하는 사람에서 시스템을 설계하는 사람으로 이동하고 있습니다. 이는 더 높은 기준을 요구합니다. 엔지니어링적 판단(Engineering judgment)이 바로 여러분의 가치가 발휘되는 지점입니다.
AI는 소프트웨어를 제작하는 데 드는 노력을 줄여줍니다. 하지만 다음과 같은 필요성은 오히려 증가시킵니다:
- 더 나은 문제 정의
- 더 강력한 아키텍처 결정
- 더 빠른 검증
- 더 나은 판단력
미래는 더 나은 기술적 결정을 내리는 팀의 것입니다. LLM이 던질 수 없는 질문을 던지는 팀의 것입니다.
AI를 도입한 이후 팀의 워크플로우를 변경하셨나요? 아니면 단순히 도구만 바꾸셨나요?
출처: https://dev.to/dimitrisk_cyclopt/ai-makes-writing-code-easier-it-doesnt-make-engineering-easier-120