서론
07/18 ~ 09/10 : 기업 참여 프로젝트(파이널 프로젝트)
07/28 : 산출물 작성
07/29 : 산출물 작성
07/30 : 멘토링
07/31 : AI특강
08/01 : AI요약 기능 구현
이번 주차도 기획 단게 산출물들을 마무리하고 요구사항과 ERD를 확실히 정하는 한 주였습니다.
1. AI 활용 특강
주니어 개발자가 AI에 어떻게 대응해야 좋은지에 대해서 강의
AI에 폭넓은 지식을 현 실무자로 변화하는 개발 시장에 인사이트를 제공해주는 강의였습니다.
"현직 엔지니어에게 2가지 핵심 역량으로 커뮤니케이션이랑 문제(좋은 질문)해결 능력이 중요하다." 라는 메세지도 주셨습니다.
강의를 들으면서 AI를 어떻게 써 먹을건가에 대한 고민이 더 깊어지는 시간이 되었습니다. 향 후 5년 ~ 7년을 생각하면서 말이죠.
2. 파이널 프로젝트
팀원들과 함께 차곡차곡 산출물을 통해 설계를 하면서 구상하고 여러 리스크에 대비하였습니다.

제가 맡은 역할 업무는 AI요약기능으로 클릭하면 3줄 요약해주는 요약봇을 만들기로 했습니다.
그 과정에서 자연어와 LLM에 대하여 깊이 있게 알게 되었습니다.
일단 AI요약봇 기능을 만들려면 모델을 만들지 않는한 API서버를 구축하고 모델을 불러와야 되기 때문에 FastAPI서버랑 FlaskAPI서버 중 빠르고 쉽게 구축할 수 있는 FlaskAPI서버로 만들었습니다.
pip install transformers torch flask
# kobart_summary_api.py
from flask import Flask, request, jsonify
from transformers import PreTrainedTokenizerFast, BartForConditionalGeneration
app = Flask(__name__)
tokenizer = PreTrainedTokenizerFast.from_pretrained("digit82/kobart-summarization")
model = BartForConditionalGeneration.from_pretrained("digit82/kobart-summarization")
@app.route('/summarize', methods=['POST'])
def summarize():
text = request.json.get('text', '')
if not text:
return jsonify({"error": "No input text"}), 400
input_ids = tokenizer.encode(text, return_tensors="pt", max_length=1024, truncation=True)
summary_ids = model.generate(input_ids, max_length=128, num_beams=4, early_stopping=True)
summary = tokenizer.decode(summary_ids[0], skip_special_tokens=True)
return jsonify({"summary": summary})
처음에는 KoBART를 가져와 사용해봤지만 프롬프트에 약하다는 것을 알았습니다. KoGPT도 마찬가지로 무료 성능이라서 그런지 쉬운 프롬프트도 제대로 반영되지 않았습니다.
그래서 오픈AI의 챗GPT3.5를 가져와서 썼습니다.
설치:
npm install openai
코드:
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: "your-key",
});
const response = openai.responses.create({
model: "gpt-4o-mini",
input: "write a haiku about ai",
store: true,
});
response.then((result) => console.log(result.output_text));
간단하게 프롬프트도 작성해보며 테스트 해보기도 했습니다.
특강에서 배운대로 프롬프트를 정규화시켜야 좀 더 괜찮은 요약이 되겠다는 생각을 많이했습니다.

3. 마무리
하나하나 계획 세웠던 것들을 잘 마무리하면서 문제점을 하나하나 해결해 나가는 과정이 빨라지고 있습니다. 그렇지만 SQLD 공부 등 아직 계획하고 하지 못하는 일이 많습니다. 일 처리에 우선 순위를 두고 같이 묶어 하면 좋은 것 같습니다.
또, 팀원과의 원할한 소통으로 마무리 하는 것이 좋았던 것 같습니다.
전 주와 같이 프로젝트에 중점을 두면서 우선순위를 두고 일을 잘 마무리하도록 하겠습니다.
08/23 : SQLD 자격증 시험