나는 AI를 어떻게 쓰고 있을까?
들어가며
처음에는 AI가 개발자를 대체할 거라는 말이 두려웠다. 코드를 빠르게 짜고, 낯선 영역도 금방 따라오는 모습을 보면 틀린 말 같지 않았다.
나도 처음에는 AI를 생산성 도구로만 봤었다. 막히는 코드를 물어보고, 반복되는 코드를 대신 빠르게 쳐 달라고 하고, 낯선 코드를 읽을 때 설명을 듣는 정도였다.
그런데 실무와 개인 작업에서 AI를 계속 쓰다 보니, 생산성 도구라기보다 내 능력을 키워 주는 동료처럼 느껴졌다. 원래 잘하던 일은 AI 덕분에 더 자주, 더 넓게 하게 됐고, 약해서 미뤄 두던 일은 AI와 함께 구조를 만들어 메우게 됐다. 그러려면 AI에게 맥락을 주고, 역할을 나누고, 결과를 확인할 기준도 세워야 했다.
이 글에서는 AI로 강점을 키운 방식과 약점을 메운 방식을 차례로 정리해 보려 한다.
AI는 내 강점을 강화했다
내 강점은 두 가지다. 납득해야 움직이고, 반복되는 문제는 도구로 만들어 두고 싶어 한다. AI와 일하면서 검증하는 습관은 AI의 결과를 믿을 수 있게 하는 장치로, 도구로 만드는 습관은 반복되는 일을 덜어 주는 도구로 이어졌다.
검증하는 습관
나는 그럴듯한 설명을 들었다고 바로 넘어가지 못한다. 로그를 보고, 데이터를 조회하고, 직접 재현해 본 뒤 확인한 것과 확인하지 못한 것을 나눠야 마음이 놓인다.
그런데 AI가 “잘 됐다”고 하면 그대로 믿어도 될까? 사람의 설명을 그냥 넘기지 못하듯, AI의 결과도 그냥 넘길 수 없었다. 그래서 AI의 결과를 확인할 장치를 하나씩 찾았다. 문서와 구현은 모델을 달리하고 컨텍스트를 분리한 리뷰 에이전트에게 따로 검토받는다. 동작은 테스트 코드로 확인하고, 실행 과정은 로그로 남기고, 배포 뒤에는 모니터링으로 자동으로 지켜본다. 화면처럼 말로 확인하기 어려운 것은 스크린샷처럼 매번 같은 결과가 나오는 방식으로 검증한다.
디버깅도 TDD처럼 확인한다. AI가 원인을 찾았다고 해도 바로 고치게 하지 않는다. 먼저 문제를 재현해서 실제로 실패하는 모습(red)을 확인하고, 고친 뒤 같은 재현에서 더 이상 실패하지 않는지(green) 확인한다. 이때 AI에게 Elasticsearch 로그, DB, 서버 같은 컨텍스트를 연결해 두어, 판단과 검증을 더 정확하게 하고 있다.
도구로 만드는 습관
같은 일을 반복하게 되면, 지금은 AI를 활용해 다시 반복하지 않도록 만들어 둔다. 매일 10분씩 오늘 한 일을 떠올리며 손으로 쓰던 업무일지는 스킬로 만들었다. 하루 동안의 커밋과 AI와 나눈 고민을 모아 업무일지 초안을 만들어 주고, 한 주가 끝나면 반복해서 나온 문제를 더 이상 반복하지 않도록 원칙의 후보로 모아 보여 준다.
팀을 위한 도구도 만들었다. AI로 n8n 워크플로우도 쉽게 만들 수 있게 되면서, 생각만 하고 있었던 에러 분석 알림을 만들었다. 기존에는 에러 알림을 받으면 키바나 대시보드에서 에러 지점과 원인을 확인한 뒤 코드를 따라가며 디버깅했었는데, 지금은 에러가 발생하면 AI가 스택트레이스와 GitLab의 코드베이스를 종합해 1차로 분석한 결과를 알림으로 받아, 에러를 빠르게 파악할 수 있게 만들어 두었다.
AI는 내 약점을 보완했다
약점도 두 가지가 있다. 하나는 강점과 반대되는 부분인데, 납득하고 일이 어떻게 벌어질지 예측하는 과정이 길어질수록 시작이 늦어진다. 다른 하나는 인풋에 비해 아웃풋이 약하다는 것이다. 읽고 들은 건 기억에 남아 있는데, 막상 말로 설명하려면 잘 나오지 않는다. AI와 일하면서 이 두 가지를 메우는 방법이 생겼다.
시작이 늦어지는 것
예전에는 무엇을 할지 모르겠으면 시작이 어려웠다. 글을 쓸 때도, 새 기능을 설계할 때도 경우의 수를 머릿속으로 다 굴려 보느라 한참이 걸렸다.
지금은 AI와 함께 계획을 빠르게 세워 볼 수 있다. 글을 쓸 때는 AI가 나를 인터뷰하게 해서, 이 글을 왜 쓰는지와 누가 읽는지부터 정한다. 설계할 때는 선택지마다 장단점을 AI와 함께 조사하고, 작은 프로토타입을 만들어 직접 확인한 뒤, AI 리뷰로 빠진 부분을 채운다. 머릿속에서만 하던 시뮬레이션을 밖으로 꺼내니, 확신이 서기까지 걸리는 시간이 훨씬 짧아졌다.
알아도 설명하지 못하는 것
새로운 개념을 읽고 들을 때는 이해한 것 같았다. 그런데 누군가에게 설명하려고 하면 머릿속에서 정리가 안 되고, 말문이 막혔다. 알고 있는 것과 내 말로 꺼낼 수 있는 것은 달랐다.
그래서 AI를 튜터처럼 쓴다. 내가 이해한 내용을 먼저 설명하면, AI가 빈 곳을 질문하고 반례를 들어 다시 묻는다. 이렇게 말로 꺼내 보면 안다고 착각했던 부분이 자주 드러난다.
배운 것은 복습으로 다시 꺼낸다. 복습 알림이 오면 그날의 개념을 보기 없이 주관식으로 떠올리고, 얼마나 확신했는지와 힌트를 썼는지를 함께 기록한다. 맞았어도 자신이 없으면 금방 다시 나오고, 틀리면 더 빨리 나온다. 보는 대신 직접 꺼내는 연습을 반복하면서, 설명할 수 있는 개념이 조금씩 늘고 있다.
마치며
처음에는 AI가 개발자를 대체할 거라는 말이 두려웠다. 그런데 직접 써 보니, AI는 내 일을 빼앗기보다 잘하는 일은 더 잘하게, 부족한 일은 더 도와주는 동료처럼 느껴졌다.
검증하고 도구를 만드는 일은 더 자주 하게 됐고, 늦던 시작과 막히던 설명은 AI와 함께 조금씩 메워 가고 있다.
이렇게 강점은 키우고 약점은 보완하는 식으로 AI를 쓰다 보니, 이제는 두렵다는 생각보다 더 잘 써 봐야겠다는 생각이 드는 요즘이다.