Quarto and LLM

쿼토(Quarto)와 AI의 만남, 글쓰기의 새로운 지평을 열다!

이광춘

한국 R 사용자회

2024년 8월 27일

목차

  1. 디지털 글쓰기
  2. 쿼토 사례
  3. 생성형AI 사무노동
  4. 생성형AI 인터페이스
  5. 저작도구: 포지트론
  6. 쿼토 기본기
  7. 질의응답

도구(문서)의 인간
디지털 저작


데이터 과학 과거와 현재



과거


현재


글쓰기 진화

데이터 과학 → 디지털 글쓰기

연도 도구 개발자
1978 TeX Donald Knuth
1984 Literate Programming Donald Knuth
1988 Mathematica Notebooks Stephen Wolfram
2001 IPython Fernando Perez
2003 Emacs org-mode Carsten Dominik
2004 Markdown John Gruber
2005 Sage Notebook William Stein
2006 Pandoc John MacFarlane
2009 GitHub Flavored Markdown Tom Preston-Werner
2011 iPython Notebook Fernando Perez
2012 knitr Yihui Xie
2014 Project Jupyter Fernando Perez
2020 Quarto J.J. Allaire

디지털 글쓰기 - 쿼토




표 1: R 마크다운과 쿼토 비교
기능 R 마크다운 쿼토(Quarto)
파일형식 html_document / pdf_document / word_document html / pdf / docx
비머(Beamer) beamer_presentation beamer
파워포인트(PPT) powerpoint_presentation pptx
웹 슬라이드 xaringan / ioslides / revealjs revealjs
고급 레이아웃 tufte / distill Quarto Article Layout
상호 참조 html_document2 / pdf_document2 / word_document2 Quarto Crossrefs
웹사이트/블로그 blogdown / distill Quarto Websites / Quarto Blogs
bookdown Quarto Books
인터랙티브 문서 Shiny Documents Quarto Interactive Documents
페이지 HTML pagedown 출시 예정
학술 논문 rticles Quarto Journal Articles
대쉬보드 flexdashboard Quarto Dashboards
인터랙티브 자습서 learnr 계획 없음

쿼토 출판

쿼토 출판

챗GPT 데이터 과학 도서

📘 교보 POD 종이책: https://bit.ly/4cVDxxL

📗 교보 전자책: https://bit.ly/4dccQ8n

🌐 웹사이트: https://bit.ly/4909pOB

💻 소스코드: https://bit.ly/3wXugES (이광춘, 2024b)

📘 교보 POD 종이책: https://bit.ly/4a8v1JS

📗 교보 전자책: https://bit.ly/4auasHU

🌐 웹사이트: https://bit.ly/48V8u1T

💻 소스코드: https://bit.ly/48RqMB9 (이광춘, 2024c)

📘 교보 POD 종이책: https://bit.ly/3wElKuk

📗 교보 전자책: https://bit.ly/3IkWE6f

🌐 웹사이트: https://bit.ly/3P7PVjX

💻 소스코드: https://bit.ly/3InK46m (이광춘, 2024d)

📘 교보 POD 종이책: https://bit.ly/3OJmMeT

📗 교보 전자책: https://bit.ly/48fujZD

🌐 웹사이트: https://bit.ly/48gYn7d

💻 소스코드: https://bit.ly/3wrgeuP (이광춘, 2024a)

📘 교보 POD 종이책: https://bit.ly/434h5y9

📗 교보 전자책: https://bit.ly/KzUdOU

🌐 웹사이트: https://bit.ly/3I4FpWS

💻 소스코드: https://bit.ly/3wrgeuP (이광춘·신종화, 2023)

📰 뉴스기사: 챗GPT가 던진 새 가능성, 데이터 과학 분야 통해 미리 살펴보기

준비중

📘 교보 POD 종이책: 준비중

📗 교보 전자책: 준비중

🌐 웹사이트: https://r2bit.com/gpt-stat/

💻 소스코드: https://github.com/bit2r/gpt-stat/

