요약 재생성은 어떻게 작동하나요?

요약 다시 생성하기 규칙에 대해 설명해 주실 수 있을까요? 직원이 1시간 후에 요약을 다시 생성할 수 있다는 논의가 있었지만, 제가 확인한 내용과는 다릅니다. (제가 정확히 무엇을 보고 있는지 모르겠습니다. 일관성이 없어 보입니다.) 새 게시물이 등록되면 다시 생성 옵션이 제공되어야 하나요? 그리고 모든 사용자에게 제공되나요, 아니면 직원에게만 제공되나요?

실험을 해본 결과, 다음과 같은 점을 확인했습니다:

  • 게시글이 100개 미만인 주제의 경우, 스태프에게만 재생성 버튼이 즉시 활성화됩니다.
  • 게시글이 100개 이상인 주제의 경우, 1시간을 기다려도 재생성 버튼이 활성화되지 않습니다.

재생성 버튼이 활성화된다고 하더라도, 스태프가 계속 버튼을 누르는 것은 현실적인 워크플로가 아니므로, 일단 https://forum.example.com/discourse-ai/summarization/t/12345 를 사용하여 새 게시글을 감지하면 요약을 재생성하는 웹훅을 구현할 계획입니다. 간단한 계산에 따르면, 이 방식은 우리 포럼에서 연간 약 500달러의 비용이 들 것으로 보입니다. Discourse가 예상치 못한 큰 비용을 방지하려는 의도를 이해하고 있습니다.

안녕하세요, @markschmucker,

현재 DiscourseAI에서 토픽 요약(Topic summaries)을 위한 백필(backfill) 전략을 작업하고 있습니다. 다음 주에 출시할 예정이며, 반영되면 이곳에서 업데이트해 드리겠습니다.

현재 해당 기능이 추가되었습니다 @markschmucker. ai summary backfill maximum topics per hour 사이트 설정을 통해 조정할 수 있습니다.

해당 값을 12로 설정했고, Anthropic 대시보드에서는 예상대로 5분마다 이벤트가 표시되고 있습니다. 하지만 대시보드에서 페이로드를 확인할 수 없습니다. Discourse가 재생성하는 요약 내용을 어떻게 확인할 수 있을까요?

모든 데이터는 ai_api_audit_logs 테이블에 저장됩니다. Data Explorer를 사용 중이라면 다음 쿼리를 사용할 수 있습니다:

SELECT
  *
FROM
  ai_api_audit_logs
ORDER BY
  id DESC
LIMIT
  100

이 기능을 직접 사용해 본 결과, 백필링(Backfilling)이 최신 주제 중 일부에 대한 요약문을 생성하는 것으로 보입니다. (대략 100개 정도의 주제, 또는 지난 몇 주 동안 업데이트된 주제인 것 같습니다.)

백필링 사이클 중 또는 이후에 요약문이 있는 주제에 새 게시글이 등록되면, 해당 요약문이 자동으로 업데이트되지 않습니다. (게시글이 100개 미만인 경우, 스태프가 수동으로 클릭할 수 있는 “재생성” 버튼이 있습니다.)

새 게시글이 있는 주제는 언제 업데이트되어야 합니까?

최소 50개 이하의 답변을 가진 일반 토픽의 경우, 답변이 게시된 후 최대 5분 이내에 업데이트되어야 합니다.

커뮤니티가 메가 토픽(mega-topics)에 더 초점을 맞추고 있나요?

cc @Roman

이제 SummariesBackfill 작업에 실패가 있었다는 것을 알게 되었습니다. Anthropic의 일일 요청 제한에 도달했기 때문입니다. 아마도 최신 주제 100개 정도에서 멈춘 것처럼 보였고, 업데이트된 주제에 새로운 요약이 생성되지 않은 이유도 이 때문일 것입니다.

만약 요청 제한에 도달하지 않았다면, SummariesBackfill은 우리의 주제 60,000개 모두를 요약할까요? 수년간 비활성 상태였던 주제들도 포함하여?

대부분의 주제가 100개 이상의 답변을 가지고 있습니다. 1,000개 이상의 답변을 가진 주제는 8개 있습니다.

네, 5분마다 배치 작업을 시작하며, 가장 최근 활동이 있는 항목을 우선 처리하고 이미 최신 상태의 요약을 가진 항목은 건너뜁니다.

시간당 최대 제한을 시간당 새로운 활동이 있는 토픽 수보다 높게 설정하면, 평균적으로 결국 모든 토픽이 백필됩니다.

