(TNP) 자동 유사용역 실적 추천 프로그램

#. 소개

시도하고자 했던 것과 그 이유를 알려주세요.

저는 현재 제안 업무의 효율성과 낙찰 성공률을 향상시키기 위해 바이브코딩을 활용한 업무 자동화를 시도했습니다.

저희 회사는 정부 학술연구용역 수주를 주력하고 있습니다. 제안서 제출 시 '유사용역 실적'은 적격심사 및 사업수행능력 평가의 핵심 지표입니다. 그러나 현재 실적 도출 방식에는 구조적인 문제가 있습니다.
- 비효율적 수작업 : 신규 입찰 공고가 뜰 때마다 매번 과거 DB를 수동으로 검색하여 매칭
- 불균질한 품질 : 해당 업무는 주로 저연차(2년 미만) 직원이 수행함으로서 개인의 역량이나 경험 부족에 따라 실적 선별 기준이 모호해지거나 결과물이 통일성이 떨어지는 리스크가 존재

이러한 문제를 해결하기 위해 바이브코딩을 통해 자동화 프로그램을 구축하는 것을 목표로 했습니다. 자동 추천 프로그램 구축을 통해 동일한 기준의 최적화된 실적 산출하여 평가 점수 확보의 안정성을 확보하고, 단순 반복 업무를 자동화하여 직원들의 제안서 핵심 내용 작성에 더 집중할 수 있도록 리소스 절감 등이 기대됩니다.
* 아래 이미지에서 '유사실적 자동 매핑'만을 금번 실습 때 진행했습니다🙂


#. 진행 방법

어떤 도구를 사용했고, 어떻게 활용하셨나요?

Tip: 사용한 프롬프트 전문을 꼭 포함하고, 내용을 짧게 소개해 주세요.

Tip: 활용 이미지나 캡처 화면을 꼭 남겨주세요.

Tip: 코드 전문은 코드블록에 감싸서 작성해주세요. ( / 을 눌러 '코드 블록'을 선택)

'자동 유사용역 실적 추천 프로그램'을 만들게 된 상황을 비유적으로 먼저 설명한 후 사용한 도구를 이어서 설명하자면..
현재 상황을 도서관에 비유해 보겠습니다.
도서관 : 우리 회사의 데이터베이스 (과거 실적 DB)
책 : 이미 수행 완료된 수 많은 프로젝트들
새로운 손님 : 신규 제안 과제 (이번에 수주하고자 목표로 하는 프로젝트)
현재 문제 : 손님이 '이런 내용의 책을 찾아주세요'라고 하면 신입사원이 수 천 권의 책 제목을 하나하나 확인하면서 찾고 있고, 찾는 과정은 오래 걸리고 잦은 실수가 발생함
최종 목표 : 손님 주문 내용을 듣자마자 딱 맞는 책을 찾아주는 '똑똑한 사서 로봇' 만들기

"똑똑한 사서 로봇"을 만들기 위해서는 제가 사용한 도구는 대부분 무료 도구였습니다.
1) Python : 로봇의 뼈대와 뇌를 구성하는 프로그래밍 언어
2) Hugging Face : 과거 프로젝트의 요약문(글자)를 컴퓨터가 이해하고 계산할 수 있도록 숫자(백터)로 바꿔주는 역할을 하는 번역기
3) Pinecone : 숫자로 변환된 책을 꽂아두는 책꽂이(저장소)로, 로봇이 순식간에 검색을 수행함
4) Claude Code & Gemini : 로봇을 만들 때 사용한 AI코딩 비서, 제가 원하는 것을 설명하면 대신해서 코드를 짜주는 역할 수행!
* Gemini는 기획자 역할, Claude Code는 개발자 역할을 수행했습니다

#. 결과와 배운 점

배운 점과 나만의 꿀팁을 알려주세요.

과정 중에 어떤 시행착오를 겪었나요?

도움이 필요한 부분이 있나요?

앞으로의 계획이 있다면 들려주세요.

제가 바이브코딩을 시도하면서 부딪혔던 생생한 시행착오(삽질의 기록)을 공유합니다. 저처럼 처음 시작하는 분들께 도움이 되시길 바랍니다😢

자동화 하려다가 야근할 뻔....😢
원래는 회사 내부의 '과거 제안서'나 '최종보고서'를 활용해 과거 용역실적 요약 DB를 만들려고 했으나, 사내 보안 정책상 개인 기기에 파일 반출이 불가능했습니다. 그래서 대안으로 나라장터에 공개된 제안요청서와 과업지시서를 수집하기로 계획을 변경했습니다.

대상 프로젝트는 총 60개, 일일이 검색/다운로드 받기 귀찮아서 Claude Code에게 '나라장터에서 자동으로 다운로드 해주는 프로그램을 짜줘'라고 요청했는데 모두 실패했습니다....
1) 나라장터 사이트에 접속하면 쉴 새 없이 뜨는 팝업창, 복잡한 검색 메뉴, 미묘하게 다른 프로젝트(용역)명으로 초반부터 실패
2) 팝업 닫고, 검색창 잦고, 프로젝트명 검색하고, 다운로드 클랙해달라고 명령했지만 사이트 구조가 복잡한 탓에 오류가 계속 발생했습니다.
3) 스크립트 수정만 12번 했지만...모두 실패해서 60개 프로젝트를 모두 수기로 검색하고 다운로드 진행하였고 검색된 프로젝트는 48개, 그 중 파일이 있는건 28개 뿐이었습니다. 고작 28개 파일을 다운로드 받고자 약 2시간이라는 시간을 허비했고, 28개 파일 중 12개는 PDF 파일 변환 과정에서 에러가 계속 발생하여 결국 16개 자료만 최종 사용했습니다.
4) 16개 프로젝트의 제안요청서를 대상으로 각각의 프로젝트 요약은 Gemini를 사용했습니다.

데이터가 적을 땐 자동화보다 수동화가 정신건강에 좋을 수 있다는 점을..배웠고.. 실패하는 과정에서 어떤 단계에서 문제가 생긴건지는 꼼꼼하게 점검해서 AI가 어떤 점을 어려워하는지도 배울 수 있었습니다....! (강사님이 꼭 다 보라고 했어요!! 전 다 봤습니다 강사님!!)

바이브코딩이 만능이 아니었습니다. 때로는 자동화보다 수작업이 효율적일 때도 있었지만 이런 시행착오 덕에 데이터 처리 방식에 대해서 더 깊게 고민할 수 있었습니다.

여전히..Pinecone으로 맥락을 이해하게 하는 것은 해결하지 못했습니다.. 더 시도를 해봐야할 것 같습니다..



#. 도움 받은 글 (옵션)

참고한 지피터스 글이나 외부 사례를 알려주세요.

지피터스 뉴스레터

이번 주 AI, 딱 쓸 것만

매주 월요일 아침,
읽고 바로 써먹을 AI 소식만