AI 소프트웨어 개발을 위한 최소한의 지식
AI는 도구입니다. AI가 여러분의 아키텍처 및 엔지니어링 지식을 대체할 수는 없습니다.
의사결정을 AI에 외주 주지 마십시오. 모든 기능적 및 비기능적 요구사항을 직접 정의해야 합니다. 모든 세부 사항을 구체적으로 명시하십시오.
세상에 공짜 점심은 없습니다. 무료 또는 저렴한 모델은 전문가급 모델보다 성능이 떨어집니다. 소프트웨어 엔지니어링에는 높은 추론 능력을 갖춘 Opus 또는 GPT를 사용하십시오. 저품질 모델은 더 많은 재작업을 초래하며, 이는 여러분과 리뷰어의 시간을 낭비하게 만듭니다.
로컬 머신에서 AI 에이전트를 사용하십시오. 하네스(harness)가 중요합니다. GPT에는 Codex를, Opus에는 Claude Code를 사용하십시오. 하네스가 부실하면 동일한 모델을 사용하더라도 결과가 좋지 않습니다.
저렴한 플랜은 아마추어 프로젝트에는 적합할 수 있습니다. 전문적인 프로젝트에는 최고의 모델에 접근할 수 있고 사용량 제한이 높은 플랜이 필요합니다.
모든 프로젝트에는 CLAUDE.md 또는 AGENTS.md 파일이 필요합니다. 내용은 짧고 객관적으로 유지하십시오. 영어로 작성하십시오. 프로젝트의 핵심 정보만 포함하십시오.
코드를 즉시 구현하지 마십시오. 다음 프로세스를 따르십시오:
- 문제 분석
- 계획 수립
- 계획 검토
- 코드 구현
계획에는 아키텍처, 수락 기준(acceptance criteria), 테스트, 피드백 루프가 포함되어야 합니다.
자신의 계획을 회의적으로 바라보십시오. 코드를 작성하기 전에 모든 것을 검토하십시오. AI에게 간극을 찾아내고 여러분의 결정에 이의를 제기하도록 요청하십시오. AI가 실패한다면 그것은 오직 여러분의 계획이 잘못되었기 때문이어야 합니다.
비판적 사고 능력을 키우십시오. AI는 실행 속도를 높여줄 뿐, 판단력이나 엔지니어링 결정을 대신할 수는 없습니다.
역할을 바꾸십시오. 단순한 작업 수행자가 되지 마십시오. 아키텍트, 테크 리드, 프로덕트 오너로서 행동하십시오. 시스템 전체를 생각하십시오.
컨텍스트가 전부입니다. 프롬프트 하나만으로는 부족합니다. 비즈니스 규칙, 아키텍처, 컨벤션, 제약 사항을 제공하십시오.
항상 자동으로 검증하십시오. 모든 사이클은 빌드, 테스트, 린터(linter), 정적 분석으로 마무리되어야 합니다.
단순히 작동한다고 해서 코드를 받아들이지 마십시오. 가독성, 단순성, 보안성, 유지보수성을 요구하십시오.
프롬프트를 표준화하는 기술을 활용하여 회사 내의 프롬프트를 통일하십시오. 이를 통해 지침을 반복하지 않고도 모든 프로젝트에서 품질과 아키텍처를 유지할 수 있습니다.
만약 계획과 테스트가 너무 번거롭게 느껴진다면, 소프트웨어 개발에 AI를 사용하지 마십시오. 저품질 코드와 기술 부채를 만들게 될 것입니다.
책임은 여러분에게 있습니다. 프로덕션 환경의 모든 코드 한 줄 한 줄에 대해 여러분이 책임을 집니다. AI나 도구를 탓하지 마십시오. 회사는 여러분에게 결과를 기대합니다.
출처: https://dev.to/andredarcie/o-minimo-que-voce-precisa-saber-para-desenvolver-software-com-ia-1dc9