기능 요청: ai summary backfill maximum age와 같은 옵션을 추가해 주시면 좋겠습니다. 지난 6개월 동안 활동이 없는 오래된 주제들을 요약하는 데 상당한 비용이 발생하기 때문입니다. 전체 60,000개 주제 중 대부분은 우리가 관심 없는 주제인데, 이를 모두 요약하는 데 약 3,000달러의 비용이 들 것으로 추정됩니다.

cc @Roman

여기서 확인해 드릴게요. 하이쿠 3.5를 사용 중이신가요? 좋은 요약 결과를 만들어낼 수 있어야 합니다.

이유 없이 sonnet 3.5를 사용 중입니다. Haiku 3.5를 사용하면 비용이 크게 절감될 것입니다. 다만 기능 요청은 여전히 고려해볼 가치가 있다고 생각합니다.

네, 물론이죠.

자동화에서 상당히 복잡한 백필링(backfilling) 알고리즘을 만들 수 있을 것 같아요. 나이 외에 조정하고 싶은 설정이 많기 때문이죠.

  • 특정 카테고리만
  • 조회수 X회 이상인 항목
  • 좋아요 N개 이상인 항목
  • 채택된 답변이 있는 항목
  • X일 이내의 항목

이걸 위해 사이트 설정을 10개나 추가하면 사용자가 압도당할 거예요.

마크의 의견에 동의합니다. 이 기능을 포럼에 도입한다면, 새로운 활동이 없는 오래된 게시글이 다시 요약되는 것은 원치 않습니다. 현재 AI 도구의 전체 비용 대비 요약은 그중 아주 작은 부분일 뿐인데, AI 비용이 너무 비싸기 때문입니다.

현재 ai summary backfill topic max age days가 있으며, 기본값은 30일입니다.

새로운 활동이 없는 한 오래된 토픽은 "다시 요약(resummarized)"되지 않습니다.

rails c에서 AiSummaries.destroy_all을 실행해 모든 요약을 삭제한 후, 다른 LLM을 사용하여 ai summary backfill topic max age days = 60으로 새로운 실행을 시작했습니다. 처음에는 ai summary backfill maximum topics per hour 값을 너무 높게 설정해서 최신 토픽 중 일부가 레이트 리밋(rate limit)으로 인해 실패했습니다. 제 실수였지만, 60일 전까지 백필(backfill)이 완료되면 새로운 루프를 시작해 실패한 토픽들을 다시 백필할 것으로 기대했습니다. 하지만 그런 일은 일어나지 않았습니다. 60일 전까지 백필을 완료한 후 멈춰 버렸거든요.

잡(job)은 5분마다 성공적으로 실행되고 있지만, 소요 시간이 몇 밀리초에 불과하므로 백필할 것을 찾지 못하고 있는 것이 분명합니다.

ai_summaries와 ai_api_audit_logs 테이블을 Data Explorer로 확인하며 진행 상황(혹은 그 부재)을 모니터링하고 있습니다.

백필되지 않은 토픽에서 수동으로 Summarize 버튼을 클릭하면 새로운 요약이 생성되므로 AI 프로바이더 연결은 정상이고 해당 토픽들은 “요약 가능” 상태입니다.

/logs에는 에러가 없습니다.

아이디어가 있을까요?

문제를 찾았습니다. ai summary backfill topic max age days가 topic.created_at과 비교되고 있고, updated_at과 비교되지 않고 있습니다. updated_at으로 변경해야 한다고 생각합니다. 2년 전에 생성되었지만 매주 새로운 게시글이 달리는 매우 활발한 토픽이 많기 때문에, 최대 연령을 90일이나 심지어 1년으로 설정해도 해당 토픽들이 요약되지 않습니다.

변경해 주시면 좋겠습니다.

.where("topics.created_at > current_timestamp - INTERVAL '#{max_age_days.to_i} DAY'")

문서와 같이 수정이 많이 이루어지는 단일 게시물 토픽이 많습니다. 토픽이 업데이트될 때 이러한 요약도 함께 업데이트할 수 있을까요?

가능하다면 백필 작업의 간격을 5분에서 1분으로 변경하는 것을 제안합니다. 대부분의(?) AI 제공업체는 분당 속도 제한(rate limit)이 있으므로, 작업을 매 분마다 실행하면 분당 속도 제한을 초과하지 않으면서도 5배 더 많은 요약을 처리할 수 있습니다.