Message an Agent 노드
n8n v2.42요약
Message an Agent 노드를 사용하면 워크플로에서 에이전트에게 메시지를 보내고, 에이전트의 응답을 이후 노드에서 사용할 수 있습니다. 이미 만들어 둔 에이전트에게 메시지를 보낼 수도 있고, 노드 안에서 에이전트를 인라인으로 정의할 수도 있습니다.
Message an Agent 노드를 사용하면 워크플로에서 에이전트에게 메시지를 보내고, 에이전트의 응답을 이후 노드에서 사용할 수 있습니다. 에이전트는 자체 추론 루프를 실행하고, 자체 도구와 스킬을 호출하며, 워크플로에 응답을 반환합니다.
이미 만들어 둔 에이전트에게 메시지를 보낼 수도 있고, 노드 안에서 에이전트를 인라인으로 정의할 수도 있습니다.
에이전트는 프리뷰 상태입니다. 에이전트를 구축, 게시, 관리하는 방법은 에이전트 구축 및 관리를 참고하세요.
보내는 메시지 하나는 다른 워크플로 실행과 마찬가지로 실행 1회로 계산됩니다.
노드 버전
이 페이지는 버전 3.1을 설명합니다. 이전 버전에서는 일부 컨트롤을 사용할 수 없습니다.
- 버전 1은 목록과 ID 방식의 에이전트 선택기를 사용합니다. 버전 2에서 에이전트 선택기가 도입되었습니다.
- Require Specific Output Format은 버전 3에서 추가되었습니다.
- Session 설정은 버전 3.1에서 추가되었습니다.
노드 버전은 노드 설정 패널 하단에서 확인할 수 있습니다.
이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.
노드 파라미터#
Agent#
메시지를 보낼 에이전트를 선택합니다.
목록에는 워크플로와 같은 프로젝트에 속한 에이전트가 표시됩니다. 목록이 비어 있으면 해당 프로젝트에 아직 에이전트가 없는 것입니다. 프로젝트에 에이전트를 만들거나, 워크플로를 사용하려는 에이전트가 있는 프로젝트로 옮기세요.
실행되는 에이전트의 버전은 워크플로를 실행하는 방식에 따라 달라집니다.
- 수동 실행과 채팅 실행은 에이전트의 현재 초안을 사용하므로, 테스트에는 항상 최신 변경 사항이 반영됩니다.
- 프로덕션 실행은 에이전트의 게시된 버전을 사용합니다.
에이전트를 변경한 후에는 게시해야 합니다. 그렇지 않으면 프로덕션 실행은 이전 버전을 계속 사용합니다.
Message#
에이전트에게 보낼 메시지를 입력합니다. 사람에게 요청하듯이 작성하고, 표현식을 사용해 이전 노드의 데이터를 포함할 수 있습니다.
예를 들면 다음과 같습니다.
Process the refund for order {{ $json.order_id }}, then confirm with the customer that it was approved.
Require Specific Output Format#
이후 노드에서 자유 형식 텍스트 대신 예측 가능한 형태가 필요할 때 이 옵션을 켭니다. 그러면 에이전트는 사용자가 정의한 스키마와 일치하는 객체를 structuredOutput 필드로 반환합니다.
Schema Type으로 스키마를 정의하는 방법을 선택합니다.
- Generate From JSON Example: JSON Example에 예시 객체를 붙여넣으면 n8n이 이를 바탕으로 스키마를 만듭니다. 예시의 모든 속성이 필수가 됩니다.
- Define Using JSON Schema: Output Schema에 JSON Schema 형식으로 스키마를 직접 작성합니다.
구조화된 출력은 모델 제공자가 적용하므로 지원 여부가 다릅니다. 가장 안정적인 결과를 얻으려면 모든 속성을 필수로 표시하세요. 일부 제공자는 선택 필드나 고급 키워드를 거부하며, 구조화된 출력을 아예 지원하지 않는 제공자도 있습니다.
노드 옵션#
Advanced 아래에서 Add Option을 선택하면 다음 옵션을 추가할 수 있습니다.
Enable Streaming#
텍스트가 생성되는 대로 에이전트의 응답을 스트리밍할지, 전체 응답이 완성될 때까지 기다릴지 설정합니다. 기본적으로 활성화되어 있습니다.
스트리밍은 트리거가 이를 지원하도록 설정된 경우에만 호출자에게 전달됩니다. 연결된 Chat Trigger 노드 또는 Webhook 노드에서 Response Mode를 Streaming으로 설정하세요. 다른 응답 모드에서는 워크플로가 전체 응답을 기다리며, 이 옵션을 켜도 눈에 띄는 차이가 없습니다.
Invoke Agent#
모든 입력 항목에 대해 에이전트를 한 번만 호출할지, 입력 항목마다 한 번씩 호출할지 설정합니다.
- Once for All Items: 에이전트를 한 번만 호출합니다. 에이전트는 모든 입력 항목을 읽을 수 있습니다. 기본값입니다.
- Once Per Item: 입력 항목마다 에이전트를 한 번씩 호출합니다.
이 옵션은 인라인 에이전트에는 적용되지 않습니다.
Session#
세션을 사용하면 에이전트가 이전 메시지를 기억할 수 있습니다. 세션이 없으면 실행할 때마다 새 대화가 시작됩니다.
Session ID로 세션 키를 가져올 위치를 선택합니다.
- Connected Chat Trigger Node: 직접 연결된 Chat Trigger의 세션을 재사용합니다. 기본값이므로 Chat Trigger는 별도 설정 없이 작동합니다.
- Define below: Key에 고정 텍스트나 표현식으로 직접 키를 입력합니다. 예를 들어 고객 ID별로 실행을 하나의 대화로 묶을 때 사용합니다.
세션 키는 최대 74자까지 사용할 수 있습니다.
Allow Agent to Access Other Nodes' Data#
워크플로의 다른 노드의 실행 데이터를 읽는 도구를 에이전트에게 제공할지 설정합니다. 기본적으로 꺼져 있으며, 이 경우 에이전트는 자신의 입력만 사용할 수 있습니다.
이 옵션은 인라인 에이전트에는 적용되지 않습니다.
노드 출력#
노드는 에이전트 호출 1회당 항목 1개를 반환하며, 다음 필드를 포함합니다.
| 필드 | 설명 |
|---|---|
text |
에이전트의 응답입니다. |
structuredOutput |
Require Specific Output Format이 켜져 있으면 스키마와 일치하는 객체이고, 꺼져 있으면 null입니다. |
usage |
해당 호출의 토큰 사용량입니다. |
toolCalls |
에이전트가 응답을 만드는 동안 호출한 도구입니다. |
finishReason |
에이전트가 중단한 이유입니다. |
session |
호출이 실행된 세션입니다. |
노드 버전 1은 응답을 response라는 필드로 반환했습니다. 버전 2에서 이 이름이 text로 변경되었습니다. 버전 1을 사용하는 기존 워크플로는 이전 필드 이름을 유지합니다.
노드를 도구로 사용하기#
이 노드는 Message an Agent Tool로도 사용할 수 있으므로, AI Agent가 작업을 사용자의 에이전트에게 넘길 수 있습니다. AI Agent 노드의 Tool 입력에 연결하고 동일한 방식으로 설정하세요.
관련 리소스#
자주 발생하는 문제#
다음은 Message an Agent 노드에서 자주 발생하는 오류와 문제, 그리고 해결 또는 문제 해결 단계입니다.
에이전트 목록이 비어 있음#
Agent 목록에는 워크플로가 속한 프로젝트의 에이전트만 표시됩니다. 다른 프로젝트의 에이전트는 표시되지 않습니다.
같은 프로젝트에 에이전트를 구축하거나, 워크플로를 해당 에이전트가 있는 프로젝트로 옮기세요.
에이전트를 찾을 수 없거나 접근할 수 없음#
노드는 워크플로를 소유한 프로젝트의 에이전트에만 접근할 수 있습니다. 누군가 에이전트를 삭제했거나 워크플로와 에이전트가 서로 다른 프로젝트에 있으면 이 오류가 표시됩니다.
에이전트가 워크플로와 같은 프로젝트에 여전히 있는지 확인하세요.
Session ID는 최대 74자여야 함#
n8n은 프로젝트 ID와 사용자의 세션 ID를 합친 키로 세션을 저장하며, 저장되는 값에는 고정된 길이 제한이 있습니다.
Key 값을 줄이세요. 이전 데이터에서 긴 ID를 매핑하는 경우에는 먼저 해시하거나 잘라내세요.
프롬프트가 비어 있음#
Message가 빈 값 또는 텍스트가 아닌 값으로 확인되면 노드가 Prompt cannot be empty를 반환합니다.
Message의 표현식을 확인하세요. 객체나 숫자를 반환하는 표현식은 빈 프롬프트로 확인되므로, 먼저 텍스트로 변환하세요.