목표 설정
1. 프로젝트 배경 및 필요성
마켓 리서치 업무를 담당하다보면 다양한 자료들을 긁어 모으게 됨
"수집 -> 정리 -> 아웃풋"의 단계를 거쳐야만 함
"정리" 단계에서 상당히 시간이 많이 소요되는데, AI에이전트를 통해 생략할 수 있다면 좋겠다고 생각함
2. 프로젝트 목표 및 개요
이번 프로젝트에서는 "수집 -> 아웃풋" 단계로 이어질 수 있도록 최소한의 기능으로 구현하여 이전 마켓 리서치 업무 보다 시간을 단축시키는 것을 목표로 함
3. 세부 구현 계획
1주차: 프로젝트 기초 설정
프로젝트 구조 설계
WHAT:
프 로젝트 루트 디렉토리:
C:/Dev/sticky_note/Git 저장소: GitHub 프라이빗 레포지토리 생성
HOW:
모듈별 디렉토리 구조화 (ui/, services/, etc.)
README.md 작성 (프로젝트 설명, 설치 방법, 사용 방법)
.gitignore 설정 (가상환경, API 키 등 제외)
개발 환경 준비 (VS code, 파이썬, PyQt6 GUI, Git)
WHAT:
VS Code 설정
Python Extension
Git Extension
Code Runner Extension
Python 환경
Python 3.9+ 설치
가상환경 생성:
python -m venv venv
필수 라이브러리
PyQt6 (GUI 프레임워크)
LangChain (OpenAI 통합용)
python-dotenv (환경변수 관리)
2주차: 핵심 기능 구현
PyQt6의 QMainWindow를 상속받아 커스텀 윈도우를 구현 (스티커 노트 특성 구현)
WHERE:
ui/note_window.py,ui/chat_window.pyWHAT:
스티커 노트 윈도우
프레임 없는 투명 창
드래그 가능한 타이틀바
우측 상단 컨트롤 버튼 (최소화, 닫기)
대화 창
채팅 인터페이스
결과 복사 버튼
LangChain을 활용하여 OpenAI GPT 모델과의 통신을 관리
WHERE:
services/ai_service.pyWHAT:
LangChain 설정
OpenAI GPT-4 모델 연동
프롬프트 템플릿 설정
응답 형식 정의
비동기 처리
텍스트 처리 최적화
UI 응답성 유지
3주차: 통합 및 최적화
성능 최적화를 위해 메모리 관리와 비동기 처리를 개선
WHERE: 전체 애플리케이션
WHAT:
메모리 관리
대용량 텍스트 처리 최적화
메모리 누수 방지
비동기 처리
API 호출 최적화
UI 스레드 관리
클로드의 도움으로 전반의 기획을 대략 작성해보았으나 개발 경험이 전무하여 많이 부족합니다!
보완해야할 점이 있다면, 어떤 내용이든 피드백 부탁드립니다 !! 감사합니다 🙂