70일차 자료 추가(답 제외), 69일차 flow.py call -v 반영

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mcchaeandClaude Opus 5.5 committed 2026-10-21 21:34:02 +09:00
1 parent eb1903bb51
commit 2478da876f
62 files changed
+4961 -30

No files matched your search

+77
View File
@@ -0,0 +1,77 @@
# 7·8교시 · 바이브 코딩 (`tkit`)
- 교시: 7교시 16:00~16:50 (각자 만들기), 8교시 17:00~17:50 (발표 · 정리 · 강사 바이브 코딩 · 팁 · 예고)
- 과제: [VIBE-Q-TKIT](../../Last3Mon/70/VIBE-Q-TKIT.md)
- 오늘은 `tkit`: 템플릿 폴더를 고르고 변수를 채우면 새 파일을 만드는 TUI (cookiecutter 방식). 오늘 만든 공지 키트를 템플릿으로 만들어 새 업무 워크플로우를 찍어 냅니다.
```mermaid
flowchart LR
A["7교시<br/>각자 만들기 50분"] --> B["발표<br/>10분"] --> C["강사 정리<br/>10분"] --> D["강사 바이브 코딩<br/>15분"] --> E["보충 · 팁<br/>10분"] --> F["71일차 예고<br/>5분"]
```
## 1. 7교시 · 각자 만들기 (50분)
| 시간 | 단계 | 확인 |
| --- | --- | --- |
| 16:00~16:05 | 0. 준비 · 템플릿 폴더 직접 만들기 | `~/vibe/templates/n8n-notice-kit/template.yaml` |
| 16:05~16:20 | 1. 글자 모드로 채우기 (R1 · R2) | n8n 표현식이 그대로, 숫자는 숫자 |
| 16:20~16:30 | 2. 미리 보기 · 덮어쓰기 · 검사 (R3 · R5) | 두 번 만들면 멈춤, `flow.py check` |
| 16:30~16:43 | 3. TUI (R4) | 입력칸이 YAML에서 |
| 16:43~16:50 | 4. 정리 · 만든 워크플로우를 push · call · 발표 메모 | |
| 볼 것 | 막혔을 때 한마디 |
| --- | --- |
| n8n 표현식 `{{ $json }}`까지 바뀌어 JSON이 깨짐 | "템플릿 변수 표시를 다른 모양으로 정하세요" |
| 숫자가 글자로 들어감 | "숫자 변수는 따옴표 없는 자리에" |
| 만들 때마다 덮어씀 | "있으면 멈추고 알려 주게" |
| 노드 이름·연결까지 변수로 만듦 | "흐름은 그대로 두고 값만 변수로 (Lab 01과 같음)" |
| 실행해 보지 않고 다음 요청 | "만든 JSON을 직접 push · call" |
수업 준비 때 tkit를 미리 만들어 보지는 않았습니다. 강사 바이브 코딩(4절)에서 걸린 시간을 재어 정답본(`VIBE-A-TKIT.md`)에 남깁니다.
## 2. 8교시 · 발표 (10분)
- 1~2명. **`{{ }}` 충돌을 스스로 푼 사람**을 먼저 고릅니다.
- 3분 발표 · 2분 질문: 잘 먹힌 요청문 / 안 먹힌 요청문 / 에이전트가 틀린 곳 / 템플릿으로 만든 워크플로우를 n8n에서 호출.
## 3. 강사 정리 (10분)
| | n8n 공지 키트 | tkit |
| --- | --- | --- |
| 다른 것을 빼는 곳 | `Kind settings` 표 | `template.yaml` 변수 |
| 같은 것 | 흐름, 규칙 검사 모듈 | 템플릿 파일 내용 |
| 없는 값 | 없는 종류 400 + 목록 | 필수 변수 빔 · 정의 안 된 변수 오류 |
| 덮어쓰지 않기 | 모듈은 새 id로 v2 | 있는 파일은 멈춤 |
| 결과 확인 | `cases/*.json` | 만든 JSON 검사, `flow.py check` |
- 템플릿(tkit)은 **복사를 빠르게** 하고, 설정 표·모듈(n8n)은 **복사를 없앱니다.** 둘 다 필요합니다: 처음 뼈대는 템플릿으로 찍고, 여러 곳에서 쓰는 일은 모듈로.
## 4. 강사 바이브 코딩 (15분)
| 주제 | 요청문 요지 | 보여 줄 것 |
| --- | --- | --- |
| 템플릿에 테스트 파일도 | "n8n-notice-kit 템플릿에 cases/[[ name ]].json 도 넣어, 변수로 기대 결과 머리말을 채워" | 만들자마자 `flow.py test` |
| 영향 표 자동 | "my-work/*.json 에서 executeWorkflow 의 workflowId 를 모아 모듈 → 쓰는 곳 표를 출력" | Lab 03 영향 표를 명령 하나로 |
| tflow로 비교 | "어제 tflow 로 samples/notice-security.json 과 my-work/notice-kit.json 을 차례로 열기" | 복사본과 템플릿의 구조 차이 |
걸린 시간과 결과를 `Last3Mon/70/VIBE-A-TKIT.md`에 적어 둡니다.
## 5. 보충 · 팁 (10분)
| 팁 | 설명 |
| --- | --- |
| 값만 변수로 | 흐름(노드·연결)을 변수로 만들면 템플릿이 쉽게 망가짐 |
| 표시가 겹치지 않게 | 템플릿 언어와 대상 파일의 문법(`{{ }}`)이 겹치면 다른 표시를 씀 |
| 덮어쓰지 않기 | 만드는 도구는 기본이 "있으면 멈춤" |
| 만든 뒤 검사 | JSON이면 열어 보고, 가능하면 그 파일의 검사 도구까지 |
| 계약을 지키며 바꾸기 | 더하기는 쉽고, 빼거나 뜻을 바꾸면 새 버전 |
## 6. 71일차 예고 (5분)
- 오늘: 템플릿과 모듈. 내일: **RAG 기반 검색·응답** — 사내 규정 문서를 잘게 나눠 검색하고, 근거 문단과 함께 답하는 워크플로우. 검색 품질을 바꿔 가며 비교합니다.
- 바이브 코딩: `tdoc` (내 md 문서를 임베딩해 SQLite에 저장하고, 질문하면 답과 근거 문단을 보여 주는 RAG TUI).
## 확인 (강사)
- [ ] 7교시 시작 전 템플릿 폴더 만드는 방법을 화면에 띄웠다.
- [ ] 발표자 1~2명, 강사 정리 표, 강사 바이브 코딩 1개(시간 기록), 팁, 예고.