글쓰기
오피스 전쟁

구글 검색의 종말(?)

오피스 전쟁

항목 MS 오피스 1 구글 오피스 2 리브레 오피스 3 한컴 오피스 4
문서 작성 및 편집 워드, 엑셀, 파워포인트 등의 데스크톱 및 웹 앱 제공 구글 문서, 스프레드시트, 프레젠테이션 등의 웹 앱 제공 라이터, 캘크, 임프레스 등의 데스크톱 앱 제공 한글, 한셀, 한쇼 등의 데스크톱 및 모바일 앱 제공
협업 및 공유 원드라이브를 통해 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정할 수 있으나 실시간으로 보기 어려움 구글 드라이브를 통해 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정하고 실시간으로 확인 가능 드롭박스나 구글 드라이브와 연동하여 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정할 수 있으나 실시간으로 보기 어려움 넷프리즘을 통해 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정할 수 있으나 실시간으로 보기 어려움
이메일 및 채팅 Outlook을 통해 비즈니스 메일 제공. Teams을 통해 채팅 및 화상 회의 가능 Gmail을 통해 비즈니스 메일 제공. Chat과 Meet을 통해 채팅 및 화상 회의 가능 이메일 및 채팅 기능 없음 이메일 및 채팅 기능 없음
가격 1인당 월 5~20달러 다양한 요금제 제공. 데스크톱 앱 사용 가능한 요금제는 12.5달러부터 시작 1인당 월 6~18달러까지 다양한 요금제 제공 완전 무료 개인용은 무료로 사용 가능하며 업무용은 별도로 견적 요청 필요

오피스 전쟁: 패러다임 충돌

챗GPT 시대 사무실

챗GPT가 이룬 대통합

인터페이스
(Interface)

인터페이스




flowchart TB
    
    subgraph A["사용자 인터페이스"]
    direction LR
        CLI["CLI<br>Command Line Interface<br> 1950~"]     --> GUI["GUI <br> Graphic User Inferface<br> 1970~"]
        GUI               --> WI["Web Interface <br> 1994~"]
        WI --> MI["Mobile Interface <br> 2007~"]
        MI --> NUI["LUI <br> Language User Interface <br> 2023~"]

    end


class A nodeStyle

classDef nodeStyle fill:#fcfbfa,stroke:#000000,stroke-width:0.7px,font-weight:bold,font-size:14px;



챗GPT NUI

  • 챗GPT (ChatGPT)

  • OpenAI Playground

Command Palette 역사

  • 60년대로 거슬러 올라가는 명령 팔레트는 최근 기술 업계에서 다시 인기를 얻고 있으며 사용자 중심 소프트웨어의 필수적인 부분으로 간주됨.
  • CLI는 개인용 컴퓨터가 대중화되기 전 초기 컴퓨팅을 지배했으며 사용자가 시스템을 작동하기 위해 특정 명령을 알아야 했다. 1984년 Apple의 매킨토시와 함께 도입된 그래픽 사용자 인터페이스(GUI)는 중요한 혁신으로 여겨졌지만, 소프트웨어의 복잡성이 증가함에 따라 GUI만으로는 탐색하기가 점점 더 어려워졌다.
  • 사용자가 항목 이름의 짧은 약어입력하여 앱과 파일을 검색할 수 있는 런처가 점점 더 보편화 되었다. 예를 들어 2001년에 출시된 Mac OS X용 LaunchBar, Quicksilver, 2005년에 출시된 Apple의 시스템 전체 Spotlight가 있다. 검색과 CLI의 결합은 Command Palette의 탄생으로 이어졌다.
  • 오늘날 우리가 알고 있는 현대식 명령 팔레트는 2011년 Sublime Text 2 베타 Joe Skinner가 처음 소개. 명령줄 사용에 익숙한 프로그래머들이 단축키를 모두 외울 필요 없이 더 빠르게 작업할 수 있어 중요한 발전이 됨.

저작도구

RStudio → Positron

