지난달부터 클로드 서비스를 유료 구독하기 시작했다. 주로는 글을 쓰는데 활용하는 목적이었지만 일부 업무를 수행하는 데 있어서도 큰 도움이 된다는 것을 느껴 최근에는 업무적으로 어떻게 활용할 수 있을지 고민하기 시작했다.
몇 가지 업무 활용 중 내 입장에서 도움이 되었던 경험을 공유해보려고 한다.
개인적으로 스타트업으로 이직 후 경험한 여러 가지 중 가장 의미 있는 경험을 뽑는다면 '실행 중심의 데이터적 사고와 접근'이라고 생각하는데, 특히 SQL로 데이터 간의 관계를 확인하고 빠르게 수치를 확인할 수 있었던 것이 성장에 큰 도움이 되었고, 이후에도 계속해서 SQL을 활용하면서 단순한 조회부터 지표 분석까지 활용하면서 다양한 업무를 수행할 수 있었다.
이렇게 활용을 이야기했지만 내가 지금 쓰는 쿼리는 아주 기본적인 수준이라 조금 더 복잡한 조건의 데이터를 추출하려면 테이블 구조를 이해하는 것부터 어려운 영역이었다. 규모가 큰 서비스일수록 이 어려움은 배가 되었고 결국 관련 담당자에게 의존할 수밖에 없었다.
이런 상황에서 클로드 AI는 조직 내 업무 요청과 수행이라는 프로세스와 커뮤니케이션 코스트를 획기적으로 줄여주는 놀라운 경험을 제공했다. 간단한 조건에 대한 정의와 테이블과 칼럼명을 입력하는 것 만으로 필요한 쿼리를 작성해 주었다.
물론 이렇게 작성된 쿼리가 바로 동작하지는 않았다. 몇 번의 에러 메시지가 나왔고 에러 코드를 다시 클로드에게 전달하니 해당 오류의 원인과 고려한 쿼리문을 다시 작성해 주었다.
아래 내용은 내가 요청한 간단한 사항이다.
2개의 테이블에 각각 등록일과 id가 존재하는데, 각각의 등록일 별로 등록된 id를 카운트하고 싶어. 여기서 카운트를 할 때 날짜는 단일 날짜로 그룹화하고 싶은데, 각각의 카운트는 각각의 등록일을 참조할 수 있도록 SQL 쿼리를 짜줘
✅ 테이블 명 : A, B
✅ 칼럼 명 : A.DATE, A.ID / B.DATE, B.ID
클로드의 답변은 다음과 같았다.
네, 이해했습니다. A 테이블과 B 테이블에서 각각의 등록일별로 ID를 카운트하고, 결과를 단일 날짜로 그룹화하되 각 테이블의 카운트를 따로 표시하는 SQL 쿼리를 작성해 드리겠습니다.
이 쿼리에 대해 설명해 드리겠습니다:
✅ COALESCE(A.DATE, B.DATE) AS DATE: A와 B 테이블 중 하나에만 해당 날짜가 있을 경우를 대비해 COALESCE 함수를 사용했습니다.
✅ COUNT(DISTINCT A.ID) AS A_COUNT, COUNT(DISTINCT B.ID) AS B_COUNT: 각 테이블에서 고유한 ID의 수를 세어 각각의 카운트를 생성합니다.
✅ 서브쿼리 (SELECT DATE, ID FROM A UNION ALL SELECT DATE, ID FROM B) AS COMBINED_DATA: A와 B 테이블의 모든 날짜를 포함하는 임시 테이블을 만듭니다.
✅ LEFT JOIN A ON A.DATE = COMBINED_DATA.DATE 및 LEFT JOIN B ON B.DATE = ✅ COMBINED_DATA.DATE: 임시 테이블과 A, B 테이블을 LEFT JOIN 하여 모든 날짜를 포함시킵니다.
✅ GROUP BY COALESCE(A.DATE, B.DATE): 날짜별로 그룹화합니다.
✅ ORDER BY DATE: 결과를 날짜순으로 정렬합니다.
이 쿼리는 A 테이블과 B 테이블의 모든 날짜를 포함하며, 각 날짜에 대해 A 테이블의 ID 카운트와 B 테이블의 ID 카운트를 별도로 표시합니다. 한 테이블에 해당 날짜의 데이터가 없으면 해당 테이블의 카운트는 0으로 표시됩니다. 이 쿼리를 실행하면 다음과 같은 형식의 결과를 얻을 수 있습니다:
위에서 언급한 것처럼 작성된 쿼리를 테이블명과 칼럼명을 DB에 맞춰 수정해서 돌렸지만 오류가 나왔고 다시 클로드에게 아래와 같이 요청했다.
해당 쿼리에서 381684 오류가 나오는데 이유가 뭘까
클로드는 해당 오류를 기준으로 오류의 원인과 해결할 수 있는 쿼리를 다음과 같이 작성해 주었다.
381684 오류는 일반적으로 SQL Server에서 발생하는 오류 코드입니다. 이 오류는 주로 쿼리의 구문이나 구조에 문제가 있을 때 발생합니다. 제가 제시한 쿼리에서 이 오류가 발생한다면, 몇 가지 가능한 원인이 있을 수 있습니다:
✅ COALESCE 함수 사용: 일부 데이터베이스 시스템에서는 GROUP BY 절에 COALESCE 함수를 직접 사용하는 것을 지원하지 않을 수 있습니다.
✅ 서브쿼리 사용: 일부 데이터베이스에서는 FROM 절에 서브쿼리를 사용하는 것을 제한할 수 있습니다.
✅ DISTINCT 사용: COUNT(DISTINCT...) 구문이 지원되지 않을 수 있습니다.
이러한 문제를 해결하기 위해, 쿼리를 다음과 같이 수정해 보겠습니다:
몇 번의 이러한 작업 끝에 실제 동작하는 쿼리를 만들 수 있었고 여기에 소요된 시간은 사실상 20여 분도 들어가지 않았다. 만약 기존의 프로세스 대로 유관 조직에 협조를 구했다면 해당 조직이 수행하는 업무 일정 등을 감안했을 때 최소 1일에서 3일까지도 소요되었을 것을 생각하면 그 생산성은 정말 높다고 할 수 있다.
이번 작업을 통해 필요한 데이터를 조금 더 빠르게 확인함으로써 전체적인 업무 생산성 증대에 큰 영향을 준다는 것을 확인할 수 있었다
AI 활용 Tip
✅ 테이블명과 칼럼명을 동일하게 활용하면 이후 실행할 때 편리해요.
✅ 기본적인 테이블 구조는 이해하고 있어야 해요. 특히 JOIN을 해야 한다면 테이블 구조 이해는 필수예요.
✅ 해당 데이터의 정합성은 교차 검증이 먼저 필요해요. 기존에 추출해던 데이터와 동일한 조건으로 먼저 비교해 보는 것도 방법이고, 개별 추출 후 데이터를 대조해 볼 수도 있어요.
개인적으로 글쓰기를 위한 지원 도구로 클로드를 사용하고 있는 만큼 업무에 있어서도 클로드는 카피와 콘텐츠 초안을 만드는 데 있어서 활용을 해보고 있다. 예전이라면 어떤 카피를 정하거나 콘텐츠 작업을 할 때, 유관인들과 모여 아이디어를 내고 조정하는 시간을 가졌다면 지금은 어떠한 조건과 정보를 토대로 고려할 수 있는 카피의 리스트를 추출하는 형태라고 할 수 있다.
모두가 모여서 아이디어를 짜는 시간은 서로의 이해를 맞춰가는 의미를 가지기도 해서 분명 의미가 있지만 그 아이디어를 생각하고 발산하는 시간이 많이 소요된다는 어쩌면 단점도 있다. 반대로 AI는 그 시간을 크게 단축해 주고 실제 생각할 만한 아이디어를 추론해 주는 것도 맞지만 대화 과정에서 오는 이해를 좁히는 과정은 조금 아쉬운 부분이 존재한다.
개인적으로 업무에 활용할 때 몇 가지도 도움이 되었던 케이스는 다음과 같다.
✅ 어떤 의미를 가진 다양한 단어를 조합해서 서비스명을 정의할 때, AI는 수많은 정보를 토대로 카피를 만들어주기 때문에 새로운 서비스명의 후보를 도출하기 용이하다.
✅ 프로모션 스킴 구성, 서비스 활성화를 위해 고려해야 할 다양한 프로모션 옵션을 리스트화할 수 있다. 이렇게 작성된 프로모션 리스트는 실제 적용에 필요한 리소스를 고려하여 아이디어를 좁히고 디벨롭을 통해 반영해 볼 수 있다.
✅ 특정 서비스에 대한 속성을 기준으로 자주 묻는 질문과 같은 응대 매뉴얼의 초안을 작성할 수 있다.
✅ 서비스의 특징을 토대로 국내외 유사 서비스를 리스트업 하고 해당 서비스의 특징을 도출할 수 있다.
물론 이러한 작업에 있어서도 1차 결과물만으로 후속 업무를 진행하는 것이 아니라 지속적인 조건을 언급함으로써 디테일을 좁혀가는 과정을 해야 보다 유효한 결과물 생성이 가능하다. 또 이렇게 추출한 아이디어가 너무 새롭거나 하지 않을 수 있다는 것을 고려해야 한다고 본다. 실제로 서비스를 운영하다 보면 다양한 아이디어를 평소에 구성원과 나누는 데, AI를 통해 추출한 아이디어 또한 그 범주를 벗어나지 않았었다.
아직까지 내 활용의 수준과 숙련도, 활용 범위에 대한 이해가 높지 않아 단순한 부분에 이용하고 있지만, AI를 통한 강점은 이 단순함에 들어가는 시간을 비약적으로 축소해 주는 것이 아닌가 싶다. 이미 여러 분야에서 자동화, 요약 등 활용의 사례가 나오고 있지만 실제 나의 업무 범위를 바라보고 그 업무 내에서 필요한 부분에 적용하는 것이 먼저라고 본다. 꼭 자동화가 아니더라도 조금 더 쉽게 AI 활용해 보면 어떨까. 앞의 SQL 사례처럼 생각보다 더 큰 효용을 가져다줄지 모른다.