# AI Basecamp Automation Track 커리큘럼

하나의 반복 업무를 내가 실제로 쓸 수 있는 수준까지 고도화하는 과정에서, 필요한 IT 기본 지식을 자연스럽게 습득합니다. 목표는 "4개 자동화"가 아니라 "한 개를 내 손으로 쓸 수 있게 만들기"입니다.

## 한 줄 결론

Automation Track은 반복 업무를 바로 자동화 시도하고 → 망하면 원인을 분석하고 → 다시 만들고 → 고치면서 더 배우는 실습 트랙입니다. 도구는 ChatGPT/Claude → Zapier/Make → Python/Codex → Hermes cronjob/GitHub Actions 순으로 밀어붙입니다.

## 대상

- 매주 반복되는 문서 정리, 회의록, 보고, 리서치, 알림 업무가 있는 사람
- ChatGPT를 쓰지만 매번 같은 프롬프트를 반복 입력하는 사람
- 코딩은 낯설지만 내 업무 흐름을 구조화하고 싶은 사람
- API, 자동화, 에이전트가 무엇인지 실제 예제로 이해하고 싶은 사람
- 완전 자동화보다 안전한 반자동 시스템부터 만들고 싶은 사람

## 최종 산출물

4회가 끝났을 때 각 참여자는 아래를 갖습니다.

1. **내가 실제로 쓰는 반자동 워크플로우** — 사람 승인이 포함된, 재사용 가능한 자동화
2. **개발 과정 로그** — 무엇을 만들었는지, 무엇을 배웠는지 기록된 실험 로그
3. **다음 단계 로드맵** — 어떤 기능을 더 넣을지, 어떤 도구가 필요한지 정리된 계획

## 운영 원칙

- **기획서를 쓰지 않습니다.** 반복 업무를 1개 고르고 바로 시작합니다.
- **모르는 게 나오면 그거를 배웁니다.** 사전 교육이 아니라 문제 해결 과정에서 자연스럽게 습득합니다.
- **매 세션마다 산출물을 남깁니다.** 설명은 10분, 나머지는 전부 제작입니다.
- **AI가 만든 결과를 그대로 믿지 않습니다.** 테스트, 리뷰, 사람 확인을 포함합니다.
- **한 번에 전체 업무를 자동화하지 않습니다.** 가장 반복적이고 위험이 낮은 조각부터 시작합니다.

## 도구 진화 경로

세션마다 더 강력한 도구로 전환합니다.

| 세션 | 주도 도구 | 억히는 것 |
|---|---|---|
| 1회차 | ChatGPT / Claude / Notion | 같은 프롬프트를 재사용 가능하게 만들기 |
| 2회차 | Zapier / Make / n8n | 노코드로 파일/표/메일 연결하기 |
| 3회차 | Python + Codex CLI | 코드로 API 호출과 데이터 처리하기 |
| 4회차 | Hermes cronjob / GitHub Actions | 정기 실행과 사람 승인 루프 만들기 |

## 4회 커리큘럼 요약

| 회차 | 목표 | 핵심 질문 | 배우는 IT 기본 지식 | 산출물 |
|---|---|---|---|---|
| 1회차 | 첫 반자동 템플릿을 만든다 | 같은 프롬프트를 매번 새로 쓰지 않을 수 있나? | 프롬프트 엔지니어링, 템플릿, 변수 | 재사용 프롬프트 패키지 |
| 2회차 | 파일/표/메일을 연결한다 | 자료를 매번 복사하지 않고 연결할 수 있나? | 웹훅, 노코드 자동화, 데이터 흐름 | 연결된 반자동 워크플로우 |
| 3회차 | API로 프로그램끼리 대화하게 한다 | 프로그램끼리 어떻게 요청하고 응답하나? | API, JSON, Python 기초, 에러 처리 | API 기반 자동화 스크립트 |
| 4회차 | 내가 쓸 수 있는 수준까지 다듬다 | 자동 실행 전 어디서 멈춰야 안전한가? | cron, 스케줄링, 승인 루프, 보안 | 완성된 자동화 + 다음 로드맵 |

---

## 1회차 — 첫 반자동 템플릿을 만든다

### 목표

반복되는 업무 1개를 고르고, 2시간 안에 재사용 가능한 프롬프트 템플릿을 만듭니다.

### 진행 (3시간)

