이해관계자를 위한 리포트 생성하기

이해관계자를 위한 리포트 생성하기

리더십이 신경 쓰는 것을 계획하고, 그것을 커스텀 리포트 템플릿으로 만들고, 전달을 자동화해서 큐레이션된 리포트가 이해관계자에게 스스로 도달하게 해요.

출처: 문서

본문

개요

이 가이드의 목표는 단순해요: 큐레이션된 리포트를 일정에 맞춰 이해관계자에게 자동으로 전달하는 것 — 리더십 동기화 전날 밤에 누가 수동으로 숫자를 뽑지 않도록 말이죠.

Confident AI에서는 Executive Report로 그걸 해요: 품질·비용·지연·평가 건강성을 담은 프로젝트 요약을, 여러분이 제어하는 템플릿에서 AI가 작성하고, 준비되면 이메일로 보내요. 잘 작동하는 워크플로는 세 단계예요:

1. 계획

리더십이 실제로 봐야 하는 것을 정하고, 각 질문을 섹션으로 바꿔요.

2. 구축

정확히 그 섹션들로 커스텀 리포트 템플릿을 큐레이션해요 — 더도 말고 덜도 말고.

3. 전달

예약하고 리포트 이메일을 켜서 이해관계자에게 스스로 도달하게 해요.

리포트는 베타 상태예요. 셀프호스팅이라면 배포가 최근 플랫폼 이미지이고 Evals & Observability 엔타이틀먼트가 있어야 해요 — 그래야 리포트가 나타나요.

리포트는 프로젝트의 기존 데이터 — 트레이스, 테스트 런, 메트릭, 어노테이션 — 에서 직접 읽으므로, 많이 로그할수록 더 풍부해져요.

리포트 계획하기

빌더를 건드리기 전에 이해관계자가 실제로 알아야 할 것을 정해요. 훌륭한 리더십 리포트는 몇 가지 상설 질문에 답해요 — "우리가 가진 모든 메트릭"이 아니에요.

모든 리포트는 작은 섹션 타입 집합에서 만들어져요 — 빌더에서 조립할 프리미티브죠. 먼저 익숙해지세요:

Stat cards

Stat cards는 헤드라인 메트릭 한 줄이에요. 각 카드는 라벨, 값, 선택적 캡션을 담아요. 리더십이 먼저 훑어보는 숫자 — 통과율, 볼륨, 비용 — 에 가장 잘 맞아요.

Stat cards 섹션

Graph

Graph는 선, 면적, 막대, 또는 스택 막대로 그려지는 차트예요. 통과율이나 일별 지연 같은 시간에 따른 추세를 보여줄 때 가장 좋아요.

Graph 섹션

Table

Table은 행과 열의 조밀한 그리드예요. 최고 실패나 메트릭별 롤업 같은 순위와 내역에 가장 잘 맞아요.

Table 섹션

Content

Content는 서술 텍스트 블록이에요. 서면 요약, 맥락, 권고에 가장 잘 맞아요.

Content 섹션

Admonition

Admonition은 Info, Success, Warning, Danger 네 가지 심각도가 있는 색칠된 콜아웃 박스예요. 주의 사항과 놓칠 수 없는 하이라이트에 가장 잘 맞아요.

Admonition 섹션

이 각각은 리포트 구축에서 구성해요 — 어떤 것은 손으로 쓰고, 어떤 것은 데이터에서 AI가 생성해요.

빌딩 블록을 염두에 두고, Confident AI가 실제로 측정할 수 있는 것을 중심으로 계획하세요. 리포트는 네 종류의 프로젝트 데이터를 활용해요:

  • Observability는 에이전트가 프로덕션에서 어떻게 행동하는지 트레이스, 스팬, 스레드, 엔드 유저에 걸쳐 포착해요.
  • Evaluation은 에이전트가 벤치마크에 얼마나 잘 맞는지 데이터셋부터 테스트 런까지 측정해요.
  • Diagnostics는 실패 트레이스와 실패 테스트 케이스에서 실제로 무엇이 잘못되는지 표면화해요.
  • Correlation은 온라인 메트릭 점수와 어노테이션을 통해 품질 신호를 인간 판단에 연결해요.

