Redacta: GitHub Copilot CLI로 비디오 콘텐츠 향상
Source: Dev.to
내가 만든 것
Redacta는 특정한 필요에서 탄생한 개인 솔루션입니다: 오디오와 비디오 형식에 갇힌 지식을 되찾고자 하는 욕구에서 시작되었습니다.
시각 기억력이 뛰어난 저는 언제나 읽는 것이 비디오를 보거나 팟캐스트를 듣는 것보다 훨씬 효과적이라는 것을 느꼈습니다. 문구와 이미지는 페이지에 보일 때 머릿속에 더 잘 남습니다. 텍스트를 스캔해 개념을 찾고, 특정 부분을 기억해내며, 혹은 단락의 핵심 메시지를 빠르게 파악할 수 있습니다.
하지만 세상에는 비디오와 오디오로 전달되는 놀라운 콘텐츠가 넘쳐납니다. 안타깝게도 저는 그 내용이 글로 정리되지 않아 충분히 활용하지 못하고 있다는 느낌을 자주 받습니다. 영상 안에서 검색하는 것은 고통이고, 다시 듣고 싶은 특정 팟캐스트 에피소드를 찾는 것은 거의 불가능에 가깝습니다.
생전 전사(raw transcription)를 읽어보려 했지만, 특히 유튜브 자동 생성 자막은 구두점, 포맷, 구조가 전혀 없어 읽기 힘든 경우가 많았습니다.
Redacta는 이를 해결하기 위해 만들어졌습니다. 원시 전사를 받아 GitHub Copilot과 LLM의 힘을 이용해 원본 내용에 충실하면서도 잘 정리되고 적절히 구두점이 삽입된 문서로 변환합니다.
시작 이후 Redacta는 다음과 같이 확장되었습니다:
- 텍스트에 이미지 삽입 – 시각 학습을 돕기 위해 자동으로 이미지와 도식을 추가합니다.
- 요약 및 포스트 생성 – 빠른 읽기용 또는 심층 학습용 등 다양한 형식으로 맞춤 제작합니다.
- 언어 장벽 허물기 – 다른 언어로 번역해, 내가 유창하게 구사하지 못하는 언어로 공유된 지식도 접근할 수 있게 합니다.
Redacta는 단순한 도구가 아니라 방대한 비디오·오디오 콘텐츠와 내 뇌가 실제로 정보를 처리하는 방식 사이를 연결해 주는 다리입니다.
Core Capabilities
| Capability | Description |
|---|---|
| Semantic Redaction | 분절되고 지저분한 전사본을 일관되고 잘 구조화된 문서로 변환합니다. |
| Visual Enrichment | 복잡한 개념을 설명하기 위해 관련 이미지와 ASCII 다이어그램을 자동으로 삽입합니다. |
| Multilingual Intelligence | 전사본을 처리하고 다양한 언어로 원활하게 출력물을 생성합니다. |
| Interactive TUI | ink를 사용하여 진행 상황을 모니터링하는 아름답고 실시간 터미널 인터페이스입니다. |
| Batch Mastery | 전체 전사 디렉터리를 한 번에 효율적으로 처리합니다. |
사용 가능한 명령어
| 명령어 | 동작 |
|---|---|
--blog | 다듬어진 블로그 포스트 (_blog.md)를 생성합니다. |
--summary | 간결한 실행 요약 (_summary.md)을 작성합니다. |
--language= | 목표 출력 언어를 설정합니다. |
--with-illustration | 명확성을 위해 핵심 이미지와 다이어그램을 추가합니다. |
--with-illustration-all | 심층 일러스트레이션: 포괄적인 시각 자료를 추가합니다. |
--directory= | 폴더 내 모든 .srt 파일을 일괄 처리합니다. |
--model= | 선호하는 LLM 모델을 선택합니다. |
How to Use It
Installation
npm install -g redacta
Configuration
export CUSTOM_SEARCH_KEY='your_key'
export CUSTOM_SEARCH_PROJECT='your_id'
Usage Examples
Basic cleanup in a specific language
redacta tutorial.srt --language=spanish
Complete transformation (Blog + Summary + Diagrams)
redacta lecture.srt --blog --summary --with-illustration-all
사용 사례 제안
- Course Accelerator – 학생들은 한 학기 분량의 비디오 강의를 몇 분 만에 구조화된, 삽화가 포함된 학습 가이드로 전환할 수 있습니다.
- Podcast Content Engine – 크리에이터는 오디오 에피소드를 SEO 친화적인 블로그 게시물 및 소셜 미디어 요약으로, 수동 작성 없이 변환할 수 있습니다.
- Technical Documentation – 엔지니어는 복잡한 아키텍처의 “브레인 덤프” 비디오를 녹화하고 Redacta가 다이어그램이 포함된 형식화된 기술 문서를 생성하도록 할 수 있습니다.
- Meeting Archivist – 녹화된 전체 회의나 기술 동기화 세션을 참석하지 못한 팀원을 위해 검색 가능하고 구조화된 요약으로 전환합니다.
- Cross‑Border Learning – 말할 수 없는 언어의 전사본을 번역하고 형식화하여 전 세계 전문가들의 고품질 기술 콘텐츠를 이해합니다.
데모
Redacta가 실제로 어떻게 동작하는지 확인하려면, 그 다양성을 보여주는 두 가지 매우 다른 시나리오를 살펴보겠습니다.
1. 고급 기술 교육
첫 번째 예시는 Andrej Karpathy가 진행한 대형 언어 모델에 관한 기술 강연입니다.
Source: Intro to Large Language Models by Andrej Karpathy.
Command
node ./dist/bin/redacta.js ./examples/Intro_Large_Language_Model_LLM_talk.srt \
--with-illustration --blog
기술 콘텐츠의 경우, Redacta는 구조적 명료성과 시각적 보조에 중점을 둡니다. 단순히 텍스트를 정리하는 것이 아니라 핵심 아키텍처 개념을 식별하고 ASCII 다이어그램을 생성해 구어와 시각적 이해 사이의 간극을 메워줍니다.
Generated Snippet (Knowledge Scaffolding)
대형 언어 모델은 단지 두 개의 파일일 뿐입니다. 예를 들어 Llama 2 70B 모델은 파라미터 파일(가중치)과 실행 파일(코드)로 구성됩니다.
+---------------------+ uses +---------------------+
| |----------------------->| |
| PARAMETERS FILE | | RUN FILE |
| (140GB, float16 | | (C/Python code, |
| weights) | | ~500 lines) |
| | | |
+---------------------+ +---------------------+
Generated outputs
- 포맷된 텍스트: Intro_Large_Language_Model_LLM_talk_formatted.md
- 블로그 포스트: Intro_Large_Language_Model_LLM_talk_blog.md
2. 미술사 및 분석 (다국어)
Source: Las 5 alegorías (Analysis of Baroque Art)
Command
node ./dist/bin/redacta.js ./examples/analisis_de_las_5_alegorias.srt \
--with-illustration --summary --language=English --blog
이 예시는 Redacta가 다언어 번역과 정밀 이미지 삽입을 처리할 수 있음을 강조합니다. 도구는 스페인어 강의를 구조화된 영어 블로그 포스트로 번역하면서 논의된 특정 명작을 자동으로 찾아 삽입했습니다.
Generated Snippet (Visual Context)
Claesz는 각 감각을 구성에 교묘히 녹여 넣었습니다:
- 청각 – 악기가 소리를 연상시킵니다.
- 시각 – 그림 자체와 와인 잔을 비추는 거울.

