VC Report Studio 사례 대화가 보고서가 되는 과정

Report Studio: 대화, 예시, 규칙을 모아 DOCX 보고서 만들기

Report Studio는 사용자의 말 한마디를 바로 문서로 찍어내지 않는다. 먼저 보고서 종류, 예시 문서, 분량 규칙, 현재 작성 상태를 컨텍스트로 조립하고, 역할별 Agent가 나눠 처리한 뒤 DOCX로 렌더링한다.

Prompt Builder RAG Examples OutlineAgent FullDraftAgent DOCX Renderer
Report Studio 샘플 보고서 렌더링 이미지
실제 프로젝트의 샘플 보고서 이미지다. 문서 렌더링 결과가 최종 산출물이라는 점을 보여준다.

이 앱은 무엇을 자동화하나

사용자의 대화 요청을 보고서 구조, 본문, 표, 렌더링 결과로 바꾸는 작업을 자동화한다.

Frontend

문서 작업 조종석

채팅, 옵션 카드, 보고서 미리보기, TablePanel, Table Library를 보여준다. 사용자가 방향을 고르는 화면이다.

Backend

보고서 제작 라인

chat route, prompt builder, LLM runtime, table library, render worker가 단계별로 일한다.

DB

작업 상태 저장소

세션, 보고서 JSON, 예시 chunk pool, Table Library, LLM 호출 로그가 저장된다.

한 문장 요청이 문서 파일이 되는 순서

보고서 생성은 “AI 한 번 호출”이 아니라 여러 작업자가 이어받는 제작 라인에 가깝다.

1 Chat

사용자 요청과 현재 보고서 상태를 받는다. 예: “인물 프로필 보고서로 정리해줘.”

2 Prompt Builder

역할 규칙, RAG 예시, preset, budget, 현재 report를 한 컨텍스트로 조립한다.

3 Agents

OutlineAgent, FullDraftAgent, PatchAgent, TableAgent가 기획자·작가·편집자처럼 나눠 일한다.

4 Normalizer

LLM이 만든 JSON을 renderer가 먹을 수 있는 깨끗한 구조로 정리한다.

5 Renderer

정리된 구조를 DOCX, 미리보기 이미지, 다운로드 가능한 산출물로 바꾼다.

Report Studio에서 핵심 단어가 하는 일

실제 프롬프트 조립 순서

이 프로젝트에서 중요한 점은 “프롬프트를 길게 쓴다”가 아니라 “필요한 블록을 정해진 순서로 조립한다”는 것이다.

조립 순서

Prompt Builder가 만드는 컨텍스트

1. static invariant + role gate
   - 지금 Agent의 역할과 절대 규칙

2. RAG examples
   - preset과 slot이 맞는 예시 보고서 조각

3. preset_pack/{slug}.md
   - 보고서 종류의 의미와 schema

4. budgets/{slug}.yaml
   - 글자 수, 문단 수, 스타일 수치

5. current_outlines/current_report
   - 지금까지 만든 보고서 상태

6. final_instruction_*_v2.md
   - 마지막 출력 형식과 JSON 규칙
RAG hard gate

예시를 아무거나 붙이지 않는다

검색 질문:
"프로필 보고서 리드박스와 인적사항 표 구조"

후보 예시가 통과하려면:
- tag:common 이거나
- 현재 preset: profile 이거나
- 현재 family/tag가 맞거나
- 현재 slot이 맞아야 한다.

비유:
예시마다 출입증을 확인해서
다른 보고서 스타일이 섞이지 않게 한다.

채팅 호출과 결과값 예시

프론트는 백엔드에 요청서를 보내고, 백엔드는 AI 호출과 렌더링 준비 결과를 응답으로 돌려준다.

요청

사용자 메시지 처리 요청

{
  "session_id": "session_42",
  "target_preset": "profile",
  "agent": "full_draft",
  "message": "이 자료로 임원 프로필 보고서를 만들어줘",
  "current_report": {
    "outline_ready": true,
    "selected_option": "B"
  }
}
결과

AI 초안과 렌더링 준비

{
  "draft_json": {
    "title": "임원 프로필 보고서",
    "sections": ["리드박스", "경력", "핵심 평가"],
    "table_briefs": ["인적사항 표"]
  },
  "retrieved_examples": 6,
  "render_job_id": "job_771",
  "usage_log_id": "llm_call_903"
}

AI가 보고서를 쓸 때 보는 책상

Role Gate

너는 지금 기획자인가, 초안 작성자인가, 표 담당자인가를 정한다.

Retrieved Examples

현재 보고서 종류와 맞는 예시 조각을 넣는다. 복붙용이 아니라 스타일 학습용이다.

Preset Pack

프로필, ER 동향, 조사 보고서처럼 보고서 타입별 의미와 구조를 설명한다.

Current Report

지금까지 만든 outline, section, table brief를 다시 넣어 대화가 이어지게 한다.

Final Instruction

마지막에 JSON schema와 금지 사항을 잠근다. 출력 형식이 흔들리지 않게 하는 안전벨트다.

보고서 시스템의 장부들

장부역할초보자 비유
chat_sessions작업 대화와 현재 상태작업 폴더
drafts / saved_reports보고서 JSON과 저장본문서 원고
example_chunk_poolsRAG용 예시 조각참고문헌 서랍
table_library사용자 표 템플릿표 양식 보관함
chat_llm_calls프롬프트와 응답 원문 로그작업 녹화본

수강생에게 이렇게 설명하면 쉽다

1. AI는 작가, Renderer는 인쇄소

AI는 원고를 만들고, renderer는 그 원고를 실제 DOCX 페이지로 찍어낸다. 둘을 섞어 생각하면 디버깅이 어렵다.

2. RAG는 예시를 펼쳐주는 일

좋은 예시를 보여주면 AI가 스타일을 따라가기 쉽다. 단, 예시는 출입증 검사를 통과해야 한다.

3. 프롬프트는 조립품이다

큰 프롬프트 하나보다 역할, 예시, 예산, 현재 상태, 출력 규칙을 나눠 붙이는 구조가 운영하기 쉽다.

복사했습니다