Discourse용 신규 AI 페르소나 에디터

Discourse에서 완전히 새로운 기능인 AI 페르소나 에디터의 출시를 발표하게 되어 매우 기쁩니다. 이 기능은 AI 서비스의 일환으로, AI 봇 기능을 통해 Claude나 Open AI GPT 모델과 같은 언어 학습 모델(LLM)과 사용자가 상호작용하는 방식을 조정함으로써 Discourse 플랫폼의 상호작용 경험을 사용자화하고 향상시킬 수 있게 해줍니다.

AI 페르소나 에디터란?

페르소나 에디터는 AI 페르소나를 관리하고 사용자화할 수 있는 관리 인터페이스입니다.

이 새로운 관리 UI는 /admin/plugins/discourse-ai/ai_personas 경로에서 접근할 수 있습니다. 현재 편집 인터페이스에 접근할 수 있는 권한은 관리자(admin)에게만 있습니다.

주요 기능

각 페르소나는 다음 속성을 가집니다:

  • 이름(Name): 각 페르소나에 대한 고유한 이름.
  • 설명(Description): 페르소나가 수행하는 작업에 대한 상세 설명으로, 페르소나 드롭다운 메뉴에 표시됩니다.
  • 명령어(Commands): 페르소나가 수행할 수 있는 작업 목록(예: 검색, 토픽 읽기 등).
  • 시스템 프롬프트(System Prompt): 페르소나의 기본 상호작용 프롬프트입니다. 이는 페르소나의 작동 방식을 결정하는 톤을 설정합니다.
  • 허용된 그룹 ID(Allowed Group IDs): 해당 페르소나와 상호작용할 수 있는 그룹.
  • 활성화(Enabled): 페르소나가 활성화되어 있는지 여부.
  • 시스템(System): 페르소나가 시스템 엔티티인지 여부.
  • 우선순위(Priority): 페르소나가 목록에 나열되는 순서를 결정합니다.

시스템 페르소나의 경우, “활성화(enabled)”, “우선순위(priority)” 및 “허용된 그룹 ID(Allowed group ids)” 속성만 변경할 수 있습니다. 시스템 페르소나의 “시스템 프롬프트”, “명령어”, “이름”, "설명"은 변경할 수 없습니다. 우선순위가 높은 페르소나는 목록의 상단에 정렬되며, 나머지는 알파벳 순으로 정렬됩니다.

이 인터페이스에서 모든 표준 시스템 프롬프트를 확인할 수 있으며, 이를 기반으로 자신만의 사용자화 템플릿으로 활용할 수 있습니다.

페르소나 사용자화

페르소나 에디터를 사용하면 최종 사용자가 접근할 수 있는 페르소나 목록을 사용자화할 수 있습니다. 예를 들어, SQL 헬퍼와 설정 탐색기 페르소나에 대한 접근 권한을 스태프만 가질 수 있도록 설정할 수 있습니다. 이를 통해 커뮤니티 내 특정 필요와 역할에 맞게 페르소나를 맞춤 설정할 수 있습니다.

기본 제공 페르소나

이미 다양한 사전 구성된 페르소나를 제공합니다. 전체 페르소나 목록은 여기에서 확인할 수 있습니다.

향상된 사용 사례

페르소나를 활용할 수 있는 몇 가지 방법을 소개합니다:

  1. 일본어로 구글 검색: 사용자 쿼리를 일본어로 번역하고 일본 웹을 검색하는 페르소나를 만들어, 다른 관점에서 콘텐츠에 접근하고 탐색하는 독특한 방법을 제공합니다.

  2. 콘텐츠 모더레이션: 커뮤니티 행동 규약을 시스템 프롬프트에 붙여넣고, AI가 해당 콘텐츠가 기준을 충족하는지 여부를 확인하도록 요청할 수 있습니다. 이는 존중과 포용적인 커뮤니티 환경을 유지하는 데 강력한 도구가 될 수 있습니다.

  3. 문서 도우미: 다른 모든 것보다 docs 카테고리를 검색하는 것을 우선시하는 페르소나를 만들어, 중요한 정보에 빠르고 쉽게 접근할 수 있게 할 수 있습니다.

  4. 커스텀 SQL 헬퍼: 데이터베이스 스키마를 붙여넣고 사용하는 SQL 방언을 알려주면, 자신만의 고유한 DB에 맞춰 튜닝된 SQL 헬퍼를 얻을 수 있습니다.

