일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 컴파일
- 헤더가드
- 회고록
- 12기
- AWS
- Rag
- #include
- 전처리
- 최종프로젝트
- sk네트웍스familyai캠프12기
- few-shot
- 어셈블
- ai캠프
- 임베딩
- 21주차
- openai
- sk네트웍스family
- 주간회고
- FastAPI
- sk네트웍스familyai캠프
- 소스코드
- Docker
- Langchain
- C++
- 중복인클루드
- Fine-tuning
- one-shot
- sk네트웍스ai캠프
- zero-shot
- 배포
- Today
- Total
ansir 님의 블로그
SK 네트웍스 family AI 캠프 21주차 회고( 2025-07-14 ~ 2025-07-18 ) 본문
SK 네트웍스 family AI 캠프 21주차 회고( 2025-07-14 ~ 2025-07-18 )
ansir 2025. 8. 1. 00:20
PMI
Plus : 좋았던 점
이번 주는 저번 주에 완성한 기획서를 바탕으로 개발을 시작하였습니다.
LangGraph를 사용한 주요 기능 개발
프로젝트 기획을 하면서 LangGraph에 대한 기술을 알게 되었고 주요 기능들을 LangGraph로 구현하기로 하였습니다. LangGraph는 LangChain에서 새롭게 추가된 라이브러리로 기존의 직선적인 로직 처리만 가능했던 프레임워크를 다양한 상태를 유지하며 복잡한 워크플로우를 처리할 수 있게 해줍니다. 제약 영업 직원의 업무를 자동화하려는 프로젝트의 취지에 맞는 기술이라고 생각하였고 새로운 기술을 도입한다는 점에서 흥미로웠습니다.
Agent 중심의 작업 분담
프로젝트에는 크게 4가지 기능이 있는데, 문서 검색과 문서 자동 생성, 직원 실적 분석, 거래처 분석로 되어 있습니다. 각 기능을 에이전트로 설정하여 문서 검색 에이전트, 문서 자동 생성 에이전트, 직원 실적 분석 에이전트, 거래처 분석 에이전트로 나누고 사용자 질의가 들어왔을 때 의도에 맞는 에이전트를 호출해주는 라우터( 분류 ) 에이전트로 나누었습니다. 그래서 5명의 팀원이 하나씩 에이전트를 맡아 개발을 진행하기로 하였고 그 중 문서 검색 에이전트를 맡아 작업을 진행하였습니다.
데이터베이스 설계
문서 검색 기능을 만들기 위해서는 문서를 저장하는 데이터베이스를 구축해야 했습니다. 그래서 문서 검색 에이전트 개발을 하기 전에 데이터베이스 설계를 먼저 진행하였습니다. 문서는 사내 규정이나 인사 정보, 산출 문서와 같은 내부 문서와 뉴스나 법규와 같은 외부 문서로 나뉘기 때문에 두 개의 데이터베이스를 필요로 했고, 각 데이터베이스는 정형 DB, 비정형 DB, 벡터 DB로 구성하였습니다. 그 이유는 프로젝트 특성 상 정형, 비정형 데이터를 모두 저장하면서 자연어로 문서 검색이 가능하고, 질문에 대한 답변으로 원본 문서도 함께 반환해야 했기 때문입니다. 문서가 저장소에 저장되게 되면 문서의 내용은 벡터 DB에 임베딩 되어 저장되고 해당 문서의 원본은 비정형 DB에 저장하고, 문서 원본의 저장 경로와 문서 고유의 ID 값을 정형 DB에 저장하여 앞서 말한 문서 검색의 특성을 반영할 수 있게 되었습니다. 이러한 특수한 데이터베이스를 설계하는 작업은 단순한 데이터베이스만 만들어봤던 저에게 특별한 경험이었고 데이터베이스에 대해 깊게 고민해볼 수 있었던 시간이었습니다.
Notion을 활용한 작업 및 일정 관리
개인적으로나 협업으로 프로젝트를 진행할 때 일정을 짜거나 작업 진행 상황을 기록할 때 Notion을 많이 사용 했었는데, 이러한 경험을 활용하여 팀의 일정 및 작업 관리를 Notion을 활용하여 관리할 수 있도록 하였습니다. Notion의 데이터베이스 기능을 활용하여 기획 문서와 리서치 문서, 회의록 문서를 나눠서 관리할 수 있게 하였고 프로젝트 템플릿을 추가하여 개인의 작업 진행 상황을 추적할 수 있도록 하였습니다. GitHub나 Notion 같은 툴들을 사용해봤던 경험을 살려 프로젝트에 적용할 수 있어서 뿌듯했습니다.
Minus : 아쉬웠던 점
벡터 DB를 어떤 툴로 구현할지 논의 끝에 Milvus와 OpenSearch 중 OpenSearch를 사용하기로 하였습니다. 이유는 OpenSearch가 문서 관리도 편리하고 검색 방식도 다양하기 때문이었는데 시간 관계 상 Milvus와 비교 분석을 하지 못하고 선택하게 되어 아쉬움이 남습니다. 시간이 여유가 있을 때 Milvus와 비교 테스트를 진행하여 기술 선정의 합당성을 높이고 싶습니다.
Impressive : 인상적이었던 점
지금까지 여러 프로젝트를 하면서 느끼는 점이지만 저는 모든 팀원이 각자의 분야에서 최선을 다할 수 있도록 이끌어 나가기 위해 노력하는 것 같습니다. 각자가 맡은 일에 전문성을 가지게 되고 잘 분담된 상태에서 작업이 처리되는 모습을 보는 것을 좋아하기 때문인 것 같습니다. 이를 위해서는 많은 커뮤니케이션이 필요하고 서로를 이해하려는 노력이 필요하지만 이 또한 흥미롭고 재미있습니다. 지금 프로젝트도 마찬가지로 작업이 잘 분담되어 있고 팀원들과의 소통도 활발하게 이뤄지고 있습니다. 모두가 힘들 수 있겠지만 마지막엔 모두가 만족할 만한 결과물을 만들 것이라 생각합니다.
'SK 네트웍스 family AI 캠프 > 주간 회고' 카테고리의 다른 글
SK 네트웍스 family AI 캠프 21주차 회고( 2025-07-14 ~ 2025-07-18 ) (2) | 2025.08.01 |
---|---|
SK 네트웍스 family AI 캠프 20주차 회고( 2025-07-07 ~ 2025-07-11 ) (4) | 2025.07.28 |
SK 네트웍스 family AI 캠프 19주차 회고( 2025-06-30 ~ 2025-07-04 ) (2) | 2025.07.09 |
SK 네트웍스 family AI 캠프 18주차 회고( 2025-06-23 ~ 2025-06-27 ) (0) | 2025.07.06 |
SK 네트웍스 family AI 캠프 17주차 회고( 2025-06-16 ~ 2025-06-20 ) (0) | 2025.06.23 |