리더십이 묻는 것에 매핑되는 영역을 고르고, 각 질문을 섹션으로 바꿔요. 각각에 대한 구체적인 리포트 아이디어와 어울리는 섹션 타입이에요:

Observability

  • "트래픽을 얼마나 서빙했고, 얼마나 안정적·빠르고·비쌌나?" → stat cards 한 줄(볼륨, 오류율, p95 지연, 비용)
  • "그게 올바른 방향으로 추세인가?" → 일별 볼륨·지연·비용 graph
  • "에이전트의 어느 부분이 느리거나 비싼가?" → 스팬 타입(LLM, tool, retriever)별 table
  • "사용자를 얼마나 서빙했고, 다시 오나?" → 고유 엔드 유저와 리텐션 stat cards
  • "대화가 해결되고 있는가, 질질 끌리나?" → 스레드 볼륨과 스레드당 턴 stat cards 또는 table

Evaluation

  • "평가가 릴리스마다 개선되나?" → 시간에 따른 테스트 런 통과율 graph
  • "최신 런이 지난 몇 개와 비교해 어떤가?" → 최근 런을 비교한 table
  • "가장 최근 런이 메트릭별로 얼마나 잘했나?" → 최신 런의 메트릭당 통과율 table
  • "어느 메트릭이 점수를 끌어내리나?" → 최저 점수 메트릭 table
  • "무엇을 테스트하고 있고 벤치마크는 얼마나 큰가?" → 데이터셋 커버리지 content 요약 + golden 수 stat cards

Diagnostics

  • "이번 주 프로덕션에서 뭐가 깨졌나?" → 최고 실패 트레이스와 실패 모드 table
  • "얼마나 심각한가?" → 실패 수와 실패율 stat cards
  • "무엇이 가장 자주 실패하고, 왜?" → 사유별 실패 그룹 table
  • "나아지고 있나 나빠지고 있나?" → 시간에 따른 실패율 graph
  • "어느 벤치마크 케이스를 아직 실패하나?" → 실패 테스트 케이스 table

Correlation

  • "테스트 셋만이 아니라 라이브 트래픽에서 품질이 어떻게 추세인가?" → 온라인 메트릭 점수 graph
  • "지금 프로덕션의 품질 점수는?" → 평균 메트릭 점수 stat cards
  • "검토자가 무엇을 지적하나?" → 어노테이션 라벨과 빈도 table
  • "메트릭이 인간 검토자와 일치하나?" → 메트릭별 메트릭-대-인간 정렬 table
  • "검토자가 실제로 얼마나 검토하나?" → 어노테이션 볼륨과 커버리지 stat cards

예를 들어 단일 비용 리포트가 여러 섹션 타입을 엮을 수 있어요. 아래 것은 한 프롬프트에서 나왔어요: "최근 평균 비용 사용에 대한 인사이트를 보여줘. 특히 총 트레이스·모델 비용과 가장 많이 쓰는 사용자(들)을 알고 싶어." Confident AI가 세 섹션으로 답했어요 — stat cards 한 줄(모델 비용, 총 트레이스 비용, 트레이스 이벤트, 고유 엔드 유저, 트레이스당 평균 비용), 가장 활발한 날과 최고 비용 모델 table, 그리고 숫자를 서술하는 content 개요요.

단일 프롬프트에서 생성된 비용 리포트 — stat cards, 요약 표, AI 작성 개요

빡빡하게 유지하세요 — 실제 질문에 답하는 다섯~여섯 개 섹션이 아무도 안 읽는 스무 개보다 나아요. 그리고 데이터가 커버하지 않는 것을 밝히는 caveat admonition으로 마무리해서, 리더십이 과잉 해석하지 않게 해요.

섹션이 이 데이터에서 답할 수 없으면 빼거나 다시 표현해요. 계획이 있으면 구축할 준비가 된 거예요.

리포트 구축하기

생성된 Executive Report는 프로젝트 사이드바에서 여는 Reports 페이지에서 찾을 수 있어요. 하지만 거기서 직접 만들지는 않아요 — 모든 리포트는 Project Settings → Report Templates에 사는 재사용 가능하고 예약 가능한 정의인 Report Template에서 만들어져요.