```
0:00-0:10  반복 업무 1개 선택 (매주 하는 것, 매일 하는 것)
0:10-0:25  현재 흐름 관찰: 손으로 1번 해보기
0:25-0:40  입력→처리→출력→검토 맵 그리기
0:40-1:20  AI에게 "이 흐름 자동화해줘" → 반복 수정
1:20-1:40  프롬프트 템플릿화: 변수를 넣어 재사용 가능하게
1:40-2:00  테스트: 다른 입력으로도 작동하는지 확인
2:00-2:20  1분 데모 + 피드백
2:20-2:50  다음 실험 정하기 + Discord 공유
2:50-3:00  정리
```

### 이 세션에서 배우는 IT 기본 지식

**프롬프트 엔지니어링의 기본**
- **프롬프트** — AI에게 주는 지시. 같은 지시라도 어떻게 쓰느냐에 따라 결과가 달라짐
- **역할 부여** — "너는 OO 전문가야"라고 말하면 더 전문적인 답변
- **입력/출력 형식 고정** — "이런 입력을 받아서 이런 형식으로 출력해"가 중요
- **예시 포함** — 좋은 결과와 나쁜 결과 예시를 1개씩 넣으면 정확도 상승

**템플릿과 변수**
- **템플릿** — 반복되는 틀. 매번 새로 쓰지 않고 빈칸만 채우는 것
- **변수** — 템플릿의 빈칸. `{날짜}`, `{주제}`처럼 바뀌는 부분
- **재사용** — 한 번 만든 템플릿을 여러 상황에 쓰는 것

**업무 흐름 분석**
- **입력** — 내가 주는 것 (파일, 링크, 키워드)
- **처리** — AI/도구가 하는 것 (요약, 분류, 변환)
- **출력** — 결과물 (문서, 메일, 알림)
- **검토** — 사람이 확인하는 지점. 이걸 빼면 위험함

### 실습 프롬프트

```txt
내가 매주 반복하는 업무는 [업무 설명]이야.

이 업무를 매번 새로 설명하지 않고
템플릿 하나로 재사용 가능하게 만들어줘.

아래 기준으로 만들어줘.
- 변수가 있는 부분은 {변수명}으로 표시
- 좋은 입력 예시 1개, 나쁜 입력 예시 1개 포함
- 출력 형식이 고정되어 있음
- 사람이 반드시 검토해야 하는 지점 표시
```

### 산출물 기준

- [ ] 재사용 가능한 프롬프트 템플릿 1개
- [ ] 변수가 2개 이상 포함됨
- [ ] 좋은/나쁜 예시가 포함됨
- [ ] 사람 검토 지점이 표시됨
- [ ] 배우다 만진 것: 프롬프트, 템플릿, 변수, 입력/처리/출력/검토

---

## 2회차 — 파일/표/메일을 연결한다

### 목표

1회차의 템플릿을 Zapier/Make/n8n으로 확장해서, 파일/표/메일/캘린더와 실제로 연결합니다.

### 진행 (3시간)

```
0:00-0:15  1회차 산출물 공유 + 배우다 만진 것 보기
0:15-0:30  노코드 자동화의 개념: "연결하면 자동으로 흐른다"
0:30-0:45  Zapier/Make/n8n 설치 + 시작
0:45-1:30  트리거(Trigger) 설정 → 액션(Action) 연결
1:30-1:50  데이터 매핑: A의 출력을 B의 입력으로
1:50-2:10  예외 처리: 실패했을 때 어떻게 할지
2:10-2:40  테스트 + 배포
2:40-3:00  1분 데모 + 다음 실험 정리
```

### 이 세션에서 배우는 IT 기본 지식

**노코드 자동화의 구조**
- **트리거(Trigger)** — "이 일이 일어나면" (새 메일, 새 파일, 특정 시간)
- **액션(Action)** — "이걸 해라" (메일 보내기, 행 추가, 알림)
- **조건(Condition)** — "이럴 때만" (IF문의 노코드 버전)
- **데이터 매핑** — A의 출력을 B의 입력으로 연결하는 것

**웹훅(Webhook)**
- **웹훅** — 한 프로그램이 다른 프로그램에게 "뭔가 일어났어!"라고 알려주는 방법
- **푸시 vs 풀** — 내가 계속 확인하지 않아도 알아서 오는 게 웹훅
- **URL** — 웹훅을 받을 주소. 이 주소로 데이터가 날아옴

**데이터 흐름**
- **CSV** — 쉼표로 구분된 데이터. Excel이 읽을 수 있는 가장 단순한 형식
- **JSON** — 프로그램끼리 대화하는 표준 형식
- **API vs 웹훅** — API는 내가 물어보는 것, 웹훅은 상대가 알려주는 것

