나만의 워크플로우를 보여주세요

A preview of the new Workflows feature에서 이어지는 토론입니다:

Workflows의 출시를 정말 기대하고 있습니다. 과거에 활발한 커뮤니티 매니저로 활동하던 시절, 반복적인 전술적 커뮤니티 프로세스를 자동화할 방법을 찾으면서 이 기능을 꿈꿔 왔습니다.

Workflows를 어떤 용도로 사용하고 있는지(또는 이제 알았으니 앞으로 무엇을 할 것인지!) 매우 궁금합니다.

제가 먼저 시작하겠습니다. 다만, 제가 그 기술이 없어서 실제 구축 작업은 @zogstrip와 @chapoi에게 위임해야 했습니다.

주간 업데이트 리마인더 워크플로
우리 팀에게 의무적으로 요구하는 유일한 사항은 매주 한 번의 체크인으로, 팀원들이 건강하고 행복한지 확인하기 위함입니다. 여러 이유로 일부 팀원들이 이를 수행하지 않는 경우가 있는데, 그들을 추궁하는 데 시간과 에너지를 낭비하는 것을 방지하기 위해 새로운 해결책을 마련했습니다.

이 워크플로는 업데이트가 있는지 확인하고, 업데이트를 미루는 시간이 길어질수록 점점 더 불쾌한 CSS를 적용합니다.

그 효과가 놀라울 정도로 뛰어납니다!

11개의 좋아요

CSS 정말 좋아요 :laughing:! 가능하면 공유해 주실 수 있을까요?

2개의 좋아요

제가 만든 테마 중 가장 못생긴 테마를 원한다고 말하지는 마세요… :sweat_smile:

4개의 좋아요

정말 그래요 :laughing: . 아주… 창의적이네요 :eyes: .

2개의 좋아요

정말 믿기지가 않아요. 제가 무관한 다른 걸 테스트하다가 실수로 4그룹에 들어가게 됐거든요. 그런데 화면 속 모든 게 계속 떠다니는 상황에서 문제를 디버깅하려 했죠. :laughing: @zogstrip 님은 정말 인내심 있게 도와주셨어요.

2개의 좋아요

워크플로 개요에서 아주 명확하게 보이지는 않으니, 작동 방식을 설명해 드리겠습니다.

1부 - 노란 박스

  • #updates 카테고리에 생성/수정된 모든 게시글에 대해, 해당 글이 토픽 작성자(OP)로부터 온 것인지 확인합니다.
  • OP가 작성한 것이 아니면 "탈출(bail out)"합니다.
  • OP가 작성한 경우, LLM 분류기를 통해 해당 게시글이 무작위 답변이 아닌 실제 주간 업데이트인지(특정 형식은 요구하지 않습니다) 판단하는 JSON을 반환받습니다.
  • 그런 다음 해당 분류 결과를 데이터 테이블에 저장합니다.
  • 게시글이 주간 업데이트로 분류되면, 사용자를 모든 “지연(late)” 그룹( 초록 박스 )에서 즉시 제거합니다.

2부 - 파란 박스

  • 매일 UTC 오전 6시에 데이터 탐색자(data explorer) 쿼리를 실행하여 모든 휴가, 공휴일, "최신 주간 업데이트"를 결합하여 사람들을 네 개의 “지연” 그룹 중 하나로 배정합니다.

3부 - 워크플로에 표시되지 않음

  • 현재 사용자가 “지연” 그룹 중 하나에 속하는지 확인하고 더 많은… 짜증[1]을 적용하는 커스텀 테마 컴포넌트가 있습니다 :sweat_smile:

  1. 모든 테마에 적용됩니다 ↩︎

5개의 좋아요

일부 태그 사용이 필수이지만, 회원들이 잘못된 카테고리에 게시물을 올리는 경우가 많아 주제를 올바른 위치로 이동시키는 데 상당한 시간이 소요됩니다.

주제 생성 시 실행되는 매우 기본적인 워크플로우는 사용 중인 태그를 확인한 후 카테고리를 자동으로 변경합니다.

이처럼 간단한 기능 덕분에 아무 노력 없이도 일정한 구조를 유지할 수 있었습니다.

2개의 좋아요

기존 워크플로 주제에서 내가 작성한 게시글에 대한 후속입니다. 원하는 동작을 구현하는 방법을 찾았습니다. 물론 이건 전부 테스트 단계이지만, 아래는 이 시스템이 수행하는 내용입니다:

