Skip to content

Latest commit

 

History

History
48 lines (33 loc) · 4.67 KB

File metadata and controls

48 lines (33 loc) · 4.67 KB

06. AI가 구현을 잘하게 유도하기

Note

이 문서는 AI 기반 코드 생성 도구(Copilot, Figma MCP 등)가 더 좋은 코드를 생성하도록 유도하는 프롬프트 엔지니어링 및 디자인 가이드라인에 대해 설명합니다. Figma MCP 설치 및 사용하기에서 배운 내용을 바탕으로 합니다.

6.1. AI 코드 생성의 원리 이해

AI 코드 생성 도구는 대규모 코드 데이터셋을 학습하여 패턴을 인식하고, 주어진 입력(프롬프트, 주석, 기존 코드)을 기반으로 다음 코드를 예측합니다. 따라서 AI가 원하는 코드를 생성하도록 유도하려면, AI가 이해할 수 있는 명확하고 구체적인 '입력'을 제공하는 것이 중요합니다.

6.2. 프롬프트 엔지니어링 (Prompt Engineering)

프롬프트 엔지니어링은 AI 모델에게 원하는 결과를 얻기 위해 효과적인 지시(프롬프트)를 작성하는 기술입니다. 코드 생성 AI에게는 다음과 같은 프롬프트 전략이 유용합니다.

  • 명확하고 구체적인 요구사항: 추상적인 설명보다는 구체적인 기능, 사용될 기술 스택, 예상되는 출력 형태 등을 명시합니다.
    • 나쁜 예: "버튼 만들어줘"
    • 좋은 예: "React 컴포넌트로, 클릭 시 handleClick 함수를 호출하고, primary 스타일을 가진 버튼을 만들어줘. 텍스트는 'Submit'으로 해줘."
  • 예시 제공 (Few-shot learning): AI가 특정 패턴을 따르도록 유도하기 위해 몇 가지 예시 코드를 제공합니다.
  • 제약 조건 명시: 특정 라이브러리 사용, 특정 디자인 패턴 준수, 성능 요구사항 등 제약 조건을 명시합니다.
  • 단계별 지시: 복잡한 기능은 한 번에 요청하기보다 작은 단계로 나누어 지시합니다.
  • 역할 부여: AI에게 특정 역할(예: "프론트엔드 개발자로서", "React 전문가로서")을 부여하여 해당 역할에 맞는 답변을 유도합니다.

6.3. 디자인 단계에서의 AI 유도 전략

Figma에서 디자인할 때부터 AI가 코드를 잘 생성할 수 있도록 구조화하는 것이 중요합니다. 이는 Figma MCP의 핵심 원칙과도 연결됩니다.

  • 의미 있는 레이어 이름: 레이어 이름을 Rectangle 1 대신 Button/Primary, Text/Heading/Large와 같이 의미 있고 일관성 있게 지정합니다. AI는 이 이름을 통해 요소의 역할과 스타일을 파악합니다.
  • Auto Layout의 적극적인 활용: Day 5: Auto Layout을 적용해야하는 이유에서 배운 Auto Layout은 AI가 Flexbox나 Grid와 같은 CSS 레이아웃을 이해하는 데 큰 도움을 줍니다.
  • 컴포넌트 및 스타일의 체계적인 사용: Day 6: 디자인 시스템의 개념과 구축 방법에서 배운 컴포넌트와 스타일을 일관되게 사용하면 AI가 재사용 가능한 코드를 생성하기 용이합니다.
  • 변수(Variables) 활용: Day 5: Figma 변수(Variables) 활용하기를 통해 색상, 폰트 크기 등을 변수로 관리하면 AI가 CSS 변수나 디자인 토큰을 생성하는 데 도움이 됩니다.
  • 주석 및 설명 추가: Figma 파일 내에 주석을 추가하여 특정 디자인 결정이나 인터랙션에 대한 설명을 제공합니다. 이는 AI가 코드의 의도를 파악하는 데 유용합니다.

6.4. AI 생성 코드 검토 및 개선

AI가 생성한 코드는 항상 완벽하지 않으므로, 다음 사항을 고려하여 검토하고 개선해야 합니다.

  • 정확성: 기능이 의도대로 작동하는지 확인합니다.
  • 효율성: 더 효율적인 알고리즘이나 데이터 구조가 있는지 검토합니다.
  • 보안: 잠재적인 보안 취약점이 없는지 확인합니다.
  • 가독성 및 유지보수성: 코드 컨벤션을 준수하고, 다른 개발자가 이해하기 쉬운지 확인합니다.
  • 테스트: 생성된 코드에 대한 테스트 코드를 작성하여 안정성을 확보합니다.

Tip

AI는 강력한 도구이지만, 최종적인 책임은 개발자에게 있습니다. AI를 보조 도구로 활용하되, 항상 비판적인 시각으로 코드를 검토하고 개선하는 습관을 들이세요.

Note

다음 내용인 Git과 GitHub에서는 개발 협업 및 버전 관리에 필수적인 Git과 GitHub의 기본 개념을 학습합니다. 이는 AI가 생성한 코드를 관리하고 팀원들과 공유하는 데 중요합니다.