이미지: Still Life with Musical Instruments – 1623
Redacta는 전사(context)에서 특정 그림(Still Life with Musical Instruments)을 정확히 식별하고, 설명이 나오는 바로 그 위치에 삽입했습니다.
Generated outputs
- 포맷된 텍스트: analisis_de_las_5_alegorias_formatted.md
- 블로그 포스트: analisis_de_las_5_alegorias_blog.md
- 요약: analisis_de_las_5_alegorias_summary.md
저장소
전체 프로젝트는 여기에서 확인할 수 있습니다:
- Redacta –
Source: …
GitHub Copilot CLI 사용 경험
GitHub Copilot CLI를 처음 코드 한 줄부터 사용했습니다. 단순한 도우미가 아니라 Redacta의 아키텍처 여정에서 근본적인 파트너였습니다.
철학적 접근 – “CLI First, Automation Second”
제 워크플로는 엄격한 CLI‑First 철학을 따랐습니다. 자동화 로직을 작성하기 전에 Copilot CLI로 아이디어를 스케치했습니다:
- 높은 수준의 목표를 CLI에 설명합니다.
- 제안된 프로젝트 구조와 기반을 반복적으로 다듬습니다.
이를 통해 과도한 설계를 방지했습니다. 핵심 로직(예: 특정 프롬프트 출력)을 CLI 환경에서 직접 검증한 뒤에야 실제 스크립트 작성을 시작했습니다.
GitHub Copilot CLI 사용 장점
- Iterative Prompt Engineering – 원시 트랜스크립트를 Copilot에 파이프하고 프롬프트를 적용하면 몇 초 안에 결과를 확인할 수 있었습니다. 구두점이 잘못되면 프롬프트를 조정하고 즉시 다시 실행했습니다.
- Zero‑Boilerplate Prototyping – 단위 테스트나 전체 로컬 환경을 설정할 필요 없이 LLM이 포맷팅 작업을 수행할 수 있는지 빠르게 확인할 수 있었습니다. CLI가 빠른 테스트를 위한 샌드박스로 작동했습니다.
- Context‑Aware Scaffolding – 수동 프롬프트에서 스크립트로 전환할 때, CLI가 프로젝트 파일을 읽고 기존 패턴에 완벽히 맞는 자동화 로직을 제안했습니다.
Copilot SDK와의 원활한 통합
Copilot SDK는 실험과 프로덕션 사이의 간극을 메워 주었습니다. CLI에서 프롬프트를 최종 확정한 뒤, 동일한 인텔리전스를 SDK를 통해 코드에 삽입했습니다. 이 “Copy‑Paste Intelligence” 방식은 LLM을 코드베이스에 통합할 때 디버깅 시간을 크게 줄여 주었습니다.
고효율 개선 사항
Redacta가 성장함에 따라, CLI는 보통 프로젝트를 느리게 만드는 무거운 작업을 담당했습니다:
- TypeScript Migration – 전체 코드베이스를 JavaScript에서 TypeScript로 마이그레이션하는 데 도움을 주었으며, 타입을 제안하고 보일러플레이트를 정밀하게 처리했습니다.
- Testing Suite – 포괄적인 Vitest 스위트를 스캐폴딩하여 프롬프트 개선이 핵심 기능을 깨뜨리지 않도록 보장했습니다.