Introduction
두 번째 섹션은 Aiden 님께서 발표를 맡으셨다.
17년차 소프트웨어 엔지니어로, PC, mobile, Web 그리고 mobile platforn SDK, IOS 앱 개발 등을 했다.
AI 에 관심이 많아 카카오를 11년 정도 다녔고, 최근 스타트업으로 이직하셨다.
멀티 플랫폼 개발 도구에 관심이 많고 그 중 특히 flutter 에 눈길이 가서 1년 반 정도는 계속 flutter 에 대해 공부 중이시다.
AI 서비스 개발에 사용되는 세 가지 기술(또는 도구)
Gemini
gemini 란,
머신러닝 전문 지식, 인공지능 모델을 만들기 위해 필요한 대량의 학습 데이터, 컴퓨팅 자원 등이 없어도 사용자가 인공지능 서비스를 사용할 수 있게 제공하는 서비스다. 비슷한 서비스로 Chat GPT 등이 있다.
Prompt
사용자가 컴퓨터로부터 어떠한 결과를 얻기 위해 요청하는 자연어 형태의 메시지를 말한다.
구조화된 형태로 컴퓨터에게 지시하면 더욱 질 높은 답변을 얻을 수 있다.
Google AI Studio
구글의 인공지능 및 머신러닝 솔루션을 탐색하고 개발할 수 있는 IDE 이다.
서비스 개발 workflow
일반적인 서비스 개발의 workflow
1. 아이데이션
어떤 서비스를 개발 할 지 아이디어 회의를 하는 것
2. 구현 가능성
모든 아이디어를 구현할 수 있는 것은 아니므로 PoC (Proof of Concept) 단계를 거쳐 실제 구현 가능성을 검증하는 과정을 거친다.
그리고 구현에 필수적인 기술을 리서치하고 그 기술을 바탕으로 간단한 데모를 제작한다.
3. 기획
실제 서비스를 만들기 위해 서비스 flow 나 화면 설계 등을 진행한다.
4. 개발
기획을 바탕으로 요구사항을 정리하고 개발 → 설계 → 구현 → 테스트 등을 진행한다.
5. 배포 및 운영
CI/CD 를 구축하고 다양한 지표나 모니터링 등의 도구를 활용해 서비스를 지속적으로 배포하고 운영하는 방식으로 서비스 발전시켜나간다.
AI 기반 서비스 워크플로우
1. 아이데이션
어떤 서비스를 개발 할 지 아이디어 회의를 하는 것
AI 를 활용하여 서비스적 차별성이나 사용자에게 추가적인 가치를 제공해 줄 수 있는 것이 어떤 것인지 아이디어 회의를 한다.
2. 구현 가능성
모든 아이디어를 구현할 수 있는 것은 아니므로 PoC (Proof of Concept) 단계를 거쳐 실제 구현 가능성을 검증하는 과정을 거친다.
그리고 구현에 필수적인 기술을 리서치하고 그 기술을 바탕으로 간단한 데모를 제작한다.
기존에 불가능했던 아이디어를 AI 를 활용하여 구현 가능성을 높인다.
데모 제작 또한 AI 도구를 활용해 빠르게 제작할 수 있다.
3. 기획
실제 서비스를 만들기 위해 서비스 flow 나 화면 설계 등을 진행한다.
프롬프트를 어떻게 작성할 지, 프롬프트를 어떻게 설계할 지 함께 논의한다. (프롬프트 디자이너 직군이 여기에 포함될 수 있다.)
4. 개발
기획을 바탕으로 요구사항을 정리하고 개발 → 설계 → 구현 → 테스트 등을 진행한다.
LLM 사용에 따른 대책을 강구해야 한다. 예를 들어, LLM 응답 속도, 답변 품질, 그리고 LLM 사용함에 있어서 증가한 트래픽에 대해서도 대응 준비가 되어야 한다.
LLM 사용 비용 또한 고려해야 할 요소이다.
5. 배포 및 운영
CI/CD 를 구축하고 다양한 지표나 모니터링 등의 도구를 활용해 서비스를 지속적으로 배포하고 운영하는 방식으로 서비스 발전시켜나간다.
LLM 이 잘 작동하고 있는 지, 유저들의 응답이 정상적으로 만족스럽게 내려가고 있는지에 대한 모니터링 대책 방안도 강구해야 한다.
결국, 할 일이 더 많아졌음에도 불구하고 AI 서비스를 적용해야 하는 이유는?
⇒ 기존에 해결하기 어려운, 또는 불가능한 문제를 해결할 수 있는 가능성이 증가하기 때문이다.
번외+)
LLM 사용에 따른 비용 절감에 대해
히스토리가 계속 쌓이게 되면 토큰당 가격이 늘어나게되므로 비용이 점차 증가하게 된다. 때문에 어느 정도 쌓였을 때 cut 해 줘야 한다.
하지만 히스토리에 따라서 또 응답 질이 많이 차이가 나는 경우가 있으므로 히스토리를 언제 얼마나 컷 할 지도 고민해야 함
토큰 비용을 해결하기 위한 방안?
토큰이란 의미있는 최소 원자 단위인데(예를 들어 apple 은 ap, ple 또는 app, le 등 2~3 토큰으로 나눌수있음) LLM 마다 한글 토큰 수가 다르다.
LLM 에게는 영어로 요청하는게 좀 더 싸게 먹힐 수도 있다.
그리고 클로바같은 경우는 한글에 최적화되어 있어서 토큰 나누는 기준이 달라서 한글로 할 땐 보다 싼 비용을 지불할 수 있다.
AI 기반 서비스를 구축하는 것 자체가 서비스의 재미나 성공을 보장할까?
너무나 당연한 소리지만 결론적으로, AI 기반 서비스 구현 자체가 서비스의 재미나 성공을 보장하지 않는다.
프롬프트 비용 충당 등 고민해야 할 포인트가 굉장히 많다.
즉, AI 기능을 도입하는 것 자체에 목적을 두지 말자는 것
⇒ 그럼에도 불구하고 인공지능 혹은 LLM 의 동작 원리를 이해하고 서비스를 개발하는 건 중요하다.
왜 LLM 이 일관되지 않은 질 낮은 응답을 주는 지, 그리고 어떻게 프롬프트를 디자인하면 우리가 원하는 형태의 응답을 내려줄 지에 대해 고민하다보면 더 개선된 작업을 할 수가 있기 때문이다.