23. 학습의 단계_n8n -4일차 -

1단계. 학습의 단계


1. AWS Bedrock

첫번째 강의) Building Multi-Agentic AI Workflows on AWS Bedrock: 수강완료 (2025/4/13~04/16)
두번째 강의) Learn Agentic AI Basics, Amazon Bedrock Multi-Agent Framework (2025/4/29~06/11)

2. N8N

I. 강의 선택의 이유 / 수강 전 기대하는 부분

(중략)

이번 강의는 개념을 많이 알아보고 깨우치는 강의가 되기 보다는, "어? 그럼 이런것도 만들 수 있겠네? 어, 이거 만들어보고 싶다"라는 생각이 계속 드는 강의가 되기를 희망한다. 강의 완강까지 시간이 다소 걸려도 된다. 강의를 듣다가 배운 내용을 십분 활용하여 수강 중간에라도 toy project를 시도해보면 좋겠다.

II. 수업내용

1일차(25/6/11): Rapid API, n8n(rapid api, chat gpt api, firecrawl api)

1) 2강. "난생 첫 API 호출!" - API로 진짜 AI를 경험하다
2) 3강. "API라는 신세계" - 다양한 AI 활용 및 기초 구조

2일차(25/6/12~13): AI 챗봇, Tool 연동, 혼자서 두 개 에이전트를 만들어서 피드백 루프 구성 중.

3일차(25/6/20): 피드백 루프 구성 시도 후, 다시 강의 내용으로 복귀함. (네이버 API, claude API 연결)

3) 4강. "AI 에이전트, 1분 컷?" - 나만의 AI 비서 만들기

4일차(25/6/22~24): 5강 시작

4) 5강. "AI 에이전트 실사례" - 음성부터 텔레그램까지 손쉽게 연동

AI Agent의 완성도 높은 답변을 위해서는 최대한 system message(prompt) 상에 필요한 정보들을 추가해넣어야 한다. RAG를 통해서 지속적으로 외부 정보들을 가져와 답변의 완성도를 높여가도록 하는 방법도 있지만, 빠르게 완성도를 높이기 위해서는 prompt에 모든 내용을 추가하는 것이 좋다.

이번에는 워크플로우의 시작을 'Chat'이 아니라, '텔레그램' 메시지를 통해 trigger되도록 한다.
텔레그램 설치 후 botfather에서 계정을 생성한 후 api key를 생성했다. n8n에서 telegram 노드에 credential 값을 추가하니 연동이 완료되었다. 

이제 앱에서 메시지를 보낸 후에 제대로 값이 들어오는지 확인한다.



값이 정상적으로 입력되는 것을 확인할 수 있다.

강사 분의 경우에는 Listening 기능을 통해서, 메시지가 입력될 때마다 자동으로 input이 들어가도록 되어 있다. 그러나 내 경우에는 매번 execute를 해야만 받은 message를 확인할 수 있다. 이에 관해 강사님께 질문을 남겼고, 다음과 같이 답변을 받았다.



추가적으로 나의 메시지를 받은 Agent가 그 답변을 다시 나에게 텔레그램 메시지를 발송하도록 하는 워크플로우를 구성했다.



위에서는 텔레그램을 통해 메시지를 받고, 발송하는 워크플로우를 구성해보았다.

이번에는 Gmail을 통해 이메일을 발송하는 노드를 구성하고 테스트해보았다.


Agent에게 이메일, 캘린더 업데이트 등의 Tool을 활용하도록 각각의 노드를 붙인 화면이다. 



이메일 발송 요청 시, Agent가 알아서 Gmail 툴을 불러서 이메일을 발송하고, 그 결과를 텔레그램을 통해 알려준다.





또한 아래와 같이 텔레그램을 통해 구글 캘린더 일정을 신규로 추가하거나, 일정 변경을 할 수도 있다.




이번에는 텔레그램의 텍스트가 아닌, 음성메시지를 통해 에이전트를 구동시키는 워크플로우를 구성한다.
이를 위해서는 텔레그램 메시지를 받는 노드에 들어가서 텍스트(string) 값이 없는 경우 ""를 반환하도록 설정하고, IF 노드를 만들어서 만일 텔레그램 메시지 텍스트가 ""인 경우, 파일을 다운로드받아 Open AI를 통해 '오디오를 텍스트로 변환'하는 작업을 하도록 한다. 이렇게 되면 이번 예시와 같이, 텔레그램 메시지가 텍스트인 경우 곧바로 Agent에게 전달되고, 음성파일인 경우 Open AI 엔진을 통해 메시지로 변환된 후 Agent에게 전달된다.

TIP. 이때 Agent가 처리해야하는 Promp의 변수를 통일시키기 위해서, 텔레그램 노드 바로 다음 부분에 Edit 노드를 두어, 텔레그램 메시지의 변수 값을 message.text 가 아닌 text 로 변환하게 되면, Open AI를 통해 변환되는 텍스트의 변수 값 text와 동일한 변수 값으로 통일되어, Agent의 Prompt에 한 개의 변수 값만 입력해도 동작하도록 설정할 수 있다.

아래는 IF를 통해 분기한 워크플로우의 모습과 그 결과로 받은 메시지다.





3. Claude MCP
(4. LangChain?)
(5. A2A?)

댓글

이 블로그의 인기 게시물

20. 학습의 단계_n8n -1일차 (시작) -

01. 1억~10억 비즈니스 매매의 시대: 실력이 승부를 가른다

31. 서비스 구축단계_세컨브레인 -2,3일차: 구현 (2. 채널연결 완료) -