AI를 대하는 나의 자세
해당 글은 아직 작성 중 입니다.
AI는 현재진행형의 뜨거운 감자다.
AI가 개발자를 대체할 것이라는 막연한 공포(AI FOMO)와, 반대로 AI가 생산성을 기하급수적으로 끌어올려 개발자가, 디자이너가, 기획자가 더 많은 것을 할 수 있도록 만들어 줄 것이라는 기대가 공존한다. 현재도 매일 같이 쏟아지고 있는 수많은 아티클과 영상은 AI에 대한 이러한 양가감정을 그대로 보여준다.
나도 AI를 접하고(정확히 말하면 cursor를 처음 접하고) 적잖은 충격을 받았다. 막연히 먼 미래의 일로 생각되었던 기술이 눈앞에 현실로 다가온 느낌이었다. "ChatGPT나 Copilot도 아직 쓸만한 결과물을 못 내놓잖아." 라는 말을 주변에서 듣던게 엊그제 같은데, 순식간에 몇 단계는 뛰어넘은 결과물이 눈 앞에 있었다.
그 순간으로부터 몇 달이 지난 지금. 나는 AI를 어떻게 바라보고 있을까? 이제 AI는 멀리해야할 기피대상이 아닌, 함께 일하는 협력자가 되었다. 오늘은 그간 AI와 협업하며 느낀 점들을 정리해 보려 한다.
AI와 현명하게 협업하는 법
결론부터 말하자면, 나는 AI로 잃은 것보다 얻은 것이 훨씬 많다. 프론트엔드 개발자로서 알아야 할 것, 굼긍한 것은 이미 차고 넘친다. 더 나아가 뛰어난 소프트웨어 엔지니어로 성장하기 위해 얼마나 많은 시간과 노력이 필요한지는 우리 모두가 체감하는 바일 것이다.
여기에서 AI의 등장은 게임체인저가 되어 주었다.
- 학습 시간의 단축 : 새로운 프레임워크, 라이브러리, 혹은 모호했던 개념을 학습할 때, AI는 직접 했다면 수 시간이 걸렸을 자료 조사를 단 몇 분 만에 원하는 포맷으로 정리해 준다.
- 가치 있는 일에 재투자: 이렇게 아낀 시간은 더 깊이 있는 기술을 탐구하거나, 연관된 주변 지식을 학습하는 데 재투자할 수 있다. 덕분에 과거에는 조금 멀게 느껴졌던 '소프트웨어 엔지니어'로서의 사고방식을 더 자주 고민하고 학습하게 되었다. AI가 든든한 조수 역할을 해준 덕분이다.
하지만 AI가 모든 것을 해결해 주지는 않는다. AI는 아무것도 없는 빈 공터에 MVP(최소 기능 제품)를 빠르게 세우는 데에는 강력하지만, 이미 80% 완성된 건물의 나머지 20%를 채우는 섬세한 작업에는 한계를 보인다.
이 20%의 영역은 아키텍처 설계, 기술과 도메인에 대한 깊은 이해, 그리고 복잡한 문제 해결 능력 등 다방면의 사고를 요구한다. AI는 미래를 예측하며 코드를 짜지 않는다. 오직 '현재의 요구사항'에 가장 적합한 결과물을 내놓을 뿐, 몇 시간 뒤에 마주할 예상치 못한 예외 케이스나 꼬여버린 비즈니스 로직까지 염두에 두지는 않는 것이다.
결국, 그 '미래의 가능성'을 염두에 두는 것은 온전히 나의 몫이다.
내가 생각하는 최적의 AI 협업 워크플로우와 '컨텍스트'의 함정
이러한 AI의 특성을 이해하고, 나는 다음과 같은 워크플로우로 협업을 진행하고 있다.
- 비즈니스 목적 및 요구사항을 면밀히 분석
- 도메인과 모든 시스템 진입점에 대한 상세한 사용자 흐름도를 시퀀스 다이어그램을 100% 빈틈없는 것을 전제로 설계
- 다이어그램을 분석하여 공통 이벤트를 추출하고, 도메인을 분리하며 모듈 설계
여기서 가장 중요한 것은 컨텍스트 관리이다.
AI가 최대한 많은 정보를 가져야 최적의 답을 줄 것이라 생각해, 내가 가진 모든 자료를 필터링 없이 제공하는 실수를 여러 번 저질렀다. 하지만 잡다한 정보까지 모두 주입된 AI는 오히려 핵심 컨텍스트를 파악하지 못하고 잘못된 방향으로 결과물을 내놓기 시작했다.
과소 컨텍스트만큼이나 과대 컨텍스트 주입도 위험하다. AI가 일을 잘 못 한다고 느끼는 지점이 바로 여기일 수 있을 것이다. AI의 능력을 제대로 활용하려면, 먼저 그 능력을 신뢰하고, 핵심 정보를 정제하여 명확하게 제공하는 '나의 능력'이 뒷받침되어야 한다.
나의 사고 확장이 우선되어야 한다.
AI와 협업하며 가장 크게 느낀 점은 AI는 결코 나의 사고 수준을 넘어설 수 없다는 것이다.
나도 마찬가지로, 우리는 종종 AI가 내가 미처 고려하지 못한 완벽한 솔루션을 제시해 주길 기대한다. 하지만 AI가 내놓는 결과물의 수준은 전적으로 AI를 사용하는 '나의 능력치'에 달려있다고 생각한다.
- 내가 얼마나 넓고 깊게 문제를 바라보고 있는가?
- 나의 설계 능력은 어느 정도인가?
- 단순 코딩을 넘어 주어진 요구사항에 숨겨진 보안 리스크, 사용자 경험, 현재 기술 스택과의 적합성까지 고려하고 있는가?
결국 AI는 나의 질문과 설계의 깊이를 그대로 비춰주고 결과물을 가져온다. 학습 과정에서도 마찬가지이다. 내가 던질 수 있는 질문의 범위를 넘어서는 답변을 AI가 먼저 제시하기는 어렵다. AI를 더 잘 활용하기 위해서라도, 단순한 지식 습득을 넘어 스스로 사고를 확장하려는 노력이 끊임없이 필요하다.
미래에 개발자라는 직업이 사라지게 될지, 혹은 역할이 확장되어 더 많은 역량이 요구될지는 아무도 모른다. 하지만 한 가지는 확실하다. 내가 자부심을 느끼고 재미있게 임하고 있는 '개발자'로서의 성장에 AI가 강력한 동력이 되어주고 있다는 사실이다.
AI는 결코 두려움의 대상이 아닌, 나의 역량을 한 단계 끌어올려 주는 존재이다. 앞으로 AI가 세상을 어떻게 바꾸고, 또 어떤 영향을 줄지 기대하는 마음으로 이 여정을 지켜보고, 함께하고자 한다.