템플릿을 레시피로, 리포트를 요리로 생각해 보세요. 예약된 실행마다 프로젝트의 최신 데이터로 신선한 리포트를 요리해요. 모든 템플릿은 Reports 페이지에 자기 탭이 있어서, Weekly Leadership Update 템플릿이 넘겨볼 수 있는 실행 이력을 쌓아요.

graph LR
    T["Report Template<br/>(Project Settings)"]
    T -->|"Generate the entire report"| AI["AI picks the sections"]
    T -->|"Build a custom template"| You["You define the sections"]
    AI --> Run["Scheduled or on-demand run"]
    You --> Run
    Run --> Rep["New report"]
    Rep --> Page["Reports page tab<br/>(running history)"]

    style T fill:#eef2ff,stroke:#6366f1,color:#1e1b4b
    style Rep fill:#eef2ff,stroke:#6366f1,color:#1e1b4b
    style Page fill:#eef2ff,stroke:#6366f1,color:#1e1b4b

두 경로 모두 같은 에디터에 있어요 — Use custom template 토글이 둘 사이를 전환해요.

템플릿 생성·편집에는 project:manage 권한이 필요해요. 그것이 없는 멤버도 생성된 리포트는 읽을 수 있어요.

템플릿을 만들려면 Project Settings → Report Templates → New Template으로 가서 Name(예: Weekly Leadership Update)과 시작 Description을 주면 템플릿 에디터로 갈 거예요. 이제 경로를 골라요:

  • Generate the entire report — 설명을 쓰면 Confident AI가 섹션을 정하고 리포트 전체를 써요. 설정은 가장 빠르지만, 구조가 실행마다 달라질 수 있어요.
  • Build a custom template — 리포트는 여전히 AI가 생성하지만, 모델이 레이아웃을 정하게 두는 대신 정확한 섹션과 순서를 정의해요. Confident AI는 그다음 매 실행 라이브 데이터로 각각을 채워요. 앞선 작업은 더 많지만, 매번 같은 일관된 구조를 얻어요.

경험칙: 이해관계자에게 가는 반복 리포트라면 언제나 커스텀 템플릿을 써요 — 일관성이 신뢰를 만드니까요. 빠르고 탐색적이거나 일회성 리포트에는 Confident AI가 전체 리포트를 생성하게 두세요.

전체 리포트 생성하기

Use custom template을 끄고 Description — 리포트가 분석해야 할 것을 설명하는 평이한 영어 프롬프트 — 을 채우기만 하면 돼요:

"What are the trends in error rates for all types of evaluations in the past month?"

'Use custom template'이 꺼진 템플릿 에디터 — 이름과 설명 프롬프트만

그게 전부예요. Confident AI가 어떤 데이터를 조회할지 계획하고, 어울리는 섹션을 고르고, 리포트 전체 — 개요, 핵심 발견, stat cards, 선택적 그래프와 표, 권고, caveat — 를 써 줘요. 섹션을 고르지 않고 질문을 묘사하면 모델이 나머지를 처리해요.

이것이 가장 빠른 경로이자 훌륭한 기본값이에요. 데이터 타입, 메트릭, 시간 창을 이름 짓는 등 설명이 좋을수록 리포트가 더 날카로워요.

커스텀 템플릿 구축하기

이해관계자가 매 실행 특정하고 일관된 구조를 필요로 할 때(반복 리더십 리포트의 보통 경우) Use custom template을 켜요. 섹션 빌더가 열리고, 앞서 계획한 정확한 섹션들을 조립해요.

여기서 이해할 핵심: 커스텀 템플릿은 AI를 끄지 않아요 — 구조를 고정할 뿐이에요. 어떤 섹션이 어떤 순서로 나타날지 결정하고, Confident AI는 여전히 실행 시 라이브 프로젝트 데이터로 각각의 내용을 생성해요(의도적으로 하드코딩한 섹션 제외). 빈 페이지 대신 모델에 개요를 주는 것으로 생각해 보세요: 골격은 여러분이, 본문은 모델이 써요.

섹션 추가하고 구성하기

Add를 클릭해 섹션을 만든 뒤, Heading("섹션 위에 표시")과 Type을 설정해요. 아래 섹션 타입을 보세요.

섹션 빌더 — 각 섹션은 Heading, Type, 그리고 Prompt 또는 하드코딩된 내용을 가져요

