[Manus] Manus로 정부지원사업 컨설턴트 지원서 자동 작성기 만든 후기 — 공고 수집부터 HWP 붙여넣기까지

## 📝 한줄 요약

Manus(AI 코딩 도구)로 정부지원사업 컨설턴트 지원서 자동 작성 웹앱을 만들었습니다. 매일 기관 사이트를 돌아다니던 시간이 사라지고, 지원서 초안 작성이 2~3시간에서 30분 이내로 줄었습니다.

**바쁘시면 이것만 읽어도 돼요:**
- Manus로 3개 기관(기업마당·소상공인진흥공단·K-Startup) 자동 크롤링 + 오전 6시 알림 구축
- 모집공고 URL만 붙여넣으면 AI가 내 프로필 기반 지원서 초안을 자동 생성
- HWP 직접 생성이 불가능해서 "섹션별 탭 복사" 방식으로 우회 해결
- 봇 차단 사이트(CUPID, Cloudflare)는 자동 감지 후 텍스트 모드로 안내
- 코딩을 몰라도 Manus에게 요청하면 크롤러를 기관별로 추가할 수 있음
- 막히면 "왜 안 되는지 설명해줘"라고 물어보는 게 최고의 디버깅 방법

## 🎯 이런 분들께 도움돼요
- 정부지원사업 컨설턴트로 활동 중이거나 지원을 준비하는 분
- 매번 비슷한 지원서를 새로 작성하는 데 지쳐있는 분
- AI 코딩 도구(Manus 등)로 업무 자동화에 관심 있는 비개발자

## 😫 문제 상황 (Before)

정부지원사업 컨설턴트로 활동하다 보면 두 가지 반복 노동이 생깁니다.

첫 번째는 **공고 탐색**입니다. 기업마당, 소상공인시장진흥공단, K-Startup, 각 지역 테크노파크 등 수십 개 기관 사이트를 매일 직접 돌아다니며 새 공고가 올라왔는지 확인해야 합니다. 하루에 30분~1시간이 그냥 사라집니다. 그러다 바쁜 날 하루 빠뜨리면 마감이 지난 공고를 뒤늦게 발견하는 일도 생깁니다.

두 번째는 **지원서 작성**입니다. 기관마다 양식이 다르고, 요구하는 항목도 조금씩 다릅니다. 그런데 결국 들어가는 내용은 비슷합니다. 학력, 경력, 자격증, 전문 분야, 지원 동기... 매번 새 한글 파일을 열고 비슷한 내용을 처음부터 다시 채워 넣는 데 2~3시간이 걸립니다. 이 작업을 자동화할 수 없을까 고민하다가 Manus를 써보기로 했습니다.

## 🛠️ 사용한 도구
- **도구**: Manus (AI 에이전트)
- **결과물**: 웹 애플리케이션 (React + Node.js)
- **배포**: consultapply-mr9mqydd.manus.space

---

## 🔧 작업 과정

### 핵심 기능부터 — URL 붙여넣으면 지원서가 나온다

가장 먼저 만든 기능은 핵심 플로우입니다. 모집공고 URL을 붙여넣으면 AI가 공고 내용을 분석하고, 미리 등록해둔 내 프로필(학력·경력·자격증·성과)과 결합해서 지원서 초안을 자동으로 만들어주는 것입니다.

```
모집공고 URL 또는 텍스트를 입력하면 AI가 분석해서
내 프로필 기반으로 지원서 초안을 자동 생성해주는 웹앱 만들어줘.
지원서는 편집 후 Word 파일로 다운로드할 수 있어야 해.
```

Manus가 데이터베이스 구조부터 화면 디자인까지 전부 만들어줬습니다. 프로필 관리 페이지, 새 지원서 작성 페이지, 편집 페이지, 이력 조회까지 한 번에 나왔습니다. 처음 결과물을 봤을 때 "이게 진짜 돌아간다고?" 싶었습니다.

---

### 공고 유형이 다 다르다 — 컨설턴트 모집만 있는 게 아니었다

쓰다 보니 컨설턴트 모집 외에도 사업 신청, 보조금 지원 공고도 자주 보게 됩니다. 공고 유형마다 지원서에 들어가는 섹션이 다릅니다.

```
컨설턴트 모집 외에 사업신청, 보조금 지원, 기타 유형도 지원해줘.
유형마다 지원서 섹션 구성이 달라야 해.
```