향후 아이디어

페르소나 에디터의 기능을 개선하고 확장하기 위해 항상 노력하고 있습니다. 향후 강화 사항으로 고려하고 있는 몇 가지 아이디어는 다음과 같습니다:

  • 원격 API 접근: 사용자가 선택한 원격 API에 페르소나가 접근할 수 있도록 허용합니다. 이를 통해 외부 서비스 및 데이터 소스를 통합하는 다양한 가능성이 열릴 수 있습니다.
  • 커스텀 콘텐츠: 사용자가 업로드하고 우리가 임베드하는 커스텀 콘텐츠에 페르소나가 접근할 수 있도록 허용합니다. 이는 사용자에게 독특하고 개인화된 콘텐츠를 제공하는 좋은 방법이 될 수 있습니다.

Discourse AI와 새로운 AI 페르소나 에디터에 대한 자세한 정보는 다음 리소스를 확인해 주세요:

이 새로운 기능을 즐기시고 유용하게 활용하시길 바랍니다. Discourse 플랫폼에서 페르소나 에디터를 창의적으로 활용하는 모습을 기대합니다!

36개의 좋아요

안녕하세요,

“Enabled Commands” 기능에 대해 말씀드리자면, 저희 스태프들이 꽤 좋아합니다. 이 명령어들이 정확히 어떤 기능을 하는지 설명하는 문서가 있을까요? 예를 들어 AI가 포럼과 인터넷을 모두 검색하는 것 같은데, 저희는 약간 혼란스럽습니다. 예를 들어 Dall-E는 Dall-E를 호출하는 것이고, Summarize는 AI에게 작업을 요청하는 것인 것 같지만, Tags나 Time은 무엇인가요? 올바른 방향을 알려줄 수 있는 분이 있을까요? 감사합니다

6개의 좋아요

그리고 봇의 사용자 이름과 아이콘을 더 맞춤화할 수 있도록 변경할 수 있을까요? 현재는 GPTx_bot 등으로 표시되고 있습니다. 관리 패널에서 사용자 이름과 프로필 사진을 변경할 수 있다는 것은 알고 있습니다. 기본 이름인 gptx_bot을 다른 이름으로 변경하면 문제가 생길까요?
감사합니다

4개의 좋아요

앞으로 1~2주 안에 문서 추가 작업을 진행할 예정입니다. 명령어 파라미터 지원도 추가하고 싶어서, 이 기회에 설명 문자열도 함께 넣으면 좋을 것 같습니다.

Tags는 봇이 태그 목록을 조회할 수 있도록 해줍니다.
Time은 봇이 어떤 시간대든 현재 시간을 조회할 수 있도록 해줍니다.

사용자에게 페르소나를 연결하는 기능은 확실히 구현하고 싶은 부분입니다.

봇의 사용자 이름은 자유롭게 변경하고 커스텀 아바타를 업로드해도 안전합니다. 해당 정보의 키로 user_id를 사용하므로, 이러한 변경 사항도 안정적으로 유지됩니다.

7개의 좋아요

4개의 게시글이 새로운 주제 AI Persona 목록이 스크롤되지 않음으로 분리되었습니다.

사용자 정의 페르소나는 정말 흥미로운 발전입니다! 바로 하나를 만들어 보려고 했으나, “활성화된 명령어” 메뉴에 아무것도 표시되지 않아서 제 봇은 잡담을 하는 것 외에는 거의 아무것도 할 수 없는 상태입니다. 이는 셀프호스팅 인스턴스에서이며, 몇 분 전까지 모든 것이 최신 상태였습니다. 제가 뭘 놓치고 있는 건 아닌지 확인하고 싶을 뿐입니다.

2개의 좋아요

제보해 주셔서 정말 감사합니다. 여기서는 일시적으로 회귀가 발생했는데, 재발을 방지하기 위해 방금 테스트를 추가했습니다. 수정 사항은 아마도 월요일에 병합될 것 같습니다. 여기는 주말이네요 :slight_smile:

6개의 좋아요

혹시 이 부분에 업데이트가 있나요? 저희의 사용 사례는 매뉴얼과 운영 팁 문서 등 다양한 문서를 통합하고, 이를 포럼에서 생성된 회원들의 모든 콘텐츠와 함께 참조할 수 있도록 하는 것입니다.

3개의 좋아요