순서 바꾸고 미리 보기

이해관계자가 읽을 순서로 섹션을 드래그해요. Preview 탭을 열어 플레이스홀더 데이터로 렌더링된 레이아웃을 보세요.

저장

저장하지 않은 변경이 있으면 아래에 Save / Discard 컨트롤러가 나타나요 — Save를 클릭해 확정해요.

✅ 완료. 이제 계획한 리포트를 정확히 만드는 템플릿이 생겼어요.

리포트 섹션 타입

다섯 가지 섹션 타입은 이미 봤어요. 빌더에서 유일하게 새로운 결정은 각각을 어떻게 채울지 — 손으로 vs AI로 — 예요. Content와 Admonition은 둘 다 지원하고, Stat cards, Table, Graph는 AI 전용이에요. 생성 시점에 데이터에서 살아있는 숫자를 뽑아오니까요. 각각을 채우는 방법이에요:

  • Content — Content 박스에 정확한 산문을 입력하거나, Generate with AI를 켜고 Prompt를 추가해서 매 실행 데이터로 모델이 초안을 쓰게 해요(예: "Summarize agent health in two short paragraphs and list three recommendations.").
  • Admonition — Severity(Info, Success, Warning, Danger)를 고르고 Content를 써서 손으로 작성하거나, Generate with AI를 켜고 Prompt가 주도하게 해요 — 모델이 1~3 문장 콜아웃을 쓰고 그에 맞춰 심각도를 설정해요(성공은 Success, 리스크는 Warning/Danger).
  • Stat cards — 항상 AI 생성이므로, Prompt가 표면화할 지표를 이름지어요: "Pass rate, total test runs, and average cost per run for the last 7 days, each vs. the prior week."
  • Table — 항상 AI 생성이므로, Prompt가 열과 행을 묘사해요: "The five metrics with the highest failure rates, with pass rate and test-run count."
  • Graph — 항상 AI 생성이므로, Prompt가 무엇을 그릴지 말해요: "Pass rate by day over the last 7 days." 모델이 그다음 차트 스타일을 고르고 라이브 쿼리를 실행하거나 데이터에서 뽑은 정확한 숫자를 그려요.

정적과 AI를 섞으세요. 고정 Content 인트로와 데이터 주의에 대한 Danger admonition을 하드코딩해서 매 실행 동일하게 만든 뒤, AI가 Stat cards, Table, Graph를 신선한 숫자로 채우게 해요. 안에 라이브 데이터가 든 일관된 형태를 얻어요.

리포트 전달하기

큐레이션된 리포트는 실제로 사람에게 닿을 때만 유용해요. 자동화에는 두 부분이 있어요: 언제 생성되는지와 누구에게 이메일을 보내는지.

생성 예약하기

모든 템플릿은 일별 일정으로 돌아요. Report Templates 목록에서:

  • Enable / disable — 각 행의 스위치가 템플릿이 일정에 맞춰 생성하는지 제어해요.
  • Generate now — ⋮ 메뉴가 요청 시 실행해요. 다음 날을 기다리지 않고 템플릿을 테스트하려면 써요.

리포트 이메일 켜기

이제 배포를 연결해서 신선한 리포트가 생성되는 순간 올바른 받은편지함에 떨어지게 해요:

Email 통합 열기

Project Settings → Integrations(Miscellaneous 아래)로 가서 Notifications 아래 Email 카드를 클릭해요.

리포트 수신자 추가하기

Notify on Report Generation 섹션을 찾아요 — "Confident AI will email these recipients whenever a report is generated." 사용자 피커를 열고 리포트를 받아야 할 이해관계자를 선택한 뒤 Save를 클릭해요.

이메일 트리거는 독립적이므로, 수신자가 테스트 런이나 알림 이메일 없이 리포트만 받을 수 있어요.

Email 통합 — 'Notify on Report Generation' 아래 이해관계자 추가하기

리포트 생성이 끝나면 각 선택된 수신자는 "Your executive report is ready" 제목의 이메일을 받아요. 날짜 범위와 플랫폼의 리포트로 바로 가는 링크가 담겨 있죠.