이것은 AI를 활용하여 사이트가 한산할 때 토론을 촉발하고 재참여를 높이는 재참여(re-engagement) 시스템입니다.

Phase A: 탐색 및 요약

30일 이상 지난 게시글 중 다음 조건에 해당하는 항목을 찾습니다:

- 한동안 새 게시글이 없는 인기 주제.

  • 많은 조회수를 기록하고 있지만 한동안 답변이 없는 주제.
  • 지난 1년간 일부 활동이 있었으나 이후 중단된 주제.

하나를 찾으면 Discourse의 ‘AI Summary’ 에이전트를 실행합니다. AI 에이전트가 요약을 작성하도록 합니다. 이를 위해 요약 API 엔드포인트에 http 요청을 POST합니다. 요약이 완료되면 워크플로의 존재를 데이터 테이블에 저장합니다.

(이것은 1시간마다 실행되지만, 더 자주 실행될 수도 있습니다).

Phase B: 후속 조치를 위한 요약 평가

또 다른 예약 워크플로가 자체 스케줄에 따라 독립적으로 실행됩니다. 데이터 테이블에서 요약되었지만 평가되지 않은 행을 확인합니다. 데이터 테이블에서 주제를 하나 가져오고 해당 주제의 최근 5~10개 게시글을 가져옵니다.

분류(triage)를 담당하는 AI 에이전트로 전달됩니다. 에이전트는 판단을 내립니다. 이 주제를 부활시켜야 하는가? 그렇다면 어떻게 해야 하는가? 주제를 부스트(bump)해야 하는지, 주제를 다시 참여하게 할 게시글을 작성해야 하는지(질문하기, 후속 질문하기, 아무것도 하지 않기)를 결정합니다.

데이터 테이블에 결정을 업데이트합니다.

(이것은 Phase A와 비슷한 빈도로 실행되어야 하며, Phase A에서 트리거하거나 Phase A와 결합할 수도 있습니다.)

Phase C: 주제 재참여

또 다른 예약 워크플로가 자체 스케줄에 따라 덜 자주 실행됩니다. 첫 번째 단계는 최근 포럼의 활동 수준을 확인하는 것입니다. 지난 3시간 동안 시간당 평균 게시글 수를 확인하여 이를 수행합니다. 그 후 지난 2개월간 같은 요일의 같은 시간대 3시간 주기별 포럼의 평균 바쁨 정도를 계산합니다. 사이트가 같은 요일의 같은 시간대에 비해 평소보다 한산하다면 '이제 재참여를 수행할 수 있다’고 판단합니다.

그 후 최대 10개의 사용 가능한 재참여 기회를 가져옵니다. AI 에이전트로 보내고 목록에서 재참여를 위한 가장 강력한 후보를 선출하도록 요청합니다. AI가 결정하고 topic_id를 반환합니다. Phase B의 분류기는 3가지 옵션 중 하나를 결정했습니다: 주제 부스트, 후속 게시글 작성, 아무것도 하지 않기.

워크플로는 후속 조치가 지정되지 않는 한 부스트를 수행합니다. 후속 조치가 지정된 경우, 주제 ID를 가져와 해당 주제의 최신 게시글을 가져옵니다. 이를 AI 에이전트로 전달하여 주제를 다시 참여하게 할 최선의 응답을 결정하도록 합니다. 응답이 매우 기본적이면서도 주제에 부합하고 추천이나 논평을 제공하지 않도록 하는 가드레일이 있습니다. 주로 업데이트를 요청하거나, 원 포스터가 발생한 일에 대해 업데이트가 있는지 묻는 등의 내용을 담습니다. 답변을 게시하고 완료 날짜로 데이터 테이블을 업데이트합니다.

아마도 제가 알지 못했던 Discourse의 숨겨진 기능을 중복 구현한 것은 아니길 바랍니다! 시행착오가 있었지만 결국 완료했습니다.

7개의 좋아요

메타에서 다양한 활동에 대해 팀을 최신 상태로 유지하기 위해 우리가 사용하고 있는 주간 보고서 생성용 플로우 몇 가지입니다. 각각은 결과를 게시할 스태프 카테고리 내의 주제가 하나씩 있습니다.

이것들은 대부분 범용적으로 구성되어 있으므로, 본인의 사이트에서 테스트해 보시기를 권합니다. 최종 노드에서 결과가 공유되는 주제의 ID만 본인의 스태프 카테고리 내의 주제로 변경하시면 됩니다.