### 실습 프롬프트

```txt
지난번 만든 [템플릿 이름]을 Zapier/Make/n8n으로 확장하고 싶어.

현재 흐름:
1. [트리거: 예) 매일 아침 9시]
2. [처리: 예) AI가 뉴스 요약]
3. [출력: 예) Slack에 알림]

이 흐름을 노코드로 연결해줘.
반드시 아래 기준을 만족해.
- 트리거가 1개 이상 있음
- 액션이 2개 이상 연결됨
- 데이터가 한 단계에서 다음 단계로 흐름
- 실패했을 때 알림이 옴
```

### 산출물 기준

- [ ] 트리거 → 액션 흐름이 작동함
- [ ] 데이터가 단계별로 흐름
- [ ] 실패 시 알림이 옴
- [ ] 배우다 만진 것: 트리거, 액션, 웹훅, 데이터 매핑, CSV/JSON

---

## 3회차 — API로 프로그램끼리 대화하게 한다

### 목표

2회차의 워크플로우를 Python + Codex CLI로 확장해서, 더 복잡한 데이터 처리와 API 호출을 합니다.

### 진행 (3시간)

```
0:00-0:15  2회차 산출물 공유 + 배우다 만진 것 보기
0:15-0:35  API의 개념: "프로그램끼리 대화하는 방법"
0:35-0:50  Codex CLI 설치 + 프로젝트 연결
0:50-1:30  Python으로 API 호출 → 데이터 처리 → 결과 저장
1:30-1:50  에러 처리: API가 안 될 때 어떻게 할지
1:50-2:10  환경변수로 API Key 관리 (보안)
2:10-2:40  테스트 + 배포
2:40-3:00  1분 데모 + 다음 실험 정리
```

### 이 세션에서 배우는 IT 기본 지식

**API의 기본**
- **API** — 프로그램끼리 대화하는 계약. 내 스크립트이 AI와 대화하려면 API가 필요
- **Endpoint** — 어디로 요청할지
- **Method** — 무엇을 할지 (GET=불러오기, POST=보내기, PUT=수정, DELETE=삭제)
- **Request/Response** — 보내는 것과 받는 것
- **Status Code** — 200(성공), 400(잘못된 요청), 500(서버 에러)

**Python 기초**
- **변수** — 데이터를 담는 상자
- **함수** — 반복되는 작업을 하나의 이름으로 만들기
- **조건문** — "이러면 이렇게, 저러면 저렇게"
- **반복문** — 같은 작업을 여러 번
- **라이브러리** — 남이 만들어 둔 코드를 가져다 쓰기

**보안 기초**
- **API Key** — 네 신분을 증명하는 열쇠. 노출하면 끝
- **환경변수** — 코드에 직접 쓰지 않고 변수로 관리하는 방법
- **.env 파일** — 환경변수를 저장하는 파일. Git에 올리면 안 됨

### 실습 프롬프트

```txt
지난번 만든 [워크플로우 이름]을 Python으로 확장하고 싶어.

현재 흐름:
1. [API 호출: 예) 뉴스 데이터 가져오기]
2. [처리: 예) AI로 요약]
3. [저장: 예) Notion에 저장]

이 흐름을 Python으로 만들어줘.
반드시 아래 기준을 만족해.
- API Key는 환경변수로 관리
- 에러가 있으면 사용자에게 알림
- 각 단계가 성공했는지 로그로 확인 가능
- 다른 입력으로도 작동함
```

### 산출물 기준

- [ ] Python 스크립트가 작동함
- [ ] API Key가 코드에 직접 노출되지 않음
- [ ] 에러 처리가 있음
- [ ] 로그로 각 단계 확인 가능
- [ ] 배우다 만진 것: API, Method, Status Code, Python 기초, 환경변수

---

## 4회차 — 내가 쓸 수 있는 수준까지 다듬다

### 목표

3회차의 스크립트를 정기 실행되게 하고, 사람 승인 루프를 넣어서 안전한 자동화를 완성합니다.

### 진행 (3시간)

```
0:00-0:15  3회차 산출물 공유 + 배우다 만진 것 보기
0:15-0:35  스케줄링의 개념: "정해진 시간에 자동으로 실행"
0:35-0:55  cron / GitHub Actions / Hermes cronjob 설정
0:55-1:30  사람 승인 루프 추가: 자동 실행 전 멈춤 지점
1:30-1:50  보안 감사: 공개 데이터, 쿠키, 입력 검증
1:50-2:10  로깅과 모니터링: 무슨 일이 일어났는지 추적
2:10-2:40  개선 + 배포
2:40-3:00  다음 단계 로드맵 + 데모데이
```