이후로는 공고를 입력할 때 유형을 먼저 선택하면 AI 프롬프트와 지원서 구성이 자동으로 달라집니다. 컨설턴트 모집이면 "지원 동기 / 경력 기술서 / 전문성 / 수행 계획", 사업 신청이면 "추진 배경 / 추진 역량 / 추진 계획 / 기대 효과" 이런 식으로요.

---

### 가장 어려웠던 것 1 — HWP 파일을 만들 수가 없다

지원서를 Word로 다운로드하는 기능을 만들었는데, 실제로 써보니 문제가 생겼습니다. 기관에서 주는 공식 양식은 전부 한글(HWP) 파일입니다. Word로 변환하면 표 간격이 틀어지고 글꼴이 깨집니다.

HWP 파일을 프로그램으로 직접 생성하는 건 독점 포맷이라 불가능합니다. 그래서 다른 방법을 찾아야 했습니다.

```
HWP 파일을 직접 만들 수 없으니,
한글 문서 표에 바로 붙여넣기 가능한 형식으로
섹션별 복사 버튼을 만들어줘.
```

결과적으로 지원서 편집 페이지 하단에 "한글 문서 붙여넣기" 패널이 생겼습니다. 기본정보, 학력, 경력, 자격, 실적, 지원동기, 경력기술서 등 섹션별로 복사 버튼이 있고, 클릭하면 한글 표에 바로 Ctrl+V로 붙여넣기 가능한 탭 구분 텍스트가 복사됩니다. 전체를 한 번에 복사하는 버튼도 있습니다.

제약 조건을 우회하는 방법을 AI가 제안해준 셈입니다.

---

### 가장 어려웠던 것 2 — 봇 차단 사이트

URL을 붙여넣으면 AI가 공고 내용을 가져와야 하는데, 일부 기관 사이트에서 오류가 났습니다. 세종테크노파크가 대표적이었습니다.

```
세종테크노파크 URL을 넣으면 분석이 안 되는데 왜 그래?
```

알고 보니 CUPID라는 보안 시스템이 서버에서 오는 요청을 봇으로 판단하고 차단하는 것이었습니다. JavaScript로 쿠키를 검증하는 방식이라 서버 사이드에서는 우회가 원천적으로 불가능합니다.

Manus가 제안한 해결책은 "차단을 감지하면 사용자에게 명확히 알려주고 텍스트 모드로 안내하는 것"이었습니다. 이제 차단된 사이트 URL을 넣으면 "이 사이트는 보안 시스템으로 자동 수집이 불가합니다. 공고 내용을 직접 복사해서 텍스트 모드로 붙여넣어 주세요"라는 안내가 뜹니다. CUPID, Cloudflare, 자동등록방지 등 12개 키워드로 차단 여부를 자동 판별합니다.

---

### 핵심 기능 — 매일 새벽 자동 크롤링 + 오전 6시 알림

매일 기관 사이트를 직접 돌아다니는 문제를 해결하는 핵심 기능입니다.

```
기업마당, 소상공인시장진흥공단 사이트에서
컨설턴트 모집 공고를 매일 자동으로 수집해줘.
신규 공고가 생기면 오전 6시에 알림을 보내줘.
```

매일 새벽 1시~4시 사이 랜덤한 시각에 크롤링이 실행됩니다(정각에 실행하면 봇으로 감지될 수 있어서 랜덤으로 설정했습니다). 수집된 공고는 중복 없이 데이터베이스에 저장되고, 오전 6시에 신규 공고 목록이 알림으로 옵니다.

이후 K-Startup 창업지원포털도 추가했습니다. 각 기관마다 사이트 구조가 달라서 파싱 로직을 따로 작성해야 했지만, Manus에게 "이 사이트 구조를 분석해서 크롤러 추가해줘"라고 요청하면 됩니다.

---

### 보너스 — 프로필을 Claude에 복사하는 버튼

지원서 자동 생성 외에도 외부 AI 도구(Claude 등)에서 추가 작업을 할 때가 있습니다. 그럴 때마다 내 프로필 정보를 다시 입력하는 게 번거로워서 한 가지 기능을 추가했습니다.

```
내 프로필 페이지에 "Claude에 복사" 버튼을 추가해줘.
클릭하면 전체 프로필이 마크다운 형식으로 클립보드에 복사되게.
```

이제 버튼 하나로 학력·경력·자격증·성과 전체가 복사되고, 어떤 AI 도구에든 바로 붙여넣을 수 있습니다.

---