수신자는 프로젝트 멤버여야 해요. 피커는 프로젝트의 사람만 나열하므로, 이해관계자를 먼저 프로젝트 멤버로 초대하세요. 플랫폼에 없는 사람(외부 임원, 이사회 멤버)이라면 아래 PDF export를 대신 전달 수단으로 쓰세요.

리포트 이메일은 이메일 전용이에요 — Slack, Discord, Teams, PagerDuty는 다른 알림에 연결했더라도 리포트 알림을 받지 않아요.

모범 사례

리포트가 스스로 생성되기 시작하면, 세부 몇 가지가 최대 효과를 내는 데 도움돼요 — 손으로 내보내기, 리포트를 쓰는 모델 고르기, 약한 섹션 다듬기, 그리고 보안 이해관계자를 위해 만들어진 별도 리포트 타입이요.

리포트 내보내기

이메일 외에도 앱 안에서 항상 리포트를 읽을 수 있어요. 프로젝트 사이드바에서 Reports를 열어요 — 템플릿당 한 탭, 최신순, 이력을 넘기는 Report N of M 화살표가 있어요.

Executive Reports 페이지 — 템플릿당 한 탭, 최신 리포트 먼저

각 리포트의 툴바에는 수동 공유용 동작 두 가지가 있어요:

  • Download as PDF — 차트와 표를 포함해 렌더링된 그대로 문서를 내보내요. 플랫폼에 없는 이해관계자를 위한 전달 수단이에요.
  • Expand — 전용 전체 화면, 인쇄 품질 뷰를 열어 내보내기 전에 교정할 수 있어요.

리포트 스타일링은 Confident AI의 문서 형식으로 고정돼 있어요 — 커스텀 브랜딩, 로고, 레이아웃이 없고 공개 공유 링크도 없어요. 배포는 리포트 이메일이나 내보낸 PDF가 전부예요.

생성 모델 선택하기

리포트는 프로젝트의 플랫폼 모델이 써요 — 분류, 요약, 리포트 생성 같은 Confident AI 자체 AI 기능을 구동하는 모델이죠. 이것은 LLM-as-a-judge 메트릭을 채점하는 평가 모델과 별개의 설정이라서, 하나를 바꿔도 다른 것에는 절대 영향을 주지 않아요.

Project Settings → Platform Model에서 설정하거나 바꿔요. 프로젝트별 것을 설정하지 않았다면 리포트는 조직의 기본 플랫폼 모델을 써요.

리포트 내용 최적화하기

리포트의 날카로움은 각 프롬프트가 뽑아올 데이터 타입, 메트릭, 시간 창을 얼마나 정확히 이름 짓느냐에 달려 있어요. 모호한 프롬프트는 모호한 섹션을 만들므로, 모델이 표면화하길 원하는 구체적인 것부터 시작하세요.

프롬프트가 프로젝트가 실제로 가진 데이터에 매핑될 수 없으면, 섹션은 숫자를 지어내는 대신 "irrelevant query" 로 돌아와요. 보통 그건 계획이 현실에서 벗어났다는 뜻이에요:

  • 섹션이 프로젝트에 데이터가 없는 기능을 묻는다(예: 레드티밍 없이 레드팀 점수).
  • 시간 창에 트래픽이 없다.
  • 프롬프트가 쿼리로 바꾸기엔 너무 추상적이다.

계획으로 돌아가서 — 섹션을 데이터 타입, 메트릭, 창을 이름 짓도록 다듬으면 — 다음 실행이 실제 리포트를 만들어요.

다음 단계

이제 리포트를 계획하고, 커스텀 템플릿으로 구축하고, 이해관계자에게 전달을 자동화할 수 있어요. 그 뒤의 데이터를 더 파보려면:

대시보드

같은 트레이스·스레드·메트릭·어노테이션 위에 필터, 내역, CSV/PNG/PDF 내보내기가 있는 라이브 드릴다운 대시보드를 만들어요.

커스텀 리포트

플래너와 요약기가 어떻게 동작하는지를 포함한 AI 작성 서술 리포트의 레퍼런스 페이지예요.

팀 멤버

이해관계자를 프로젝트에 초대해서 리포트 이메일을 받고 앱 안에서 리포트를 열게 해요.

평가 모델

LLM-as-a-judge 메트릭 채점 뒤의 모델과 자격 증명( gpt-5 검증 노트 포함)을 구성해요.

더 알아보기