정의 #
에이전트 노드는 Dify Chatflow/Workflow의 구성 요소로, 자율적인 도구 호출을 지원합니다. 다양한 에이전트 추론 전략을 통합함으로써 LLM은 런타임에 도구를 동적으로 선택하고 실행하여 다단계 추론을 수행할 수 있습니다.
구성 단계 #
노드 추가 #
Dify Chatflow/Workflow 편집기에서 구성 요소 패널에서 에이전트 노드를 캔버스로 끌어다 놓습니다.
에이전트 전략 선택 #
노드 구성 패널에서 에이전트 전략을 클릭합니다.드롭다운 메뉴에서 원하는 에이전트 추론 전략을 선택하세요. Dify는 함수 호출(Function Calling)과 ReAct(ReAct)라는 두 가지 기본 전략을 제공하며, 마켓플레이스 → 에이전트 전략(Agent Strategies) 카테고리 에서 설치할 수 있습니다 .
1. 함수 호출 #
함수 호출은 사용자 명령을 미리 정의된 함수 또는 도구에 매핑합니다. LLM은 먼저 사용자 의도를 파악한 후, 호출할 함수를 결정하고 필요한 매개변수를 추출합니다. 핵심 메커니즘은 외부 함수 또는 도구를 명시적으로 호출하는 것입니다.장점:• 정밀도: 명확하게 정의된 작업의 경우 복잡한 추론이 필요 없이 해당 도구를 직접 호출할 수 있습니다.• 외부 기능 통합이 더 쉬워졌습니다. 다양한 외부 API나 도구를 모델에서 호출할 수 있는 함수로 래핑할 수 있습니다.• 구조화된 출력: 모델은 함수 호출에 대한 구조화된 정보를 출력하여 다운스트림 노드의 처리를 용이하게 합니다.
2. ReAct (이유 + 행동) #
ReAct는 에이전트가 추론과 실행을 번갈아 수행할 수 있도록 합니다. LLM은 먼저 현재 상태와 목표를 고려한 후 적절한 도구를 선택하고 호출합니다. 도구의 출력은 LLM의 다음 추론 및 실행 단계를 알려줍니다. 이러한 순환은 문제가 해결될 때까지 계속됩니다.장점:• 효과적인 외부 정보 활용: 외부 도구를 활용하여 모델만으로는 달성할 수 없는 정보를 검색하고 작업을 처리할 수 있습니다.• 설명 가능성 향상: 추론과 행동이 서로 얽혀 있기 때문에 에이전트의 사고 과정에서 일정 수준의 추적 가능성이 있습니다.• 폭넓은 적용성: Q&A, 정보 검색, 작업 실행 등 외부 지식이 필요하거나 특정 작업을 수행해야 하는 시나리오에 적합합니다.개발자는 에이전트 전략 플러그인을 공개 저장소 에 제공할 수 있습니다 . 검토 후, 해당 플러그인은 마켓플레이스에 등록되어 다른 개발자들이 설치할 수 있도록 합니다.
노드 매개변수 구성 #
에이전트 전략을 선택하면 구성 패널에 관련 옵션이 표시됩니다. Dify와 함께 제공되는 함수 호출 및 ReAct 전략의 경우, 사용 가능한 구성 항목은 다음과 같습니다.
- 모델: 에이전트를 구동하는 대규모 언어 모델을 선택합니다.
- 도구 목록: 도구 사용 방식은 에이전트 전략에 따라 정의됩니다. 에이전트가 호출할 수 있는 도구를 추가하고 구성하려면 +를 클릭하세요.
- 검색: 드롭다운에서 설치된 도구 플러그인을 선택합니다.
- 승인: 도구를 활성화하기 위해 API 키와 기타 자격 증명을 제공합니다.
- 도구 설명 및 매개변수 설정: LLM이 도구를 언제, 왜 사용해야 하는지 이해하고, 모든 기능적 매개변수를 구성하는 데 도움이 되는 설명을 제공합니다.
- 지침 : 에이전트의 작업 목표와 컨텍스트를 정의합니다. Jinja 구문을 사용하여 업스트림 노드 변수를 참조할 수 있습니다.
- 쿼리 : 사용자 입력을 받습니다.
- 최대 반복 횟수: 에이전트의 실행 단계의 최대 횟수를 설정합니다.
- 출력 변수: 노드가 출력하는 데이터 구조를 나타냅니다.
로그 #
실행 중에 에이전트 노드는 자세한 로그를 생성합니다. 입력 및 출력, 토큰 사용량, 소요 시간 및 상태를 포함한 전반적인 노드 실행 정보를 볼 수 있습니다. ‘세부 정보’를 클릭하면 각 에이전트 전략 실행 라운드의 출력을 볼 수 있습니다.
메모리 #
메모리 토글을 활성화하면 에이전트가 대화 맥락을 기억하고 불러올 수 있습니다. 창 크기를 조정하면 에이전트가 “기억”할 수 있는 이전 대화 메시지 수를 제어할 수 있습니다. 이를 통해 에이전트는 이전 대화를 이해하고 참조할 수 있으며, 여러 차례 대화가 이어지는 상황에서도 일관성 있고 맥락에 맞는 답변을 제공하여 대화 경험을 향상시킵니다.예를 들어, 사용자가 후속 메시지에서 대명사(예: “그것”, “이것” 또는 “그들”)를 사용하는 경우 메모리 기능이 활성화된 에이전트는 사용자가 전체 정보를 다시 설명하지 않고도 이전 맥락에서 이러한 대명사가 가리키는 내용을 이해할 수 있습니다.
사용 사례에 맞는 도구 사용자 정의 #
에이전트 노드나 에이전트에 도구를 추가하면 도구의 동작 방식을 사용자 지정할 수 있습니다.
도구 설명 #
MCP 서버에서 제공되는 기본 설명을 재정의할 수 있습니다. 이는 사용 사례에 맞게 설명을 더욱 구체적으로 작성하는 데 유용합니다.
매개변수 구성(추론 구성) #
각 도구 매개변수에 대해 다음 중에서 선택할 수 있습니다.자동 : AI 모델이 컨텍스트에 따라 매개변수 값을 결정하도록 합니다(기본 동작)고정 값 : 항상 사용될 특정 값(정적 값 또는 변수일 수 있음)을 설정하여 AI 추론에서 매개변수를 제거합니다.이것은 다음의 경우에 유용합니다:
- 일관된 구성 값 설정(
numResults: 10
검색 도구의 경우와 같이) - 변경되어서는 안 되는 매개변수 미리 채우기(특정 API 엔드포인트 또는 형식 기본 설정 등)
- AI가 처리해야 하는 매개변수 수를 줄여 도구 사용을 단순화합니다.
예를 들어, 웹 검색 도구를 사용하면 다음과 같은 작업을 수행할 수 있습니다.
query
AI가 검색할 내용을 결정하도록 “자동”을 유지하세요 .numResults
응답 크기를 제한하려면 “5”와 같은 고정 값으로 설정하세요 .- 일관된 동작을 위해 검색 필터와 같은 다른 매개변수를 고정 값으로 설정합니다.