(가져오기 전에 수동으로 편집할 필요가 있을 수 있습니다. 사고를 방지하기 위해 내보낼 때 TOPIC_ID로 수동 덮어쓰기를 했습니다)

주간 모더레이션 보고서
파일: weekly-moderation-report.json (21.4 KB)

  • 다음을 나열하는 테이블을 포함합니다:
    • 모더레이션 요약 (다양한 모더레이션 액션의 수)
    • 다른 사용자별 처리된 플래그 수
    • 다른 사용자별 보고된 플래그 수
    • 플래그된 게시물 및 관련 메타데이터 목록
    • 발부된 경고
    • 추가된 사용자 노트

주간 사이트 설정 보고서
파일: weekly-site-settings-report.json (3.3 KB)

  • 변경된 사이트 설정을 나열하는 테이블을 포함합니다
    • 설정 이름
    • 변경한 사람 및 시점
    • 이전 값, 새 값

주간 신뢰 수준 보고서
파일: weekly-trust-level-report.json (9.8 KB)

  • 다음을 나열하는 테이블을 포함합니다:
    • 요약 (지난 주 동안 각 신뢰 수준으로 제안된 사용자 수)
    • 신뢰 수준 2 또는 3을 얻은 사용자 목록
8개의 좋아요

현재 우리는 Discourse 커뮤니티에서 워크플로를 상당히 광범위하게 활용하고 있으며, 온보딩 및 이벤트 관리에서 정말 유용한 부분이 되고 있습니다.

우리 커뮤니티에는 9,000명 이상의 등록 사용자와 다양한 온라인 및 지역 기반 동료 지원 그룹이 있어 자동화가 큰 도움이 되고 있습니다.

현재我们正在 사용하는 워크플로 중 일부는 다음과 같습니다:

:waving_hand: 맞춤형 온보딩

새로운 사용자는 가입 후 자동화된 개인 메시지를 받습니다.

메시지 내용은 가입 시 선택한 관심사(예: 동료 지원 그룹, 이벤트, 가상 카페, 바디 더블링, 서면 교류 등)에 따라 달라집니다.

몇 일 후에는 추가 정보와 시작하는 법에 대한 도움이 담긴 두 번째 체크인 메시지가 발송됩니다.

:date: 이벤트 알림

약 24시간 후에 시작하는 이벤트를 15분마다 확인하는 예약된 워크플로를 사용합니다.

참석 또는 관심 있음을 선택한 사용자는 이벤트 제목, 날짜, 시간 및 이벤트로 돌아가는 링크가 포함된 개인 알림을 받습니다.

일부 그룹은 자체 알림 워크플로를 가지고 있으므로, 일반적인 워크플로에서는 중복 알림을 방지하기 위해 해당 사용자를 제외합니다.

:laptop: 상황에 맞는 alfaview 사용 설명

온라인 동료 지원 그룹 중 많은 수가 alfaview를 통해 모이지만, 다른 이벤트는 Zoom을 통해 또는 오프라인으로 진행됩니다.

따라서 이벤트 게시글에 alfaview 링크가 있는지 확인합니다.

alfaview 링크가 있는 경우, 24시간 알림에 대기실에 들어간 후 올바른 회의실을 선택하는 방법을 단계별로 설명하는 확장 가능한 가이드(스크린샷 포함)가 자동으로 포함됩니다.

alfaview 링크가 없는 경우, 이러한 설명 없이 일반적인 알림이 발송됩니다.

이를 통해 ‘온라인’ 및 ‘오프라인’ 그룹 목록을 별도로 관리할 필요가 없습니다.

:door: 화상 회의 온보딩

사용자가 처음으로 화상 회의실에 접근하기 전의 짧은 온보딩 단계로 폼 워크플로도 사용합니다.

사용자는 alfaview 방 구조가 어떻게 작동하는지 설명하는 지시를 받습니다. 이를 읽은 후 다음에 다시 지시를 보고 싶은지 선택할 수 있습니다.

다시 보고 싶지 않다고 선택하면, 워크플로가 사용자를 마커 그룹에 추가합니다. 이후 우리 테마 구성 요소는 해당 그룹 소속을 확인하여 온보딩 폼 대신 직접 화상 회의 링크를 표시합니다.

:bell: 그룹별 알림

