우선순위/심각도:
중간
플랫폼:
Discourse b66fca70d0e3d12ef930398289fac5269cd240c7
설명:
공식 “Automation” 플러그인에는 “AI를 사용하여 게시물 분류” 스크립트가 있습니다. 이 스크립트는 게시물의 내용을 LLM에 제공하고, 결과에 따라 구성 가능한 분류 작업을 수행합니다.
Discourse 호스팅 플랜에서 제공하는 크레딧 할당량 내(LLM 사용 시) 또는 제3자 LLM 제공업체를 사용할 때 예산 내로 LLM 사용을 유지하려면(CDCK 호스팅 LLM 사용 시) 각 쿼리에 필요한 토큰 수를 관리하는 것이 중요합니다. “AI를 사용하여 게시물 분류” 스크립트는 요청에 포함될 게시물 내용의 양에 한도를 설정할 수 있는 “최대 게시물 토큰” 설정을 제공합니다.
게시물에 이미지가 첨부된 경우, 자동화의 “최대 게시물 토큰” 설정을 통해 설정한 게시물 토큰 한도를 초과하더라도 방대한 양의 이미지 데이터가 항상 요청에 포함됩니다.
자동화에 사용되는 AI 페르소나의 설정에서 “비전 활성화” 옵션이 비활성화되어 있더라도 이러한 문제가 발생합니다.
이로 인해 통제 불가능한 토큰 소모가 발생합니다.
많은 사용 사례에서는 게시물의 텍스트 데이터만 관심 대상이므로, 토큰 사용량을 급증시키는 이미지 데이터는 가치가 없습니다.
재현 단계:
- 적합한 사용자 지정 AI 페르소나가 아직 없다면 하나를 생성합니다.
- 페르소나 설정에서 “비전 활성화” 옵션을 비활성화합니다.
- 내장 “Automation” 플러그인이 아직 비활성화되어 있다면 활성화합니다.
- 플러그인의 “자동화” 페이지(
/admin/plugins/automation/automation)로 이동합니다. - “+ 자동화 추가” 버튼을 클릭합니다.
“스크립트 선택” 페이지가 열립니다. - “AI를 사용하여 게시물 분류” 스크립트를 선택합니다.
자동화 구성 페이지가 열립니다. - 간단한 테스트를 위해 자동화를 원하는 대로 구성합니다. 자동화가 작업을 수행할 필요는 없으며, LLM 쿼리를 생성하기만 하면 됩니다.
- 자동화 구성의 스크립트 옵션 > 페르소나 메뉴에서 1단계에서 생성한 AI 페르소나를 선택합니다.
- 자동화 구성의 스크립트 옵션 > 최대 게시물 토큰 설정을
20으로 설정합니다. - 자동화 구성 페이지 하단의 “자동화 업데이트” 버튼을 클릭합니다.
“자동화” 페이지로 돌아갑니다. - 새로 생성된 자동화의 “자동화 활성화” 스위치를 “켜기” 위치로 설정합니다.
- 자동화를 트리거할 게시물 또는 DM을 작성합니다. 게시물에 이미지를 추가합니다.
- 게시물 또는 메시지를 게시합니다.
- “Data Explorer” 플러그인의 관리 페이지(
/admin/plugins/explorer)로 이동합니다. - 페이지의 “+” 버튼을 클릭합니다.
“쿼리 이름…” 필드가 나타납니다. - “쿼리 이름…” 필드에
Get AI Audit Logs를 입력합니다. - “+ 새로 만들기” 버튼을 클릭합니다.
새로운 Data Explorer 쿼리가 생성됩니다. - “편집” 버튼을 클릭합니다.
쿼리 코드 편집 필드가 열립니다. - 플레이스홀더 쿼리 코드 내용을 다음으로 대체합니다:
SELECT request_tokens, raw_request_payload FROM ai_api_audit_logs WHERE feature_name = 'llm_triage' - “실행” 버튼을 클릭합니다.
자동화가 게시글에 의해 트리거된 후 생성된 요청에 대한 데이터 탐색기 쿼리 결과에 표시된 request_tokens필드 값이 AI 페르소나 구성의 “시스템 프롬프트” 및 자동화 구성에 의해 부과된 최대 20 토큰의 게시글 텍스트 컨텍스트 제한에서 사용될 것으로 예상되는 수치를 크게 초과합니다. - 데이터 탐색기 쿼리 결과에서
raw_request_payload필드 값 오른쪽의 ●●● 버튼을 클릭합니다.
필드의 전체 값을 표시하는 대화상자가 열립니다.
게시글에 첨부된 이미지의 데이터가 요청 데이터의 messages[*].image_url 키를 통해 포함되었습니다.
예시:
{
"model": "Qwen/Qwen3-VL-30B-A3B-Instruct",
"max_tokens": 16384,
"messages": [
{
"role": "system",
"content": "문자열이 주어지면, 해당 문자열의 언어(로케일)를 감지하는 것이 당신의 작업입니다"