코멘토 로고

생성형 AI와 협업하여 문제 해결하기: 실전 사례 공유 🤖

정밀한 문서 애호가

들어가며

"생성형 AI가 코딩을 도와준다"는 말은 이제 새롭지 않습니다. 하지만 주어진 문제를 AI와 함께 단계적으로 해결해나가는 과정은 어떨까요?

이 글은 **"AWS S3에서 여러 파일을 빠르고 안전하게 삭제하기"**라는 실제 문제를 생성형 AI와 협업하여 해결한 전 과정을 담고 있습니다. 단순한 코드 생성이 아니라, 문제 정의부터 디버깅까지의 완전한 협업 방법론을 공유하고자 합니다.

 

🎯 왜 이 사례인가?

이 문제는 AI와의 협업을 보여주기에 완벽한 사례였습니다:

  • 복잡성: 단순한 삭제가 아닌 안전성, 성능, 추적성을 모두 고려
  • 반복적 개선: 소규모부터 대량까지 점진적 확장
  • 실시간 디버깅: 여러 오류 상황과 해결 과정
  • 학습 과정: AI와 사용자가 함께 배워나가는 과정

 

🔄 AI 협업의 5단계 방법론

1단계: 문제 정의와 목표 설정

🧑‍💻 사용자: "S3 버킷의 특정 폴더 하위의 파일들을 효율적으로 모두 삭제하는 방법을 추천해 주세요"

🤖 AI의 첫 번째 응답:

  • AWS CLI 직접 삭제
  • S3 배치 작업
  • SDK 사용법

💡 협업의 핵심: AI는 옵션을 제시하고, 사용자가 상황에 맞는 선택을 함

🧑‍💻 사용자의 추가 요구사항: "실수로 다른 경로의 파일을 삭제하지 않도록 하고 싶습니다"

이 한 문장이 전체 방향을 바꿨습니다. AI는 즉시 안전성 중심의 접근법으로 전환했습니다.

 

2단계: 점진적 접근 전략 수립

🤖 AI의 제안:

소규모 → 중간 규모 → 대량 처리

🧑‍💻 사용자: "업로드 일시가 가장 오래된 날짜의 파일을 우선적으로 삭제하는 것은 어떨까요?"

협업 포인트:

  • AI는 구조적 접근법 제시
  • 사용자는 도메인 지식(오래된 파일부터 삭제하는 것이 안전)을 추가
  • 결합된 솔루션: LastModified 기준 정렬 + 점진적 삭제

 

3단계: 실행과 피드백 루프

3-1. 첫 번째 성공

🧑‍💻: "소규모 테스트가 성공했습니다" 🤖: 성능 분석 및 다음 단계 제안

3-2. 성능 개선 발견

🧑‍💻: "중간 규모도 성공했지만 시간이 좀 걸리네요"

🤖: 배치 삭제 방식 제안 (개별 삭제의 한계 인식)

3-3. 극적인 성능 향상

🧑‍💻: "성공했는데 진짜 빠르네요" 🧑‍💻: "대량 처리도 몇 초만에 완료되네요"

협업의 마법 순간:

  • AI가 제안한 배치 API
  • 사용자의 실제 테스트
  • 함께 발견한 획기적인 성능 향상!

 

4단계: 실시간 디버깅 협업

문제 1: 문법 오류 발생

./script.sh: line xx: ===: syntax error: operand expected

🧑‍💻: 오류 메시지 공유 🤖: 즉시 원인 분석 (변수가 비어있을 가능성) 🧑‍💻: "$1이 왜 비는지, 어디서 들어오는 건지 우선 확인해보시죠"

협업의 특징:

  • AI: 패턴 인식과 가능성 제시
  • 사용자: 구체적 상황 분석과 방향 제시
  • 함께: 단계적 추적으로 근본 원인 발견

문제 2: 함수 출력 혼입 문제

🧑‍💻: 디버깅 결과 공유

반환된 전체 값:
'=== 현재 상태 ===
현재 파일 수: nn,nnn개
...
실제 숫자'

🤖: "정확히 예상한 대로입니다! echo의 출력이 반환값에 섞여 들어가서..." 🧑‍💻: "아 그러면 stderr로 출력하지 말고 실행 위치의 하위에 tmp 폴더를 만들어서..."

협업의 진화:

  • 문제 발견: 함께
  • 해결 방향: AI가 원리 설명, 사용자가 구체적 요구사항 제시
  • 최종 해결: 양쪽의 아이디어 결합

 

5단계: 최적화와 완성

Vim 명령어 활용

🧑‍💻: "vim에서 echo를 모두 커스텀 함수로 변경하면 될 것 같은데..." 🤖: 구체적인 Vim 치환 명령어 제시

마지막 버그 발견

🧑‍💻: "저의 착오입니다. 스크립트를 다시 보니 제가 break 이전에 다시 get_count를 호출하는 코드를 삽입했네요"

협업의 완성:

  • 사용자의 솔직한 실수 인정
  • AI의 이해와 격려
  • 함께 완성한 성공적인 결과

 

🧠 효과적인 AI 협업 전략

