21. 학습의 단계_n8n - 2일차 -
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) 4강. "AI 에이전트, 1분 컷?" - 나만의 AI 비서 만들기
현재 n8n 학습 단계는 AI Agent 노드를 불러와서 Model, Memory, Tool을 연결하는 단계이고, Tool로는 (1) Rapid API, Naver search API를 연결하고 있다.
강의에서는 Naver 뉴스 검색 API를 활용하여 뉴스를 검색하는 챗봇을 만들고 끝났지만, 이렇게 뉴스를 검색해보니 오늘자 뉴스를 검색해달라고 프롬프트에 요청했음에도 불구하고, 몇 년 전 뉴스가 검색되는 등 정교하지 못한 부분을 발견하게 되었다.
그래서 강의를 잠시 멈추고 이 부분을 어떻게 해결할 수 있을지 고민해 보았다. 시도한 방법은 두 개의 Agent를 생성하여 1번 Agent에게는 검색만 시키고, 2번 Agent에게는 1번의 뉴스 결과를 리뷰하고 발행일이 오늘보다 1주일 이상 오래된 경우에는 output을 챗봇에 출력하는 대신 1번 Agent에게 다시 작업을 수행하도록 피드백하는 방식이다.
두 개 이상의 Agent를 생성하는 것이 처음이다보니, 몇몇 오류들을 마주했다. (강의 내용 밖에서 이런저런 시도를 하고 있다보니 강의자료와 Q&A에서 답을 찾기는 어렵다.) 몇 차례 디버깅을 하면서 n8n Agent 간 상호 동작하도록 하는 방법을 조금씩 익히고 있다.
현재 워크플로우는 아래 이미지와 같이 챗봇 > 검색 Agent > 검토 Agent로 구성되어 있다. 아래 이미지에는 Memory에 관한 오류가 떠있는데 오류의 원인은 두번째 검토 Agent Memory 내 session ID가 없다는 이유다.
추정되는 이유는 챗봇에서 생성된 Session ID가 첫번째 검색 Agent를 경유하며 유실되었기 때문에, 두번째 검토 Agent의 Memory가 참조할 Session ID가 남지 않게 되었다는 것이다. 따라서 첫번째 검색 Agent가 Session ID를 두번째 검토 Agent에게 전달하도록 하여 문제를 해결해 보려 한다.
여러 방법을 시도해보니, 위에서 가정한 방식대로 별도의 field를 생성하여 문제를 해결할 수도 있겠지만, Memory Node의 왼쪽 [Input] 탭에서 Table 뷰로 각 field 값을 펼쳐 놓은 후, sessionId를 끌어다 놓으면 아래처럼 sessionId의 위치가 정확하게 입력되어 memory 문제가 발생하지 않게 된다.
input values have 3 keys, you must specify an input key or pass only 1 key as input
오. 위 문제를 해결했다. 나의 경우, 위 이슈는 프롬프트 상에서 Input이 없는 경우에 생기는 이슈였다. Input이 null이 되지 않도록 설정했더니 이슈는 해결되었다.
(현재는 검색 Agent와 검토 Agent 간에 상호 작용할 수 있는 워크플로우를 만드는 중이다.
현재는 의도한대로 동작하지 않고 있지만, 조금씩 해결책을 찾아가고 있다.)
(P.S.) 머릿 속에 새롭게 구상한 워크플로우를 시도하고 디버깅 하는 과정에서 무료 Credit이 다 소진되었다는 알림 메시지를 받았는데, 매우 기분이 좋았다. 열심히 하고 있다는 격려처럼 느껴진다. 이제 유료로 챗GPT를 사용하기 시작한다!
댓글
댓글 쓰기