구체적인 구현 방식에 대해 아직 고민 중입니다. 고려해야 할 부분이 많아서요.

아직 구체적인 계획은 없습니다.

6개의 좋아요

이것은 프롬프트를 통해 구현되나요, 아니면 향후 설정으로 추가되나요?

1개의 좋아요

이미 지원됩니다. 새로운 페르소나를 생성하고 검색 도구를 추가하면 적용할 필터를 지정할 수 있습니다.

2개의 좋아요

아, 놓치고 있었네요! 이 페르소나들이 한 답변에서 여러 도구를 사용할 수 있나요? 검색 후 첫 번째 결과에 대한 읽기 작업을 수행하도록 유도하고 있는데, 프롬프트를 어떻게 작성하든 검색만 수행하고 이를 기반으로 답변을 생성할 뿐, 결과의 게시물을 읽지 않아 문서 어시스턴트 컨텍스트에서 다소 비논리적인 답변이 나오는 문제가 있습니다.

1개의 좋아요

여러 도구를 동시에 실행할 수는 있지만, gpt 3.5와 같은 일부 모델은 설득하기가 정말 어렵습니다.

haiku를 시도해 보세요.

2개의 좋아요

처음부터 Haiku를 사용했는데, 프롬프팅을 좀 더 구체적으로 하니 이제 더 좋은 결과를 얻고 있습니다. “SEARCH 도구를 사용했다면 최소한 READ 동작을 한 번 수행해야 한다”와 같은 프롬프트가 효과를 봤습니다.

2개의 좋아요

첫 번째 게시물의 이미지가 깨져 있습니다.

2개의 좋아요

페르소나가 항상 order:latest를 검색어로 사용하는데, 이는 제가 기대하는 검색 결과를 실제로 제공하지 않습니다. 프롬프트를 변경하여 이를 수정하려고 했지만 큰 효과가 없었습니다. 이 부분을 조정할 다른 방법이 있을까요?

1개의 좋아요

프롬프트 엔지니어링으로 이 문제를 해결할 수 있어야 합니다:

order는 검색 도구가 받는 매개변수 중 하나입니다… 기본값이 latest조차 아닙니다.

도구에 기본 쿼리를 추가하고, order를 절대 제공하지 않도록 프롬프트를 작성하여 정렬을 강제할 수 있습니다: discourse-ai/lib/ai_bot/tools/search.rb at e8d110b444df8ab540232d050ed8c3744a5f38e6 · discourse/discourse-ai · GitHub

3개의 좋아요

사실 저는 그 코드 부분에 대해 언급한 것이었고, 프롬프트를 실험해 보고 있었어요.

제 경험상, “저가형” 모델로 긴 컨텍스트/체인을 다룰 때 프롬프트에 부정 표현을 사용하면 오히려 역효과가 날 수 있지만, Haiku는 처음 시도부터 이 부분을 꽤 잘 처리하는 것 같아요. 참고로 “do not” 같은 표현을 피하고 "never"나 “avoid” 같은 용어를 사용하는 것이 도움이 됩니다.

인사이트 주셔서 감사합니다.

참고로, 작은 버그(아니면 안 될 수도?)가 하나 있습니다. 사용자 설정이 있는 페르소나를 사용하면 DM 참가자가 ai-model-bot, 저, new-bot-user가 되는데, 이상하게도 new-bot-user가 "Hey Marc"라고 답하는 대신 "Hey ai-model-bot"이라고 답했어요 :smile: ai-model-bot이 거기에 있는 이유가 있나요?

1개의 좋아요

음, 이건 분명 이상하네요. 우리가 원래 질문과 함께 사용자 이름을 프롬프트에 포함시켜 보내는 탓에 모델이 혼란을 겪고 있는 건 아닌지 궁금합니다.

Opus는 이 부분을 올바르게 처리하는 것 같습니다…

1개의 좋아요

충분히 많은 대화를 해봐서, 이건 혼동 때문이라고 말할 수 있습니다. 그리고 저가형 모델에만 영향을 미치는 것 같습니다. 하지만 제 일부 페르소나가 "Human"으로 표시되어 있어서, DM에서 세 번째 참여자를 보는 것은 분명히 재미있었습니다.

그런데 공유 대화 페이지의 스타일을 쉽게 설정하는 방법이 있을까요? 테마/컴포넌트 스타일링을 무시하는 것 같습니다.

1개의 좋아요