1. 프롬프트 엔지니어링 시작해보기
소프트웨어
- 1.0: 데이터 -> 알고리즘
- 2.0: 데이터 -> 알고리즘 -> 머신러닝
- 3.0: 프롬프트 -> 모델
프롬프트 엔지니어링: 원하는 결과를 정확히 의도한대로 항상 일관성있게 내도록 만드는 것
프롬프트 테크닉
- Zero-shot: 예제 없음
- One-shot learning: 한 개의 예제를 제공
- Two-shot learning: 두 개 이상의 예제를 제공
- Chain of Thought: LLM에게 이융에 대해서 설명하도록 만들어 답을 더 정확하게 생성하도록 만드는 기술로, 중간 추론 단계를 거치도록 하여, 복잡한 사고가 필요한 작업에 정확도를 향상시키는 방법
- 답이 나오는 과정에 대해 설명한 예시를 보여주고, 지시에 대한 답을 생성할 때 에시와 동일한 방식으로 그에 대한 과정을 설명하도록 만듦
- Zero shot chain of thought: 단계별로 생각해봅시다. 차근차근 생각해봅시다. 같은 문장을 마지막에 추가해서 Zero-shot에 Chain of Thought 효과를 내는 것
프롬프트 디자인
- 답변을 위해 필요한 적절한 컨텍스트 제공
- 원하는 결과를 추출을 위한 프롬프트 작성
- 원하는 포맷의 출력을 위한 프롬프트 작성
프롬프트 디자인 구성 요소
- Role: 답변자로서 페르소나를 설정
- Audience: 답변의 대상이 되는 특정 인구, 그룹 또는 개인의 페르소나
- Knowledge: 답변에 참고할 정보
- Task: 수행해야 하는 특정 작업이나 목표
- Policy(Rule): 응답을 만드 때 따라야 하는 특정 정책이나 규칙
- Style: 응답에 사용해야 할 특정 톤, 유머, 감정 등의 스타일
- Constraint: 응답이 따라야 하는 특정 제한 사항이나 조건
- Format: 응답이 따라야 하는 특정 형식이나 구조
- Examples: 원하는 응답의 예시를 제공하여 원하는 출력을 더 잘 이해하도록 도움
2. 세가지 기술로 창조하는 혁신적인 앱 개발 워크플로우
AI 서비스 개발에 사용되는 세 가지 도구
- Model(ChatGPT, Gemini 등), Prompt, 프롬프트 IDE (Google AI Studio)
일반적인 서비스 개발 워크플로우
- 아이데이션: 서비스 개발을 위한 아이데이션
- 구현 가능성 검증: 구현에 필수적인 기술 리서치와 동작을 확인하기 위한 간단한 데모 제작
- 기획: 서비스 플로우나 화면 설계 등 일반적인 자료
- 개발: 요구사항을 정리한 뒤 설계/구현/테스트
- 배포 및 운영: CI/CD 구축하고 다양한 지표 및 모니터링 도구 활용해 서비스를 지속적으로 개선
AI 기반 서비스 개발 워크플로우
- AI로 해결할 수 없던 문제를 해결할 수 있음
데모 프로젝트: 끝말잇기
3. Flutter x LangChain
LangChain: LLM을 소프트웨어 개발에 통합시키는 프레임워크
만들 수 있는 것들: 요약, 답변, Agent
- 요약
- RAG (Retrieval-Augmented Generation)
- LLM의 약점: 할루시네이션
- 할루시네이션을 방지
- RAG 레시피
- Agent
4. Frontend에서 TDD 시작해보기
TDD: 테스트 주도 개발
5. Melos를 사용하여 Flutter 모노레포 구축하기