## ✅ 결과 (After)

### Before vs After

| 항목 | Before | After |
|------|--------|-------|
| 공고 탐색 | 매일 30분~1시간 직접 확인 | 오전 6시 자동 알림 수신 |
| 공고 누락 | 바쁜 날 놓치는 경우 발생 | 자동 수집으로 누락 없음 |
| 지원서 초안 작성 | 2~3시간 | 30분 이내 |
| HWP 작성 | 처음부터 직접 입력 | 섹션별 복사 후 붙여넣기 |

### 결과물
- 웹 앱: [consultapply-mr9mqydd.manus.space](https://consultapply-mr9mqydd.manus.space)
- 자동 크롤링: 기업마당, 소상공인시장진흥공단, K-Startup 3개 기관
- vitest 테스트 29개 전체 통과

## 💬 이 과정에서 배운 AI 활용 팁

### 효과적이었던 것

1. **제약 조건을 솔직하게 말하기**: "HWP 파일을 직접 만들 수 없어"라고 말하면 AI가 우회 방법을 제안합니다. 막혔을 때 "왜 안 되는지 설명해줘"가 최고의 디버깅 방법이었습니다.
2. **작은 단위로 요청하기**: 한 번에 모든 기능을 요청하는 것보다, 핵심 플로우 → 유형 분기 → 크롤링 → 알림 순으로 단계별로 요청하는 게 훨씬 결과가 좋았습니다.
3. **실제로 써보고 피드백하기**: 직접 써보다가 불편한 점을 발견하면 바로 요청하면 됩니다. "세종테크노파크 URL이 안 돼"처럼 구체적인 상황을 말하면 정확하게 해결해줍니다.

### 이렇게 하면 안 돼요

1. **봇 차단 사이트를 억지로 우회하려 하기**: CUPID, Cloudflare 같은 보안 시스템은 서버 사이드에서 우회가 불가능합니다. 인정하고 대안을 찾는 게 빠릅니다.
2. **크롤링 간격을 너무 짧게 설정하기**: 기관 서버에 부하를 주면 IP 차단 위험이 있습니다. 페이지 간 0.8~1초, 기관 간 2초 간격은 기본입니다.

## 🌍 다른 업무에 적용한다면?

이 구조는 "여러 사이트에서 정보 수집 → AI로 문서 자동 생성 → 특정 포맷으로 출력"이 필요한 모든 업무에 적용할 수 있습니다. 채용 공고 수집 후 이력서 자동 생성, 입찰 공고 수집 후 제안서 초안 생성, 뉴스 수집 후 보고서 자동 작성 등 응용 범위가 넓습니다.

## 🚀 앞으로의 계획

크롤링 대상 기관을 중소벤처기업진흥공단(KOSME), 한국산업단지공단(KICOX), 창업진흥원(KISED) 등으로 확대할 예정입니다. 봇 차단으로 크롤링이 불가능한 기관은 엑셀 업로드 일괄 등록 기능으로 대응합니다. 또한 지원서 상태 관리(작성 중 / 제출 완료 / 합격 / 불합격) 기능도 추가하면 여러 공고를 동시에 관리하기 편해질 것 같습니다.

## 📋 재사용 가능한 프롬프트

### 프롬프트 1: 공고 분석 + 지원서 생성 웹앱 기본 구조

> [모집공고 URL 또는 텍스트]를 입력하면 AI가 분석해서 내 프로필 기반으로 지원서 초안을 자동 생성해주는 웹앱 만들어줘.
> 프로필에는 [학력/경력/자격증/성과]가 들어가고, 지원서는 편집 후 [Word/PDF] 파일로 다운로드할 수 있어야 해.

### 프롬프트 2: 기관별 자동 크롤링 + 알림

> [기관 사이트 URL]에서 [키워드] 관련 공고를 매일 자동으로 수집해줘.
> 신규 공고가 생기면 [시간]에 알림을 보내고, 중복 수집은 방지해줘.
> 크롤링은 서버 부하를 줄이기 위해 페이지 간 1초 간격을 두고 실행해줘.

### 프롬프트 3: 봇 차단 사이트 대응

> URL 분석 시 보안 차단 페이지가 감지되면 (CAPTCHA, Cloudflare, 자동등록방지 등)
> 사용자에게 사이트명을 포함한 명확한 안내 메시지를 보여주고,
> 텍스트 직접 입력 모드로 전환할 수 있는 버튼을 함께 제공해줘.

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요