1. 구체적이고 점진적인 소통

❌ 비효과적인 질문

"파일을 삭제하는 코드를 작성해주세요"

✅ 효과적인 질문

"S3 버킷의 특정 폴더 하위 파일들을 안전하게 삭제하고 싶습니다. 수천 개의 파일이 있어서 실수로 다른 파일을 삭제할 위험을 최소화하면서 점진적으로 테스트할 수 있는 방법이 있을까요?"

차이점:

  • 맥락 제공 (S3, 특정 폴더)
  • 제약 조건 명시 (안전성, 점진적)
  • 우려사항 공유 (실수 위험)

 

2. 실행 결과를 즉시 공유

🧑‍💻: "소규모 삭제가 성공했지만 시간이 걸렸습니다"
🤖: "성능 분석 + 다음 단계 제안"

🧑‍💻: "배치 방식으로 대량 처리가 몇 초만에 완료됐네요"  
🤖: "배치 API의 위력 확인 + 최적화 방향 제시"

핵심: AI는 결과를 통해 학습하고 더 나은 제안을 할 수 있습니다.

 

3. 오류 상황을 상세히 공유

효과적인 오류 보고

실행 결과 다음과 같습니다:
===== 디버깅 시작 =====
반환된 전체 값:
'=== 현재 상태 ===
현재 파일 수: nn,nnn개
...'

AI가 즉시 정확한 진단을 할 수 있는 이유:

  • 구체적인 출력 결과
  • 문제 발생 상황의 맥락
  • 예상과 실제 결과의 차이 명시

 

4. 도메인 지식과 AI 지식의 결합

영역 사용자 기여 AI 기여
문제 정의 실제 요구사항, 제약조건 기술적 옵션, 모범 사례
설계 도메인 지식, 우선순위 아키텍처 패턴, 성능 고려사항
구현 테스트, 피드백 코드 생성, 문법 검증
디버깅 실행 환경, 구체적 상황 패턴 인식, 원인 분석

 

🎯 AI 협업의 핵심 원칙

1. AI는 도구가 아닌 협업 파트너

  • ❌ "코드 생성기"로만 활용
  • 문제 해결 파트너로 인식
  • AI의 제안을 검토하고 개선점 제시
  • 상황 변화에 따라 방향 수정 요청

 

2. 투명한 소통

🧑‍💻: "죄송합니다. 제가 디버깅 코드 복사하면서 실수했네요"
🤖: "전혀 문제없습니다! 이런 실수는 흔한 일이고..."
  • 실수나 오해를 즉시 공유
  • AI도 사용자도 틀릴 수 있음을 인정
  • 함께 배워나가는 과정으로 인식

 

3. 단계적 검증

소규모 테스트 → 중간 규모 → 대량 처리 → 전체 완료
  • 각 단계에서 결과 공유
  • AI의 제안을 실제 환경에서 검증
  • 예상과 다른 결과에 대한 즉시 피드백

 

📊 협업 성과 분석

기술적 성과

  • 성능 향상: 수백 배 속도 개선 발견
  • 안전성: 단계적 테스트로 리스크 최소화
  • 완성도: 로깅, 백업, 오류 처리 완비

학습 성과

  • AWS S3 배치 API 활용법
  • Bash 스크립팅 고급 기법
  • stdout/stderr 구분의 실전 중요성
  • 체계적 디버깅 방법론

협업 성과

  • 문제 해결 속도: 혼자라면 며칠, 협업으로 몇 시간
  • 해결책의 질: 단순 삭제 → 안전하고 효율적인 시스템
  • 학습 효과: 과정 전체가 학습 기회

 

🏁 마무리: AI 협업의 진짜 가치

이번 경험을 통해 깨달은 것은 AI와의 협업이 단순한 "코드 생성"을 넘어서 **"함께 생각하고 문제를 해결하는 과정"**이라는 점입니다.

 

핵심 교훈

  1. AI는 만능이 아니지만 훌륭한 파트너입니다

    • 지식과 패턴 인식 능력 활용
    • 인간의 판단과 경험으로 보완
  2. 소통 방식이 결과를 좌우합니다

    • 구체적이고 맥락이 있는 질문
    • 실행 결과의 즉시 공유
    • 투명한 피드백
  3. 협업 자체가 학습 과정입니다

    • AI도 사용자의 피드백으로 더 나은 제안
    • 사용자도 AI의 제안으로 새로운 관점 획득

 

실전 적용 가이드

다음 번에 복잡한 기술 문제에 직면했을 때:

  1. 문제를 명확히 정의하고 제약조건을 AI와 공유하세요
  2. 점진적 접근을 통해 단계별로 검증하세요
  3. 실행 결과를 즉시 공유하고 다음 단계를 논의하세요
  4. 실수나 오해를 투명하게 공유하세요
  5. AI의 제안을 맹신하지 말고 비판적으로 검토하세요

"혼자서는 몇 시간 걸릴 문제를, AI와 함께라면 더 좋은 결과를 더 빠르게"

문제를 해결한 과정도 생성형 AI가 정리하여 주었답니다. 이 글이 도움이 되셨길 바랍니다! 🚀