| Studio Interface 목차 |
| 1. Explorer 2. Agents 3. Library 4. Hooks 5. Workflows 6. Variables 7. Knowledge Base 8. Tables 9. Nodes 10. Emulator 11. Inspector 12. Debugger, Logs & JSON 13. Botpress Hub 14. Keyboard Shortcuts 15. Chatbot Settings 16. Studio Preferences 17. Import & Export |

( 이미지 출처 : botpress의 Document중 Explorer )
탐색기 패널은 Studio 인터페이스의 왼쪽에 있으며 챗봇의 작업 흐름 과 Knowledge Base(지식 베이스)가 포함되어 있습니다.
탐색기 메뉴 상단에서 폴더 추가(Add Folder) 아이콘을 클릭합니다.
폴더는 챗봇 개발 플랫폼에서 워크플로 작업을 할 때 유용한 구성 도구가 될 수 있습니다. 폴더를 생성하면 관련 워크플로를 그룹화하고 워크플로 컬렉션을 효과적으로 관리하고 탐색할 수 있습니다. 예를들면, Knowledge Base(지식 베이스)를 포함시켜 지식베이스내 챗봇이 가능하게 해줍니다.
폴더가 작업 흐름을 도울 수 있는 몇 가지 방법은 다음과 같습니다.
탐색기 메뉴 상단에서 워크플로우 추가 아이콘을 클릭합니다.
워크플로우를 사용하면 복잡한 챗봇을 여러 개의 작은 흐름으로 나눌 수 있습니다. 챗봇을 여러 흐름으로 나누면 유지 관리와 재사용이 더 쉬워집니다.
탐색기 메뉴 상단에서 Knowledge Base(지식 베이스(필요한 모든 지식을 일정한 format으로 정리·축적한 것) 추가 아이콘을 클릭하세요.
Knowledge Base(지식 베이스(필요한 모든 지식을 일정한 format으로 정리·축적한 것)를 사용 하면 조직의 모든 지식을 한 곳에서 관리하고 액세스할 수 있습니다. PDF, 정적 텍스트, 웹사이트 URL 등 다양한 유형의 지식 소스를 업로드할 수 있습니다.
탐색기 메뉴 상단에서 테이블 추가 아이콘을 클릭합니다.
탐색기의 테이블은 본질적으로 챗봇 작업과 관련된 데이터를 저장, 구성 및 관리하는 데 활용할 수 있는 데이터베이스입니다.
테이블에 저장된 데이터는 챗봇 대화 중에 동적으로 쿼리하고 업데이트할 수 있으므로 데이터 지속성 또는 조작이 필요한 복잡한 시나리오를 처리할 수 있는 유연하고 강력한 메커니즘을 제공합니다.

( 이미지 출처 : botpress의 Document중 Explorer )
Botpress는 챗봇의 기능과 적응성을 향상시키기 위해 다양한 전문 에이전트를 제공합니다. 이러한 에이전트는 특정 작업을 수행하도록 설계되었으며 각각은 챗봇의 전반적인 성능에 기여합니다. 여기서는 Summary(요약), Personality(성격) , Knowledge,(지식), Translator(번역) 에이전트라는 4가지 에이전트를 소개합니다.
4개의 에이전트들은 기본적으로 상호간에 충돌하지 않습니다. 그러나 Translator Agent가 Personality Agent와 충돌할 수 있다는 점에 유의하는 것이 중요합니다. Personality Agent는 미리 설정된 성격에 따라 챗봇 응답을 조작하도록 설계되었으며 Translator Agent가 수행한 번역을 덮어쓸 수 있습니다. Translator Agent(번역 에이전트)와 Personality Agent(성격 에이전트)가 모두 활성화된 경우 성격 에이전트가 우선 순위를 갖습니다. 번역 에이전트를 적용하려면 Personality Agent의 설정을 조정하거나 꺼야 할 수도 있습니다.
요약 에이전트는 긴 사용자 응답이나 광범위한 텍스트를 간단하고 이해하기 쉬운 요약으로 압축하도록 설계되었습니다. 이 기능은 주요 아이디어를 빠르게 이해하여 봇과의 상호 작용을 더욱 효율적으로 만드는 데 매우 중요합니다.
요약 에이전트를 활성화하면 {{conversation.SummaryAgent.summary}}변수를 통해 대화 요약에 액세스할 수 있게 됩니다 . 이 변수는 사용자 코드가 허용되는 모든 위치에 통합될 수 있습니다. 여기에는 후크, 워크플로 실행 코드 카드, AI 태스크 카드 및 전환 카드가 포함됩니다.
예를 들어, 챗봇 프롬프트에 대화 요약을 포함하려면 다음과 같이 작성할 수 있습니다.
‘Your conversation summary: {{conversation.SummaryAgent.summary}}’
그러면 지금까지의 대화에 대한 간략한 요약이 출력됩니다.
Summary Agent 및 기타 Botpress 기능이나 에이전트와 알려진 충돌은 없습니다. 그러나 각 대화의 방향전환 후(after each conversation turn)에 요약 에이전트(conversation.SummaryAgent.summary)의 결과물이 업데이트된다는 점을 기억하십시오 . 따라서 상황에 맞게 사용하고 업데이트된 경우에만 요약을 확인하세요.
AI 챗봇은 원래 다국어가 지원되므로 기본적으로 Translator Agent(번역 에이전트)는 불필요합니다. 다만 특정 언어로 챗봇을 운영하고자할 때 필요할 수 있습니다. 또한 사용자가 여러 언어들로 문의하는 경우, botpress 챗봇은 나중에는 영어로만 답을 합니다. 이런 경우, Translator Agent를 활성화하고 설정중에 Detect Language Every Turn(매 턴마다 언어 감지)를 활성화하면 사용자의 언어에 따라 잘 답변을 합니다.
참고로 user.TranslatorAgent.language 변수를 이용하면 챗봇을 이용하는 언어의 종류와 빈도 정도를 확인할 수 있을 것 같습니다.

번역기 에이전트를 사용하면 챗봇이 다양한 언어로 사용자와 상호 작용하여 언어 장벽을 허물고 봇의 대상 범위를 확장할 수 있습니다.
아직 정의되지 않은 경우, 결과적으로 이 기능을 활성화하면 {{user.TranslatorAgent.언어}} 변수가 설정됩니다.(Activating this feature consequently sets the {{user.TranslatorAgent.language}} variable when it’s not already defined.)
번역 에이전트를 사용하면 챗봇이 다양한 언어로 사용자와 상호 작용하여 언어 장벽을 허물고 봇의 대상 범위를 확장할 수 있습니다.
fr이 경우에는 프랑스어를 사용하겠습니다 .아래의 동영상을 참조하시면 쉽습니다.
How to set chatbot’s language in Botpress | Botpress Shorts(0:44)
번역기 에이전트는 활성화되면 챗봇의 응답을 사용자의 언어로 자동 번역합니다. 사용자의 언어를 수동으로 정의하려는 경우 {{user.TranslatorAgent.language}}변수를 직접 설정할 수 있습니다.
이 변수는 기본적으로 null로 설정됩니다. 이는 번역기 에이전트가 입력에서 사용자의 언어를 자동으로 감지함을 의미합니다.
Reset User Language(사용자 언어 재설정) 카드를 흐름으로 끌어옵니다 . 그러면 {{user.TranslatorAgent.language}}변수가 null로 재설정됩니다 .
Execute Code(코드 실행) 카드에서도 이 작업을 수행할 수 있습니다.
//use null to reset the language, otherwise set it to a language code{{user.TranslatorAgent.language}} = null;
참고
현재는 여러 언어를 동시에 말할 수 있는(즉, 동일한 흐름 내에서 스페인어, 영어, 프랑스어 간 전환) 챗봇을 구축하는 것이 불가능합니다.
Translator Agent가 Personality Agent와 충돌할 수 있다는 점에 유의하는 것이 중요합니다. Personality Agent는 미리 설정된 성격에 따라 챗봇 응답을 조작하도록 설계되었으며 Translator Agent가 수행한 번역을 덮어쓸 수 있습니다. Translator Agent(번역 에이전트)와 Personality Agent(성격 에이전트)가 모두 활성화된 경우 성격 에이전트가 우선 순위를 갖습니다. 번역 에이전트를 적용하려면 Personality Agent의 설정을 조정하거나 꺼야 할 수도 있습니다.
How to add an “always” transition | Botpress Shorts(0:22)
Personality Agent를 사용하면 챗봇에 독특한 개성을 부여할 수 있습니다. 정의된 성격 특성에 따라 봇의 행동과 반응을 조정하여 사용자에게 더욱 매력적이고 인간과 유사한 상호 작용을 제공합니다. Chatbot Personality 에서 자세히 알아보세요 .

Personality Agent를 활성화하려면 에이전트의 Personality Rewriting 옵션을 활성화해야 합니다 .
Personality Description(성격 설명)에 대한 아래의 설명이 구구절절 설명이 긴데, 그냥 ‘다정하고 기술적이며 전문가다운 성격’처럼 한글로 입력해주시면 됩니다.
여기에서 챗봇의 성격을 정의합니다. 챗봇의 작동 방식과 의도된 작업을 설명해야 합니다. 특정 성격 특성을 포함하면 봇의 반응에 영향을 미칩니다. 예를 들어, 봇을 “funny cowboy that likes to add emojis to some of your messages and often refers to the user as ‘my frien(일부 메시지에 이모티콘을 추가하는 것을 좋아하고 종종 사용자를 ‘내 친구’라고 부르는 재미있는 카우보이)”라고 설명하는 경우 봇은 응답에서 이 동작을 모방합니다.
Personality Agent가 활성화되면 설명된 성격에 맞게 봇이 보내는 모든 메시지를 자동으로 다시 작성합니다. 예를 들어, 봇이 유머러스하고 친근한 성격을 갖고 있다(having a humorous and friendly personality)고 설명되면 해당 응답에는 “안녕하세요, 친구!”와 같은 가벼운 마음의 재치나 친근한 인사말이 포함될 수 있습니다.
예를 들어 봇이 전문 컨설턴트처럼 작동하도록 하려면 다음 텍스트나 성격 설명과 같은 문구를 추가해주세요.
💡
이 에이전트를 활성화하면 정의된 성격 특성에 따라 메시지를 처리하고 다시 작성하는 데 시간이 걸리므로 봇의 응답에 약간의 대기 시간이 추가될 수 있습니다.
노드 설정에서 Personality Rewriting option(성격 재작성 옵션)을 비활성화하여 특정 노드에서 성격 에이전트를 비활성화할 수 있습니다 . 이렇게 하면 텍스트 또는 캡처 카드에 포함된 모든 메시지가 다시 작성하지 않고 있는 그대로 전송됩니다.
Personality Agent가 Translator Agent와 충돌할 수 있다는 점에 유의하십시오. 둘 다 활성화된 경우 Personality Agent의 우선 순위가 더 높으며 Translator Agent가 수행한 번역을 덮어쓸 수 있습니다. 따라서 번역의 효율성을 보장하려면 Personality Agent의 설정을 조정하거나 꺼야 합니다.
이 에이전트는 귀하의 챗봇이 지식 베이스의 질문에 답변하도록 합니다.
사용자의 메시지에서 질문을 찾고 컨텍스트 지식 베이스에서 답변을 찾으려고 시도합니다.
검색되는 기술 자료는 현재 워크플로와 동일한 폴더 또는 상위 폴더에 있는 기술 자료입니다.
에이전트는 사용자가 질문하고 챗봇이 시작 노드에 있거나 워크플로가 지식 베이스가 활성화된 노드 내부의 Capture Card(캡처 카드)에 있는 경우에만 응답합니다.(The agent will only answer when the user asks a question and the chatbot is either on the Start Node or when the workflow is on a Capture Card inside a node that has Knowledge Bases enabled.) : 중요한 말 같은데, 이해가 안됩니다.
[중요]노드에서 기술 자료를 활성화하려면 워크플로 편집기에서 노드를 클릭한 다음 오른쪽 검사기 패널에서 Knowledge Bases option(지식 자료 옵션)을 활성화합니다.(To enable Knowledge Bases on a node, click on the node in the workflow editor and then enable the Knowledge Bases option in the right inspector panel.)


{{turn.KnowledgeAgent.answer}}. This can be done with a Say node, on a Capture Card or with a Hook (advanced).)Summary of the conversation(대화 요약):
“””
{{conversation.SummaryAgent.summary}}
“””
Transcript(나눈 대화의 문자화된 기록) :
“””
{{conversation.SummaryAgent.transcript}}
null if no answer is found.)true if the Knowledge Agent has answered the user’s question automatically. It is set to false otherwise if manual answering is enabled.)null if no citations are found.)