DAY 06AI 에이전트 · Agent와 Tool
AI Agent와 Tool 사용 이해하기
길을 미리 다 만들지 않고 AI에게 도구(Tool)를 쥐여 줍니다. 채팅으로 요청하면 AI Agent가 고객 조회 · 등록 · 테스트 메일 중 필요한 Tool을 스스로 골라 실행하고 결과를 확인해 답합니다.
1.수업 구성
지금까지는 사람이 모든 길을 미리 만들어 두었습니다. 오늘은 길을 다 정해 두지 않고, AI에게 쓸 수 있는 도구(Tool)를 쥐여 줍니다. 그러면 AI가 요청을 읽고 "지금은 시트를 조회해야겠다", "이번엔 메일을 보내야겠다"를 스스로 고릅니다. 이것이 AI Agent입니다.
중급
개념 + 따라하기 + 테스트
n8n · Gemini · Google Sheets · Gmail
Chat Trigger · AI Agent · Tool
채팅으로 요청을 받으면 AI Agent가 필요한 Tool(고객 조회 · 고객 등록 · 테스트 메일)을 스스로 골라 실행하고, 결과를 확인해 답하게 만든다.
지난 시간에 빠졌다면 — 연결(Credential) 두 개만 먼저
오늘은 새 시트와 새 Workflow로 처음부터 시작합니다. 아래 두 연결만 미리 있으면 됩니다.
- · Google 연결 (Sheets·Gmail용) — DAY 03 · Credential 만들기
- · Gemini 연결 (API Key) — DAY 04 · Gemini API Key 준비
수업 시간에 꼭 끝낼 것 · 못 끝내면 과제로
2.오늘 배우는 내용 & 전체 흐름
오늘 집중할 내용
오늘은 다음 순서로 진행합니다
3.정해진 길 vs 스스로 고르는 길
1교시 · Workflow에서 Agent로
DAY 05의 문의 분배 Workflow는 이렇게 생겼습니다. 환불이면 이 길, 수업이면 저 길 — 사람이 그려 둔 길 밖으로는 갈 수 없습니다.
그런데 요청이 이렇게 다양하다면 어떨까요?
"김민지 고객의 신청 상태 알려줘."
→ 시트에서 찾아야 함
"최유진 고객을 새로 등록해줘."
→ 시트에 써야 함
"오늘 실습 끝났다고 테스트 메일 보내줘."
→ 메일을 보내야 함
요청마다 할 일이 다릅니다. Agent는 요청을 읽고 연결된 Tool 중에서 필요한 것을 골라 씁니다.
| 종류 | 누가 길을 정하나 | 예 |
|---|---|---|
| 일반 Workflow | 사람 — 항상 같은 길 | 입력 → 저장 → 메일 |
| 조건 Workflow | 사람 — 조건별 길을 미리 그림 | 환불이면 A, 수업이면 B |
| AI Agent | AI — 요청을 보고 Tool 선택 | 조회가 필요하면 조회, 메일이 필요하면 메일 |
Agent도 아무거나 할 수 있는 건 아니에요
Agent는 내가 연결해 준 Tool 안에서만 고릅니다. 삭제 Tool을 연결하지 않았다면 삭제는 할 수 없습니다. 무엇을 쥐여 줄지는 만드는 사람이 정합니다.
4.AI Agent의 네 가지 구성
Agent를 새로 들어온 신입 사원이라고 생각하면 쉽습니다.
요청을 이해하고 무엇을 할지 판단합니다. 오늘은 Gemini를 씁니다.
실제로 일을 하는 도구. 시트 조회, 시트 기록, 메일 발송 등.
"너는 누구이고, 언제 어떤 도구를 쓰고, 무엇은 하지 마라."
방금 나눈 대화를 기억합니다. "아까 그 고객" 같은 말을 알아듣게 합니다. (선택)
Tool이 없는 Agent는 아는 척만 할 수 있다
Gemini는 우리 회사 고객 명단을 모릅니다. Tool 없이 "김민지 고객 상태 알려줘"라고 하면 모른다고 하거나, 최악의 경우 그럴듯하게 지어냅니다. Tool을 연결해야 실제 데이터를 보고 답합니다.
5.실습: 고객 데이터 시트 준비
새 Google 시트 AI_AGENT_DAY06을 만들고 탭 이름을 customers로 바꿉니다. 아래 내용을 A1 칸에 붙여 넣은 뒤, "내아이디"를 자신의 Gmail 아이디로 바꿉니다.
Gmail은 아이디 뒤에 +글자를 붙여도 내 메일함으로 옵니다. 예: myname+minji@gmail.com → myname@gmail.com 메일함. 그래서 Agent가 실수로 메일을 보내도 실제 다른 사람에게 가지 않습니다.
6.실습: Agent 뼈대 — 채팅으로 대화하기
Chat Trigger
채팅 창에 메시지를 보내면 Workflow가 시작되는 Trigger입니다. n8n 안에서 When chat message received라는 이름으로 보입니다.
- 1새 Workflow
DAY06_고객관리Agent→ 첫 Node로 Chat Trigger를 검색해 추가합니다 - 2그 뒤에 AI Agent를 연결합니다
- 3AI Agent Node 아래쪽에 작은 연결 구멍이 여러 개 있습니다 — Chat Model 아래 +를 눌러 Google Gemini Chat Model을 고릅니다
- 4Credential은 DAY 04에 만든 Gemini 연결을 고르고, 모델은 이름에 flash가 들어간 가벼운 모델로 고릅니다
- 5캔버스 아래 Open chat(채팅 열기)을 누르고 "안녕하세요"를 보내 봅니다
Node A → Node B → Node C, 순서대로 실행
AI Agent 밑에 Model · Memory · Tool을 붙임. Agent가 필요할 때 꺼내 쓰는 부품
* 오래된 영상에는 Agent Type(Tools Agent 등)을 고르는 화면이 나오기도 합니다. 지금 n8n의 AI Agent는 Tool을 쓰는 방식이 기본이라 이 설정이 없을 수 있습니다. 화면 위치보다 Agent + Model + Tool 구조를 기억하세요.
실습 · Tool 없이 물어보기
아직 Tool이 없는 상태에서 아래를 보내 보세요. 어떤 답이 나오나요?
생각해 보기Agent가 정확히 답할 수 있었나요? 왜 그럴까요?답 보기
Gemini는 우리 시트의 고객 정보를 원래 모릅니다. 모른다고 하거나, 정보를 달라고 하거나, 그럴듯하게 지어낼 수 있습니다. 실제 시트를 보려면 시트를 조회하는 Tool이 필요합니다.
7.실습: Tool ① 고객정보조회
2교시 · Tool을 고르는 Agent 만들기
일반 Workflow의 Google Sheets는 순서가 오면 무조건 실행됩니다. Tool로 붙인 Google Sheets는 Agent가 필요하다고 판단할 때만 실행됩니다.
- 1AI Agent 아래 Tool의 +를 눌러 Google Sheets Tool을 고릅니다
- 2Node 이름을 고객정보조회로 바꿉니다
- 3Operation(작업)은 Get Row(s)(행 가져오기), 문서는
AI_AGENT_DAY06, 시트는customers - 4Filters에
name열을 고르고, 값 칸은 비워 두는 대신 AI가 정하도록 합니다 — 값 칸 옆의 ✨ 버튼(모델이 정하기)을 누르면 됩니다 - 5Tool Description(Tool 설명)을 직접 쓰기로 바꾸고 아래 설명을 넣습니다
* ✨ 버튼 모양과 이름은 버전에 따라 다를 수 있습니다. 보이지 않으면 필터 없이 시트 전체를 가져오게 두어도 실습은 됩니다 — Agent가 전체 목록에서 찾습니다.
Tool 이름과 설명이 Agent의 판단 기준이다
Agent는 Tool의 이름과 설명을 읽고 언제 쓸지 정합니다. Google Sheets, Google Sheets1처럼 두면 무엇이 무엇인지 모릅니다. 이름은 역할대로, 설명에는 언제 쓰고 언제 쓰지 않는지를 씁니다.
8.System Message — Agent의 업무 지침서
AI Agent Node를 열고 Options에서 System Message를 찾아 아래 틀로 씁니다. (버전에 따라 처음부터 칸이 보이기도 합니다.)
9.실습: Tool을 쓰는지 안 쓰는지 확인하기
채팅 창에 하나씩 보내고, Tool이 실행됐는지 확인합니다. Agent는 모든 질문에 Tool을 쓸 필요가 없습니다.
| 보낼 말 | Tool이 필요할까? | 실제 |
|---|---|---|
| 안녕하세요. | 아니요 — 바로 인사 | 직접 기록 |
| 김민지 고객의 상태를 알려줘. | 예 — 고객정보조회 | 직접 기록 |
| AI Agent가 뭔지 간단히 설명해줘. | 아니요 — 일반 지식 | 직접 기록 |
| 박하늘 고객은 어떤 과정을 신청했어? | 예 — 고객정보조회 | 직접 기록 |
결과만 보지 말고 과정을 본다
채팅 창 옆(또는 AI Agent Node 안)의 실행 기록(Logs)을 열면 Agent가 어떤 Tool을 불렀는지 보입니다. 아래 순서로 따라가 보세요.
10.실습: Tool ② 고객정보등록
같은 시트라도 목적이 다르면 다른 Tool입니다. 찾는 일과 쓰는 일을 나눕니다.
- 1Tool +를 다시 눌러 Google Sheets Tool을 하나 더 붙이고 이름을 고객정보등록으로 바꿉니다
- 2Operation은 Append Row(행 추가), 문서·시트는 같게
- 3name · email · course · status 열의 값을 모두 ✨(모델이 정하기)로 둡니다
- 4Tool 설명을 넣고, System Message에 "새 고객을 등록할 때는 고객정보등록 Tool을 사용하세요."를 한 줄 더합니다
테스트
김민지 고객 정보를 확인해줘.
최유진 고객을 등록해줘. 이메일은 내아이디+yujin@gmail.com, 과정은 AI Agent, 상태는 상담중이야.
시트에 최유진 줄이 생겼는지 직접 확인하세요. Agent는 말 속의 의도(찾기 / 등록하기)를 읽고 Tool을 고릅니다.
11.읽는 Tool과 행동하는 Tool
조회는 정보를 읽기만 합니다. 메일 발송은 실제 사람에게 무언가를 해 버립니다. Agent가 실수했을 때 되돌릴 수 있는지가 다릅니다.
데이터 조회 · 계산 · 검색
시트에 새 줄 추가 · 초안 만들기
메일 발송 · 데이터 삭제 · 결제 · 외부 공개
사람의 확인을 넣는 구조
Agent를 만든다는 건 사람을 빼는 것이 아닙니다. 중요한 행동 앞에는 사람이 확인하는 자리를 남길 수 있습니다. n8n 버전에 따라 Tool 실행 전에 사람의 승인을 받는 기능도 있습니다.
12.실습: Tool ③ 테스트이메일발송
- 1Tool +를 눌러 Gmail Tool을 붙이고 이름을 테스트이메일발송으로 바꿉니다
- 2Operation은 Send(보내기)
- 3To(받는 사람)는 ✨로 두지 말고 내 주소를 직접 적어 고정합니다 (예: myname+agent@gmail.com)
- 4Subject(제목)와 Message(본문)만 ✨(모델이 정하기)로 둡니다
- 5System Message에 "메일 발송을 요청받았을 때만 테스트이메일발송 Tool을 사용하세요."를 더합니다
받는 사람을 고정하는 이유
받는 사람까지 AI에게 맡기면, 요청을 잘못 이해했을 때 엉뚱한 주소로 메일이 갈 수 있습니다. 실습에서는 보낼 곳은 사람이 정하고, 내용만 AI에게 맡깁니다.
실습 · Tool 선택 테스트
이제 Tool이 세 개입니다. 보내기 전에 어떤 Tool을 고를지 먼저 예상해 보세요.
| Case | 보낼 말 | 예상 Tool | 실제 |
|---|---|---|---|
| 01 | 김민지 고객 정보를 확인해줘. | 고객정보조회 | 직접 기록 |
| 02 | 정우진 고객을 새로 등록해줘. 이메일 내아이디+woojin@gmail.com, 과정 Vibe Coding, 상태 상담중. | 고객정보등록 | 직접 기록 |
| 03 | 테스트 메일로 "오늘 실습 완료"라고 보내줘. | 테스트이메일발송 | 직접 기록 |
| 04 | AI Agent와 일반 Workflow의 차이를 설명해줘. | Tool 없이 답변 | 직접 기록 |
실습 · Tool을 이어서 쓰기
요청 하나에 Tool이 두 개 필요할 때도 있습니다.
실행 후 확인
- 고객정보조회가 먼저 실행되었는가?
- 메일 본문의 상태가 시트와 같은가? (신청완료)
- 메일이 정말 내 메일함에 왔는가?
- Agent의 마지막 답이 실제 실행 결과와 같은가?
13.엉뚱한 Tool을 골랐다면
"조회해줘"라고 했는데 고객정보등록을 실행했다면? Agent를 새로 만들 필요는 없습니다. 아래 순서로 확인합니다.
Agent가 지켜야 할 네 가지 규칙
시트에 없는 고객 정보를 만들지 않는다
인사에 시트를 조회하지 않는다
실패한 일을 성공했다고 말하지 않는다
삭제 · 외부 발송은 신중하게
이 네 가지를 System Message 마지막에 그대로 붙여 넣으세요.
14.실습: 정보가 부족한 요청
좋은 Agent는 바로 행동하지 않고, 일에 필요한 정보가 충분한지 먼저 확인합니다. 아래 요청을 하나씩 보내 보세요.
| 요청 | 부족한 것 | 바람직한 반응 |
|---|---|---|
| 새로운 고객 등록해줘. | 이름 · 이메일 · 과정 · 상태 | 필요한 정보를 물어본다 |
| 메일 보내줘. | 무슨 내용인지 | 내용을 물어본다 |
| 고객 찾아줘. | 누구인지 | 이름을 물어본다 |
Agent가 빈 값을 지어내 시트에 등록했다면, 앞 섹션의 규칙 넷째 줄이 System Message에 들어갔는지 확인하세요.
15.Memory 연결해 보기 (선택)
AI Agent 아래 Memory의 +를 눌러 Simple Memory를 붙인 뒤, 두 메시지를 차례로 보내 보세요.
내 이름은 홍길동이야.
내 이름으로 테스트 메일 첫 문장을 써줘. 보내지는 마.
"아까 말한 고객", 방금 한 질문
고객 이름 · 이메일 · 상태
"고객 상태가 뭐야?"는 Memory에서 떠올리지 말고 시트에서 확인해야 합니다. 어떤 정보가 어디에 있어야 하는지 생각합니다.
16.Agent가 잘 작동한다는 것
답이 자연스럽다고 잘 만든 Agent는 아닙니다. 다섯 가지를 봅니다.
같은 뜻을 여러 표현으로 테스트
사람은 같은 말을 여러 방식으로 합니다. 모두 고객정보조회로 가는지 확인하세요.
메시지마다 실행된다 — 비용도 생각하기
채팅 메시지를 10번 보내면 Workflow도 10번 실행되고, 한 번에 Gemini와 Tool이 여러 번 불릴 수 있습니다. Tool을 많이 붙인다고 좋은 게 아니라 필요한 것만, 필요할 때만 쓰게 설계합니다.
17.AI에게 Agent 문제 물어보기
Workflow 전체 화면과 실행 기록(Logs)을 캡처해 함께 보냅니다. 캡처에 API Key가 보이지 않는지 꼭 확인하세요.
문제 해결 루틴
Agent도 같은 루틴입니다. 다른 점은 ① 단계에서 실행 기록(Logs)으로 Agent가 어떤 Tool을 골랐고 무엇을 받았는지를 먼저 본다는 것입니다.
18.도전 과제
Google Sheets Tool(Update Row)로 고객상태수정을 만들어 "이준호 고객 상태를 결제완료로 바꿔줘"를 처리하기
"AI Agent 과정 신청자 목록 보여줘" — 조회 Tool로 처리되는지, 지어낸 사람이 섞이지 않는지
"결제대기인 고객을 찾아 결제 안내 메일 초안을 테스트 주소로 보내줘"
"김민지 고객 삭제해줘" — 삭제 Tool이 없을 때 Agent가 할 수 없다고 정직하게 답하는지
19.최종 실습: 나만의 고객 관리 Agent 설계
오늘 만든 Agent를 바탕으로, n8n을 열기 전에 먼저 글로 설계해 봅니다. 다음 시간 기획의 연습이기도 합니다.
최종 테스트
| Case | 보낼 말 | 기대 결과 |
|---|---|---|
| 01 | 김민지 고객 상태를 알려줘. | 조회 후 "신청완료" |
| 02 | 최유진 고객을 등록해줘. (이메일 · 과정 · 상태 함께) | 시트에 한 줄 추가 |
| 03 | 박하늘 고객 정보를 확인하고 테스트 메일로 보내줘. | 조회 → 메일 |
| 04 | 새 고객 등록해줘. | 부족한 정보를 질문 |
| 05 | 없는 고객인 홍길순 정보 알려줘. | "찾을 수 없다"고 답함 (지어내지 않음) |
| 06 | AI Agent가 뭐야? | Tool 없이 답변 |
20.오늘 내용 정리 & 다음 수업
오늘 만든 구조
Workflow와 Agent, 무엇을 쓸까?
| 이럴 때 | 어울리는 것 |
|---|---|
| 항상 같은 순서로 처리 | 일반 Workflow |
| 조건에 따라 몇 가지 정해진 길 | 조건 Workflow (IF · Switch) |
| 요청이 다양하고 그때그때 할 일이 다름 | AI Agent |
Agent가 항상 정답은 아닙니다. 원하는 일을 가장 단순하게 할 수 있는 방법을 고릅니다.
내 일에 떠올려 보기
내 일 중에 요청이 그때그때 달라서 AI가 Tool을 골라야 하는 일이 있을까요? 한 줄로 떠올려 보세요. 매번 순서가 같다면 Workflow로 충분합니다.
예: 채팅으로 "이번 주 예약 보여 줘", "이 사람에게 안내 메일 보내 줘"처럼 요청이 매번 다른 일
오늘 배운 용어
| 용어 | 뜻 |
|---|---|
| AI Agent | 요청을 이해하고 필요한 Tool을 골라 실행하는 AI |
| Tool | Agent가 쓸 수 있는 도구 (시트 조회 · 기록 · 메일 등) |
| Chat Trigger | 채팅 메시지로 Workflow를 시작하는 Trigger |
| Chat Model | Agent의 두뇌 역할을 하는 AI 모델 |
| System Message | Agent의 역할과 행동 규칙을 적은 지침 |
| Tool Description | Tool을 언제 쓰는지 Agent에게 알려 주는 설명 |
| Memory | 대화 흐름을 기억하는 부품 |
| Intent (의도) | 사용자가 말로 원하는 일 (찾기 · 등록하기 · 보내기) |
스스로 확인하기
Q1Workflow와 Agent의 가장 큰 차이는?답 보기
Workflow는 사람이 미리 정한 길로만 움직이고, Agent는 요청을 보고 연결된 Tool 중 필요한 것을 스스로 고릅니다.
Q2Tool 설명이 왜 중요한가요?답 보기
Agent는 Tool의 이름과 설명을 읽고 언제 쓸지 판단합니다. 설명이 모호하면 엉뚱한 Tool을 고릅니다.
Q3메일 Tool의 받는 사람을 고정한 이유는?답 보기
메일 발송은 되돌릴 수 없는 행동이라, 받는 사람까지 AI에게 맡기면 잘못된 곳으로 갈 수 있기 때문입니다.
Q4정보가 부족한 요청에 Agent는 어떻게 해야 하나요?답 보기
빈 값을 지어내지 말고 필요한 정보를 사용자에게 먼저 물어봐야 합니다.
Q5Memory와 시트의 역할 차이는?답 보기
Memory는 대화 흐름을 기억하고, 시트는 실제 업무 데이터를 보관합니다. 고객 정보는 시트에서 확인합니다.
이제 따라 만들기는 끝났습니다. 다음 시간에는 나만의 AI Agent(또는 Workflow)를 기획합니다. 내 일에서 반복되는 일을 찾아 흐름을 쓰고, Workflow로 할지 Agent로 할지 정하고, n8n에 뼈대를 세웁니다.