특정 그룹의 멤버에게 새로운 이벤트와 예정된 모임에 대해 알림을 보내기 위해 워크플로를 사용합니다.

이는 포럼을 정기적으로 방문하지 않는 멤버들에게도 알림을 전달하고 싶은 동료 지원 그룹에서 특히 유용합니다.


워크플로에 대해 특히 좋아하는 점은 폼, SQL 쿼리, 그룹, 예약된 확인 및 개인 메시지를 결합할 수 있다는 것입니다.

미래에 보고 싶은 기능도 몇 가지 있습니다. 예를 들어 더 나은 캘린더 연동 기능이 있으면 좋겠습니다. 이상적으로는 사용자가 이벤트에 대해 참석을 선택할 때, .ics 캘린더 파일이 첨부된 이메일을 자동으로 보내주면 좋겠습니다.

8개의 좋아요

정말 흥미로운 사용 사례입니다. @j.jaffeux / @martin / @lindsey 님, 꼭 한번 생각해볼 만한 주제네요.

이 기능이 워크플로우를 통해 구현해야 하는지, 아니면 디스코urs 이벤트의 내장 기능이 되어야 하는지 궁금합니다.

4개의 좋아요

이렇게 멋진 피드백과 경험 공유를 해주셔서 감사합니다. 워크플로우를 어떻게 활용하고 계신지 읽는 것이 정말 흥미롭고, 여러분의 커뮤니티에서 실제 문제를 해결하고 있다는 점이 인상적입니다. :heart:

이벤트 관련 기능은 당연히 기본 기능이 되어야 하지만, 이번 주에 워크플로우를 통해 구현할 수 있을 것 같습니다. 바로 이 문제를 해결하기 위한 기능이 곧 나올 예정입니다.

6개의 좋아요

Discourse 업데이트 알림기

이 워크플로우는 포럼의 Discourse 버전이 업데이트될 때마다 전용 주제에 게시물을 작성합니다.

저의 포럼의 장기 회원들은 UX 변경에 대해 상당히 반대하는 경향이 있습니다. 그들은 이러한 변경 사항에 대해 포럼 관리 측의 투명성 부족으로 인해 때때로 불만을 표출합니다. 또한 그들은 기술적 성향이 매우 강하여 포럼 인프라에 대한 자연스러운 관심을 가지고 있습니다.

이러한 변경 사항의 원인 중 하나는 포럼의 Discourse 버전 업데이트입니다. 훌륭한 Discourse 호스팅 플랜 중 하나를 사용하는 포럼의 관리자는 이러한 업데이트가 호스팅 서비스의 일부로 제공되기 때문에 업데이트에 대한 통찰력을 갖지 못할 수 있습니다. 놀라운 Discourse 팀이 우리를 위해 업데이트를 처리해 주는 것은 물론 매우 가치 있지만, 업데이트를 통해 도입된 변경 사항에 대해 커뮤니티에 효과적으로 전달하는 것이 포럼 관리자로서는 도전적입니다.

이 워크플로우는 업데이트에 대해 포럼 사용자 기반에 더 많은 투명성을 제공하도록 설계되었습니다. 주요 목표는 사용자가 변경 사항을 인지했을 때 이미 일부 소통이 이루어졌음을 보장하는 것입니다.

워크플로우 소스는 다음과 같습니다:

discourse-update-notifier.json (18.7 KB)

설치

  1. 위 링크에서 워크플로우 소스를 다운로드합니다.
  2. 포럼 관리자 인터페이스의 “Workflows” 페이지로 이동합니다 (/admin/plugins/discourse-workflows/workflows).
  3. +New workflow” 버튼을 클릭합니다.
    새 워크플로우가 생성되고 열립니다.
  4. 워크플로우 캔버스 오른쪽 위 구석의 버튼을 클릭합니다.
    메뉴가 열립니다.
  5. 메뉴에서 "Import"를 선택합니다.
    Open” 대화상자가 열립니다.
  6. 대화상자에서 discourse-update-notifier.json 파일을 선택합니다.
  7. 대화상자의 “Open” 버튼을 클릭합니다.
    워크플로우 내용이 추가됩니다.
  8. 이제 워크플로우 캔버스에서 볼 수 있는 "sticky note"에 제공된 추가 지침을 따르십시오.

데모

워크플로우가 생성하는 게시물 유형의 예시를 여기서 볼 수 있습니다:

7개의 좋아요