5.3 KiB
5.3 KiB
7·8교시 · 바이브 코딩 (tflow)
- 교시: 7교시 16:00
16:50 (각자 만들기), 8교시 17:0017:50 (발표 · 정리 · 강사 바이브 코딩 · 팁 · 예고) - 과제: VIBE-Q-TFLOW
- 오늘은
tflow: n8n 워크플로우 JSON을 트리 · mermaid · 노드별 한국어 설명으로 보여 주는 TUI입니다. 에이전트가 만든 n8n 파일을 확인하는 도구라 오늘 오전 실습과 바로 이어집니다.
flowchart LR
A["7교시<br/>각자 만들기 50분"] --> B["발표<br/>10분"] --> C["강사 정리<br/>10분"] --> D["강사 바이브 코딩<br/>15분"] --> E["보충 · 팁<br/>10분"] --> F["69일차 예고<br/>5분"]
1. 7교시 · 각자 만들기 (50분)
| 시간 | 단계 | 확인 |
|---|---|---|
| 16:00~16:03 | 0. 준비 (~/vibe/tflow, git init, 에이전트 실행) |
|
| 16:03~16:15 | 1. 글자로 트리 · mermaid (R1 · R4) | uv run tflow agents/it-agent.json, --mermaid |
| 16:15~16:30 | 2. TUI · 상세 · 경고 (R2 · R3 · R5) | IT help agent의 모델·Tool, 망가진 파일 |
| 16:30~16:43 | 3. 한국어 설명 · 캐시 (R3) | 두 번째 선택은 바로 |
| 16:43~16:50 | 4. 정리 · 내 assistant.json 열어 보기 · 발표 메모 |
강사는 교실을 돌며 아래를 봅니다.
| 볼 것 | 막혔을 때 한마디 |
|---|---|
| 한 번에 TUI까지 만들어 달라고 했나 | "1단계는 글자 출력만. 트리가 맞는지부터" |
| 트리가 끝없이 길어지거나 같은 노드 반복 | "다시 모이는 노드(Send result)는 두 번째부터 한 줄로" |
| mermaid가 안 그려짐 | "노드 이름에 ?·괄호가 있어요. id는 번호로" |
| If 갈래가 반대 | "main 바깥 목록 0번이 true" |
| 설명에 Credential이 들어감 | "credentials는 빼고 보내라고 하세요" |
| 실행해 보지 않고 다음 요청 | "에이전트가 됐다고 해도 직접 uv run tflow" |
확인 기준 (입력 파일에서 센 값): agents/it-agent.json 노드 14 · main 11 · 모델 1 · Tool 2, reference/lab03-example2-isolated.json 노드 18 · main 19 · Switch 출력 4개. 수업 준비 때 tflow를 미리 만들어 보지는 않았습니다. 강사 바이브 코딩(4절)에서 걸린 시간을 재어 정답본(VIBE-A-TFLOW.md)에 남깁니다.
2. 8교시 · 발표 (10분)
- 1~2명. 7교시에 돌면서 다시 모이는 노드나 mermaid 깨짐을 스스로 푼 사람을 먼저 고릅니다.
- 3분 발표 · 2분 질문: 잘 먹힌 요청문 / 안 먹힌 요청문 / 에이전트가 틀린 곳과 알아챈 방법 / 내
assistant.json시연.
3. 강사 정리 (10분)
오늘 n8n 실습과 tflow를 이 표로 묶습니다.
| n8n 사내 업무 도우미 | tflow | |
|---|---|---|
| 나누기 | 요청 → 업무 (LLM) | 파일 → 노드·연결 목록 (코드) |
| 계약 | Agent 입력·결과 | model.py의 Node·Link (트리·mermaid·TUI가 함께 씀) |
| 규칙이 할 일 | 담당 Agent, 빠진 입력 | 갈래 이름, 다시 모이는 노드, 경고 |
| LLM이 할 일 | 업무 나누기 | 노드 설명 (캐시) |
| 실패해도 계속 | 꺼진 Agent → 담당자 연결 | 키 없음·LLM 실패 → 트리는 그대로 |
| 확인 | cases/*.json |
노드·연결 수 테스트, 망가진 파일 |
4. 강사 바이브 코딩 (15분)
학생 화면 앞에서 강사가 직접 이어서 만듭니다. 하나를 고릅니다.
| 주제 | 요청문 요지 | 보여 줄 것 |
|---|---|---|
tflow diff a.json b.json |
"두 워크플로우의 노드 추가·삭제, 바뀐 parameters를 표로" | 74일차 tver의 예고. 에이전트가 고친 곳을 한눈에 |
flow.py check 가져오기 |
"Last3Mon/68/tools/flow.py 의 check 규칙을 읽고 tflow 경고에 더해" | 이미 있는 코드를 읽혀서 재사용 |
| 실행 기록 붙이기 | "runs/*.json 보고서를 읽어 실패한 케이스가 지나간 노드를 표시" | 테스트와 구조를 한 화면에 (77일차 tlog 예고) |
걸린 시간과 결과를 Last3Mon/68/VIBE-A-TFLOW.md에 적어 둡니다.
5. 보충 · 팁 (10분)
| 팁 | 설명 |
|---|---|
| 데이터 모양부터 | "파일 → Node·Link"를 먼저 만들고 테스트하면 화면은 나중에 얼마든지 바꿈 |
| 테스트 자료는 진짜 파일로 | 오늘 쓴 agents/*.json을 tests/data에 복사. 숫자(노드 14)로 확인 |
| 망가진 입력도 테스트 | 경고 기능은 망가진 파일이 있어야 확인됨 |
| 비싼 일은 캐시 | LLM 설명은 내용(해시)으로 캐시, 바뀌면 다시 |
| 비밀은 보내지도 않기 | Credential, 키는 LLM 입력에서 빼기 |
단계마다 git commit |
에이전트가 망가뜨려도 돌아갈 곳 |
6. 69일차 예고 (5분)
- 오늘: 독립 업무를 Agent에게 나눠 맡김 (라우터). 내일: 한 업무를 역할별 Agent가 이어서 처리 (작성자 → 검토자 → 정리자, 역할 기반 분리와 협업).
- 바이브 코딩:
tcrew(한 질문을 역할별 LLM이 차례로 처리하는 TUI). 오늘tflow는 지우지 마세요. 내일 만든 워크플로우를 여는 데 씁니다.
확인 (강사)
- 7교시 시작 전
OPENAI_API_KEY꺼내는 명령을 화면에 띄웠다 (키 값은 띄우지 않음). - 발표자 1~2명, 강사 정리 표, 강사 바이브 코딩 1개(시간 기록), 팁, 예고.