6. 직접 만들기: 회의록 정리 Agent
무엇을 만들지 정하기
이 차시를 마치면
만들 Agent 의 요구사항을 정하고 위험 등급을 세 단으로 나눕니다.
지금까지 배운 것을 하나로 모아 실제로 쓸 수 있는 Agent 를 만듭니다. 빈 폴더에서 시작합니다.
만들 것
폴더에 쌓인 회의록을 읽어 실행항목 파일을 만들고 갱신하는 Agent 입니다.
workspace/
├─ meetings/ 회의록 (.md) — 읽기만 함
├─ actions/
│ └─ TODO.md 실행항목 — 만들고 갱신함
└─ .backup/ 덮어쓰기 전 사본 — 되돌릴 때 씀
챗봇이 아닙니다. 파일을 만들고 고칩니다. 그래서 지금까지 배운 안전 장치가 전부 실제로 필요해집니다.
위험 등급을 먼저 나눕니다
4번 트랙에서 배운 순서 그대로입니다. 무엇이 위험한지 정하는 것이 첫 단계입니다.
| 동작 | 등급 | 승인 | 되돌릴 수 있는가 |
|---|---|---|---|
| 회의록 읽기 | 낮음 | 불필요 | 아무것도 바꾸지 않음 |
TODO.md 를 새로 만들기 | 낮음 | 불필요 | 지우면 됨 |
기존 TODO.md 덮어쓰기 | 높음 | 필요 | 백업이 없으면 사라짐 |
기준은 4번 트랙과 같습니다. 되돌릴 수 있는가.
이번 위험 판정은 더 확실합니다
4번 트랙의 위험 판정은 요청문의 키워드를 봤습니다. 그래서 "삭제" 대신 "정리" 라고 쓰면 빠져나갔습니다.
여기서는 다릅니다. 대상 파일이 이미 있는가를 봅니다. 사실 판단이라 말장난으로 피할 수 없습니다. 분석
키워드 판정 : "정리해 줘" → low (회피 가능)
사실 판정 : 파일이 있다 → high (회피 불가)
가능하면 사실로 판정하는 편이 낫습니다. 판정 근거가 입력이 아니라 상태에 있기 때문입니다.
전체 흐름
notes_graph.py 의 실제 그래프에서 뽑았습니다.| 단계 | 하는 일 |
|---|---|
collect | 회의록을 읽습니다. 읽기 도구만 씁니다 |
extract | 로컬 모델로 실행항목을 뽑습니다 |
plan | 쓸 내용을 확정하고 차이를 만듭니다. 아직 쓰지 않습니다 |
skip | 이미 처리한 것이면 승인을 묻지 않고 끝냅니다 |
auto_approve | 새 파일이면 자동 승인하되 기록을 남깁니다 |
approval | 덮어쓰기면 멈추고 차이를 보여 줍니다 |
write | 승인된 경우에만 씁니다. 덮어쓰기면 먼저 백업합니다 |
세 갈래인 이유
보통은 저위험과 고위험 두 갈래입니다. 여기에 skip 이 하나 더 붙었습니다.
처음에는 두 갈래로 만들었는데 테스트에서 문제가 드러났습니다. 같은 회의록으로 두 번 돌리면 승인을 물어보고, 승인했더니 "이미 처리됨" 이라고 답했습니다.
할 일이 없으면 묻지 않습니다
승인은 사람의 시간을 쓰는 일입니다. 실제로 할 일이 있을 때만 물어야 합니다. 아무것도 하지 않을 작업에 확인을 요구하면, 사람은 곧 내용을 보지 않고 누르게 됩니다. 그러면 승인 게이트가 형식만 남습니다.
그래서 중복 확인을 승인보다 앞에 두었습니다. 이 판단은 테스트가 알려 준 것입니다. 분석
왜 병합하지 않고 전체를 다시 쓰는가
TODO.md 를 갱신할 때 기존 항목과 새 항목을 합치지 않습니다. 전체를 다시 만들어 덮어씁니다.
| 방식 | 장점 | 단점 |
|---|---|---|
| 병합 | 기존 체크 표시가 남습니다 | 같은 항목인지 판단하는 규칙이 필요하고, 그 규칙이 틀리면 조용히 중복되거나 사라집니다 |
| 전체 덮어쓰기 | 결과가 예측 가능합니다. 회의록이 곧 결과입니다 | 기존 내용이 사라질 수 있습니다 |
덮어쓰기를 고른 이유는 두 가지입니다. 하나는 규칙이 단순해서이고, 다른 하나는 이 교재가 가르치려는 것이 정확히 그 위험이기 때문입니다. 기존 내용이 사라질 수 있으므로 백업과 승인이 반드시 필요해집니다. 분석
지금까지 배운 것이 어디에 쓰이는가
| 배운 곳 | 여기서 쓰는 곳 |
|---|---|
| 1번 트랙 — 격리 실행 | 컨테이너에서 검증 |
| 2번 트랙 — State, Node, 조건부 Edge, HITL | 그래프 전체 |
| 3번 트랙 — 파일 분리, A/B/C 규칙 | 쓰기 도구를 읽기 도구와 나눔 |
| 4번 트랙 — 승인 게이트, 멱등성, 감사 로그 | plan·approval·write |
| 5번 트랙 — 로컬 모델 연결 | extract |
다음 차시에서 폴더와 파일을 만듭니다.