2023-11-29
오늘은 드디어 몸이 그나마 괜찮아졌다. 정상적인 일을 다시 시작할 수 있게 되었다.
먼저, 산타 로직 프롬프트를 구현했다. 처음에는 API response price를 고려해서 wordslist로 편지를 check하고, negative한 편지에 대해서만 AI check를 하려고 했지만.. 그러면 우리 프로젝트의 의미가 사라진다고 생각해서, 비용이 많이 나오더라도 .. 모든 편지에 대해 AI request를 하기로 했다. 모든 편지에 대해 AI 리퀘를 보내서 점수 척도와 이유도 파악을 하고, 나중에 이 자료들을 토대로 선물을 받을 수 있는 지 없는지 판단, 받을 수 있다면 어떤 선물이 어울릴 지 분석까지 해주는 서비스로 정했다.
그래서, 편지에 대해 AI가 분석하고 JSON으로 response를 할 수 있게 프롬프트를 작성했다. 이 작업에 시간이 많이 소요됐고, Prompt Engineering은 언제나 힘든 작업이다.
아래는 프롬프트 전문이다.
Now you are Santa. you have to decide whether to give a gift to someone, so you are going to read the letters they have received and use those letters to judge the recipient's goodness or evilness.
1. Start with a default score of 0 and assess up to a maximum of 10. If you can't judge, give them all 0 points.
2. Set 'isSpam' to True when if the letter contains inappropriate or irrelevant contents.
3. Respond only in this JSON format. In 'reason', write a short reason for the scoring decision in Korean. In 'reason-object', write the main single keyword that influenced your scoring:
{
'goodness': '0',
'evilness': '0',
'isSpam': False,
'reason': '..',
'reason-object': '..'
}
또, 프로젝트 X가 바이럴을 잘 탔을때의 경우를 생각 해 API request limit을 올려달라고 요청을 보냈다.
매일 프로젝트 X(AI산타 프로젝트)에 대한 회의, 작업을 저녁 9시쯤 시작한다. 나와 같이 작업하는 팀(세모잇, 가족 3명)이 퇴근하고 여가 시간이 저녁 9시쯤 시작되기 때문이다.
지금까지 회의로 결정된 방향성은 아래와 같다.
- "산타에게 이 친구가 어떤 사람인지 말해주세요" 라는 컨셉으로 가기로 결정
- 핀 번호 사용하기로 결정
- AI 모든 편지에 대해 검사하기로 결정
- 각 편지에 대해 점수와, 이유 볼 수 있게 하기로 결정
- AI가 선물 추천도 하도록 결정
오늘은 백준을 많이 풀었다. 1단계와 2단계에 수록되어있는 모든 문제를 C++로 완료하였다.
C++, low-level 언어로 알고리즘 풀이를 하니 좀 더 컴퓨터 사고력이 늘어나는 것 같다.
오늘 푼 백준 문제는 ..
2753 14681 2884 2525 2480
윤년 문제, 사분면 문제, 시계 문제, 주사위 문제 등이 있었고. 어려운 문제들은 아니었다.
오늘의 문제를 풀며 배운 점은..C++ 표준화 위원회, 공식적으로는 ISO/IEC JTC1/SC22/WG21
에 대해 알게 되었다. 이런곳에서 C++ 표준 헤더를 만들고 관리하는구나.algorithm
헤더의 존재도 알게 되었다. 컴퓨팅에 필요한 신뢰 가능한 알고리즘 함수들이 모여있더라.
또, C++ 11 미만에서는 std::max에 대해 std::initializer_list
사용이 불가능한 것도 알았다.
그래서 std::max를 겹쳐 써서 해결했다.
std::max({a,b,c});
std::max(a,std::max(b,c));
내일은 세팅한 Spring Boot에 API 클래스들을 만들것이다. 오늘은 일단 Python으로 PoC를 구현했다.
스프링 부트에 대해서도 꾸준한 공부가 필요할 것 같다.
최종 평가
최고급 평가사 일론머스크의 평가
-------------------------------
[평가 대상]
2023-11-29일자 스터디 노트
[평가 요약]
오늘의 학습 및 개발 활동은 프로젝트 진행에 중점을 두고, 다양한 알고리즘 문제를 해결하는 것으로 구성되었습니다. 주요 내용은 다음과 같습니다:
1. **프로젝트 개발**: AI 산타 로직의 프롬프트 구현은 프로젝트의 핵심 부분입니다. 편지 분석과 점수 매기기, JSON 형식으로의 응답 구현은 프로젝트의 본질을 강화합니다. Prompt Engineering은 귀하의 창의성과 기술적 사고를 증명합니다.
2. **API Request 관리**: 프로젝트가 성공적으로 바이럴될 경우를 대비하여 API 요청 한도를 늘리는 전략적 접근은 미래 지향적인 사고를 보여줍니다.
3. **백준 문제 해결**: 다양한 유형의 문제를 해결함으로써, 귀하는 C++ 기본 문법과 알고리즘 사고력을 효과적으로 발전시키고 있습니다.
[개선 및 보완점]
- **Prompt Engineering**: AI 기반 서비스에서 프롬프트의 효율성과 정확성은 중요합니다. 결과의 품질을 높이기 위해 지속적인 테스트와 최적화가 필요합니다.
- **기술적 심화 학습**: Spring Boot 및 관련 기술에 대한 깊이 있는 학습은 프로젝트 개발의 안정성과 확장성을 높이는 데 도움이 될 것입니다.
[종합 평가]
오늘의 학습은 기술적 발전과 창의적인 문제 해결에 중점을 두었습니다. AI 산타 프로젝트의 핵심 부분 개발과 다양한 알고리즘 문제 해결은 귀하의 기술 스펙트럼을 넓히고 있습니다. 향후 프로젝트와 학습 과정에서도 이러한 긍정적인 추세가 지속되기를 바랍니다.
[종합 점수]
92/100
'일일 스터디노트' 카테고리의 다른 글
231202: POST API 구현, CORS 정책 (0) | 2023.12.03 |
---|---|
231201: JPA와 MVC 패턴, 의존성 주입 (0) | 2023.12.02 |
231128: AWS EC2에 MySQL 세팅 (0) | 2023.11.28 |
231127: 감기, 산타 부정단어 로직 (0) | 2023.11.27 |
231125: AI 산타 로직 (0) | 2023.11.25 |