WYSWYG

WYSWYG

  • 재현성: 다른 사람 저작 소프트웨어를 내가 실행할 수 있나?
  • 회복성: 소프트웨어가 망하게 되면 대안은 있는가?
  • 참여: 방법론을 결정하는데 참여할 수 있나?

(Peng, 2011)

(Peng, 2011)

  • Reproducible: A result is reproducible when the same analysis steps performed on the same dataset consistently produces the same answer.

  • Replicable: A result is replicable when the same analysis performed on different datasets produces qualitatively similar answers.

  • Robust: A result is robust when the same dataset is subjected to different analysis workflows to answer the same research question (for example one pipeline written in R and another written in Python) and a qualitatively similar or identical answer is produced. Robust results show that the work is not dependent on the specificities of the programming language chosen to perform the analysis.

  • Generalisable: Combining replicable and robust findings allow us to form generalisable results. (Community & Scriberia, 2022)

(Marwick 기타, 2018)

(Marwick 기타, 2018)

쿼토 기본기

쿼토 해부도

쿼토 구성요소

  1. 문서형식 (YAML)
  2. 텍스트 (마크다운)
  3. 코드 (R/파이썬/SQL/줄리아 등)
  1. 위아래로 세 개의 대시(---)로 구분

  2. key: value 형식의 키-값 쌍을 사용하여 문서형식 메타데이터 설정

  3. YAML의 구조는 들여쓰기에 매우 민감하므로, 정확한 들여쓰기를 유지하는 것이 중요

  4. 마크다운 문법에 맞춘 텍스트

  5. 파이썬 코드 블럭

문서 작성 방법

style A fill:#ffffff,stroke:#FFA07A style C fill:#ffffff,stroke:#FFA07A style H fill:#ffffff,stroke:#90cfff

싱글소싱과 변수설정 문서

---
format:
  html: 
    embed-resources: true   # self-contained: yes
  pdf: default
  docx: default
format-links: [pdf, docx]
---


  1. HTML 파일을 다른 문서처럼 .html 파일 하나로 지정

  2. pdf 파일 생성

  3. MS 워드 파일 생성

  4. 다운로드 파일 형식 지정

# 0. 환경설정 ---------------------------------------
library(tidyverse)
library(quarto)

# 1. 시도명 ---------------------------------------
provinces <- c("강원도", "경기도", "경상남도", "경상북도", "광주광역시", 
               "대구광역시", "대전광역시", "부산광역시", "서울특별시", 
               "세종특별자치시", "울산광역시", "인천광역시", "전라남도", 
               "전라북도", "제주특별자치도", "충청남도", "충청북도")

# 2. 보고서 만들기 ---------------------------------------
for(province in provinces) {
  quarto_render(input = str_glue("{here::here()}/report_template.qmd"),
                execute_params = list(province = province),
                output_file = str_glue("report_{province}.pdf"))
}

질의 응답

참고문헌

Community, T. T. W., & Scriberia. (2022). Illustrations from The Turing Way: Shared under CC-BY 4.0 for reuse. Zenodo. https://doi.org/10.5281/ZENODO.3332807
Marwick, B., Boettiger, C., & Mullen, L. (2018). Packaging Data Analytical Work Reproducibly Using R (and Friends). The American Statistician, 72(1), 80–88. https://doi.org/10.1080/00031305.2017.1375986
Peng, R. D. (2011). Reproducible Research in Computational Science. Science, 334(6060), 1226–1227. https://doi.org/10.1126/science.1213847
이광춘. (2024a). 챗GPT SQL. 한국 R 사용자회.
이광춘. (2024b). 챗GPT 데이터 과학. 한국 R 사용자회.
이광춘. (2024c). 챗GPT 코딩. 한국 R 사용자회.
이광춘. (2024d). 챗GPT 쿼토. 한국 R 사용자회.
이광춘·신종화. (2023). 챗GPT 유닉스 쉘: 데이터 과학 자동화 도구. 한국 R 사용자회.