### 이 세션에서 배우는 IT 기본 지식

**스케줄링**
- **cron** — 유닉스 계열의 작업 예약 도구. "매일 아침 9시에 실행" 같은 규칙
- **GitHub Actions** — GitHub에서 코드를 자동으로 실행하는 도구
- **Hermes cronjob** — Hermes의 정기 실행 기능
- **스케줄링 표현식** — `0 9 * * *` = 매일 아침 9시

**승인 루프와 안전장치**
- **승인 루프** — 자동 실행 전 사람이 "OK"를 눌러야 진행
- **멈춤 지점** — 위험한 행동 전에 반드시 멈추는 곳
- **롤백** — 잘못되면 이전 상태로 돌아가기
- **백업** — 실행 전 원본 데이터를 복사해두기

**모니터링과 로깅**
- **로그** — 무슨 일이 일어났는지 기록
- **알림** — 문제가 생기면 알려주는 것
- **모니터링** — 계속 상태를 확인하는 것

### 실습 프롬프트

```txt
지난번 만든 [스크립트 이름]을 정기 실행되게 하고 싶어.

반드시 아래 기준을 만족해.
- 정해진 시간에 자동으로 실행됨
- 실행 전 사람이 승인하는 지점이 있음
- 실패하면 알림이 옴
- 로그로 무슨 일이 일어났는지 확인 가능
- 잘못되면 이전 상태로 돌아갈 수 있음
```

### 산출물 기준

- [ ] 정기 실행이 설정됨
- [ ] 사람 승인 지점이 있음
- [ ] 실패 시 알림이 옴
- [ ] 로그로 추적 가능
- [ ] 롤백/백업 계획이 있음
- [ ] 배우다 만진 것: cron, 스케줄링, 승인 루프, 로깅, 모니터링

---

## 세션별 배우는 IT 기본 지식 요약

| 세션 | 배우는 핵심 개념 | 억히는 방식 |
|---|---|---|
| 1회차 | 프롬프트, 템플릿, 변수, 입력/처리/출력/검토 | 만들면서 모르는 단어를 AI에게 물어보기 |
| 2회차 | 트리거, 액션, 웹훅, 데이터 매핑, CSV/JSON | 연결이 안 돼서 방향을 털어보기 |
| 3회차 | API, Method, Status Code, Python 기초, 환경변수 | API 호출이 안 돼서 오류 메시지 분석하기 |
| 4회차 | cron, 스케줄링, 승인 루프, 로깅, 모니터링 | 자동화가 위험할 때 어디서 멈춰야 하는지 찾기 |

## 운영자 진행 팁

- 매 세션 시작 10분은 지난 산출물 공유로 엽니다.
- 설명은 최대 15분, 나머지는 전부 제작 시간입니다.
- 참가자가 모르는 게 나오면 그 순간 개념을 5분 설명하고 다시 제작으로 돌아갑니다.
- 결과물이 없는 사람도 실험 로그를 공유하게 합니다.
- 매 세션 끝에 "배우다 만진 것"을 디코드에 공유합니다.

## 위험과 경계

- 비밀값, API Key, 토큰은 채팅과 화면 공유에 노출하지 않습니다.
- 자동화가 삭제, 결제, 외부 발송을 바로 실행하지 않게 합니다.
- AI가 만든 요약·분류·추천은 검토 전까지 초안입니다.
- 개인정보가 있는 자료는 익명화 또는 샘플화합니다.
- 법률, 의료, 금융, 세금, 계약 영역은 최종 판단을 사람이 합니다.

## 첫 모임에서 바로 쓸 미니 버전

시간이 2시간뿐이라면 아래만 진행합니다.

1. 반복 업무 1개 선택 — 10분
2. 현재 흐름 관찰 — 15분
3. 입력→처리→출력→검토 맵 작성 — 20분
4. AI에게 템플릿 만들어달라고 하기 — 25분
5. 테스트 — 25분
6. 1분 공유 — 15분

## Automation Track의 성공 기준

완전 자동화가 아니라, "반복 업무를 구조화하고, AI와 도구가 맡을 부분과 사람이 책임질 부분을 분리하는 감각"을 참가자가 체득하면 성공입니다.
