728x90
반응형
- 소프트웨어 개발 과정에서 반족적이고 기계적인 작업의 '우발적 복잡성'을 탁월하게 처리하지만, 문제 자체가 가진 복잡성을 파악하고 관리하는 '본질적 복잡성'을 처리하는 건 여전히 사람임
- 30% 정도는 결국 인간의 심층적인 전문 지식 필요. (70%문제)
- 생산성이 뛰어난 주니어 개발자? 취급 당함 ㅜ. 속도와 열정이 뛰어난 한편 '약물에 취한 듯'
- 경험이 부족한 개발자는 '문제가 없어 보이네!' 라는 안일한 판단으로 그대로 사용하면 심각한 재앙을 일으킬 수 있음
무엇을 만들고,어떻게구성할지,왜그렇게 해야 하는지 결정하는 창의적이고 분석적인 사고는 여전히 인간의 몫- 시니어 개발자는 AI 제안을 비판 없이 수용하지 않고, 포괄적인 오류 처리와 AI가 놓친 엣지 케이스 처리를 추가하면서 AI의 출력을 조정하고 제안해야 함.
AI 보조 워크플로 안티패턴
- AI 결과물을 쉽게 받아들이다보면, 같으로는 완성된 것처럼 보이지만 실제 환경에서는 쉽게 무너지는 '모래성 코드'가 만들어질 수 있음
- 제어권을 잃지 않도록 스스로 문제를 해결하는 능력을 기르는 것이 좋아 보임
- 모든지 과도한 의존은 좋지 않다.
실용적인 AI 보조 워크플로 패턴
- AI를 효과적으로 사용하기 위해선
- AI 초안 작성 : AI 모델이 초기 코드를 생성 후, 개발자가 이를 정제하고 리팩터링 및 테스트 함
- AI와 페어 프로그래밍 : 개발자와 AI가 끊임없이 대화하며 긴밀한 피드백과 빈번한 코드 리뷰, 그리고 최소한의 컨텍스트만을 주고받음
- AI를 사용한 검증 : 개발자가 초기 코드를 직접 작성한 후 AI를 활용해 코드의 검증, 테스트 및 개선 작업을 진행
AI의 초안 작성
- 코딩 표준과 프롬프트 작성 방식을 먼저 합의
- 일관된 스타일(린팅 규칙과 프로젝트 관례)를 정하고, 그 가이드라인을 AI 툴에 반영
- 스타일 선호도나 예시 코드를 제공하여 출력 결과를 유도하도록 허용
- README에 'AI 활용 팁'섹션을 만드는 것도 좋아 보임
- 툴의 협업 기능 활용
- 프롬프트가 좋은 결과를 냈다면, 해당 프롬프트를 이슈 트래커나 팀 채팅 등을 통해 다른 개발자와 공유하면 시간 절약과 일관성 유지에 도움이 됨
- agents.md 같은 것인가? xxx.md (AI가 context를 유지할 수 있도록?)
- 팀에서는 AI 사용을 개발 방향 설정에 있어 자연스러운 부분으로 취급해야 함. 팀에서 AI를 잘 활용할 수 있도록 개발자들의 사용 사례, 효과적인 기법, 주의 사항(예: '코파일럿이 X 작업에 구식 라이브러리 사용을 제안하니 조심') 등을 공유하는 것이 좋음
- 프롬프트가 좋은 결과를 냈다면, 해당 프롬프트를 이슈 트래커나 팀 채팅 등을 통해 다른 개발자와 공유하면 시간 절약과 일관성 유지에 도움이 됨
AI와 페어 프로그래밍
- 페어 프로그래밍
- 인간-AI : 코드를 빠르게 만들어내고 지루한 작업들을 효율적으로 처리
- 인간-인간 : 복잡한 문제를 풀 때 진가를 발휘. 미묘한 부분까지 이해하고 함께 아이디어를 내야하는 상황에서 유용(코드에 대한 오너쉽과 팀 차원의 이해도를 높여줌)
- AI 페어 프로그래밍 모범 사례
- 작업별로 AI 세션 시작 (컨텍스트가 명료해짐)
- 명확하고 간결한 프롬프트
- 많은 확인과 커밋 (AI가 만든 코드를 주기적으로 화인하고 테스트하면 문제를 빨리 찾을 수 있음)
- 긴밀한 피드백 루프 유지 (잘못된 부분을 고쳐주고 가이드)
바이브 코딩의 핵심 원칙
- 바이브 코딩은 속도와 창의적 자유를 가져다 주지만, 그 유연함 때문에 일정한 품질과 팀워크를 유지하려면 체계적으로 접근해야 함
- 빠르고 직관적인 AI 보조 엔지니어링은 창의적인 실험과 엔지니어링 원칙 사이의 균형을 잡아주는 확실한 가이드가 없으면 쉽게 혼돈에 빠질 수 있음
- 아래 필수
- 원하는 내용을 구체적이고 명확하게 전달
- 항상 AI의 출력을 원래 의도와 맞는지 검증
- AI를 주니어 개발자처럼 감독
- AI에 생각을 맡기지 않는다. 자신의 능력을 확장하는 데 사용
- 코드를 생성하기 전에 미리 규칙을 정한다.
- AI 사용을 개발 관련 소통의 자연스러운 부분으로 생각한다.
- AI 변경 사항을 분리할 수 있도록 별도의 커밋을 수행한다.
- 인간이 작성했든 AI가 생성했든 모든 코드는 반드시 리뷰를 거친다.
- 이해하지 못하는 코드는 머지하지 않는다.
- 문서, 주석, 아키텍처 결정 기록(Architecture decision record, ADR)을 우선시 한다.
- 효과적인 프롬프트를 공유하고 재사용 한다.
- 정기적으로 성찰하고 이터레이터를 개선한다.
728x90
반응형
'AI 노트 > AI 끄적끄적' 카테고리의 다른 글
| 70%를 넘어서: 인간 역할의 극대화 (0) | 2026.02.09 |
|---|---|
| AI와의 효과적인 소통 (1) | 2026.01.25 |