본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 06. 25. 16:34

GAS를 사용하여 학무 메모를 익명화하고 AI 요약용 프롬프트 만들기

요약

Google Apps Script(GAS)를 활용하여 학교 학무 메모의 개인정보를 익명화하고 AI 요약용 프롬프트를 자동 생성하는 방법을 소개합니다. 외부 API 호출 없이 스프레드시트 내에서 데이터를 전처리하여 보안 리스크를 줄이는 구현 가이드를 제공합니다.

핵심 포인트

  • GAS를 이용한 학생 성명 가명 처리 자동화
  • 데이터 전처리를 통한 AI 입력 시 개인정보 유출 방지
  • getValues()를 활용한 효율적인 스프레드시트 데이터 처리
  • AI의 환각을 방지하기 위한 프롬프트 제약 조건 설정

Google 폼이나 스프레드시트를 통해 결석 연락, 상담 메모, 일일 소견 등을 수집하는 학교가 많을 것이라고 생각합니다.

하지만 이를 그대로 생성형 AI (Generative AI)에 붙여넣으면 성명이나 학번 등 개인정보까지 함께 전달하게 되는 리스크가 있습니다. 그래서 이 기사에서는 Google Apps Script (GAS)로 스프레드시트의 행을 읽어 들여, 학생 이름을 학생 A와 같은 가명으로 치환한 후, AI에 붙여넣기 위한 요약 프롬프트를 별도의 시트로 출력합니다.

외부 AI API는 호출하지 않습니다. API 키도 사용하지 않습니다. 우선은 "AI에 전달하기 전의 전처리"를 GAS로 자동화하는 작은 구현입니다.

  • 학무 메모 목록을 스프레드시트에서 읽기
  • 성명 등 직접적인 식별자를 가명으로 치환하기
  • 날짜·구분·메모만을 사용하여 AI 요약용 프롬프트 생성하기
  • 출력용 시트로 모아서 쓰기

Apps Script의 Range는 스프레드시트 범위의 읽기/쓰기에 사용할 수 있습니다. 공식 레퍼런스에서도 범위를 다루는 클래스로 설명되어 있습니다.

또한, Sheet는 시트 조작을 위한 클래스로, 범위나 선택, 표시 설정 등을 다루는 메서드를 가집니다.

날짜를 문자열로 정돈하는 처리에는 Utilities.formatDate()를 사용합니다. Utilities는 날짜 형식 지정이나 JSON 처리 등의 유틸리티를 제공하는 서비스입니다.

입력 시트 이름을 raw_notes로 합니다.

dategradeclassstudent_namecategorynote
2026/06/2531山田太郎欠席連絡朝から発熱。明日も様子を見る予定。
2026/06/2531佐藤花子面談メモ算数の宿題でつまずきがある。家庭でも確認予定。

출력 시트 이름은 ai_prompts입니다. 스크립트가 없으면 생성합니다.

스프레드시트에 연결된 Apps Script 프로젝트를 열고, 아래 내용을 Code.gs에 붙여넣습니다.

const INPUT_SHEET_NAME = 'raw_notes';
const OUTPUT_SHEET_NAME = 'ai_prompts';
const REQUIRED_HEADERS = [
...

ai_prompts 시트에는 다음과 같은 프롬프트가 생성됩니다.

다음은 학무 메모에서 개인명을 가명화한 정보입니다.
사실을 추가하지 말고, 기재된 내용만을 바탕으로 교사가 다음 대응을 정리하기 위한 짧은 요약을 만들어 주세요.
날짜: 2026/06/25
...

이렇게 형식을 갖춰 두면, AI에 전달하기 전에 "무엇을 요약해주길 원하는지", "사실을 추가하지 말 것", "어떤 형식으로 답변해주길 원하는지"를 고정할 수 있습니다.

셀을 하나씩 읽는 것이 아니라, getDataRange().getValues()를 사용하여 표 전체를 한꺼번에 배열화합니다.

const values = inputSheet.getDataRange().getValues();

GAS에서는 스프레드시트에 대한 액세스 횟수가 늘어날수록 처리가 무거워지기 쉬우므로, 읽기와 쓰기는 가급적 모아서 수행합니다.

이 코드에서는 student_name을 그대로 프롬프트에 넣지 않습니다.

alias.set(name, `학생${String.fromCharCode(nextCode)}`);

동일한 성명에는 동일한 가명을 할당하므로, 동일 학생의 여러 행을 다루는 경우에도 문맥을 파악하기 쉽습니다.

학무 메모 요약에서는 AI가 그럴듯한 보충 설명을 만들어 버리면 곤란합니다. 따라서 프롬프트 내에 다음과 같이 제약을 넣고 있습니다.

사실을 추가하지 말고, 기재된 내용만을 바탕으로

AI에게 판단을 맡기는 것이 아니라, 입력된 메모의 범위 내에서 정리하도록 하는 문장입니다.

이 기사의 코드는 외부 AI API를 호출하지 않습니다. AI에 붙여넣기 전의 익명화와 프롬프트 생성만을 GAS에 맡기고 있습니다.

API 키를 코드에 직접 작성하는 구현은 피합니다. 학무 데이터를 다룰 때는 우선 "어떤 정보를 AI에 전달하지 않을 것인가"를 결정하고, 그 전처리를 자동화하는 편이 다루기 쉽습니다.

  • 결석·지각 연락의 요점 정리
  • 상담 메모의 차기 확인 사항 정리
  • 일일 소견으로부터 지원 관점을 추출하기 위한 준비
  • 학년 회의에서 공유하기 전의 메모 정돈

갑자기 학교 업무 시스템 전체를 AI화하는 것이 아니라, 스프레드시트(Spreadsheet) 상의 정형화된 작업을 하나씩 분리해 나가면 현장에서 시도하기가 더 쉬워집니다.

GAS(Google Apps Script)를 사용하면, 학무 메모를 읽어 들여 개인명을 가명화하고, AI에게 전달하기 쉬운 프롬프트(Prompt)로 정형화할 수 있습니다.

핵심은 AI에게 모든 것을 직접 맡기는 것이 아니라, AI에게 전달하기 전의 데이터 정리(Data cleaning)를 자동화하는 것입니다. 개인정보를 포함하는 열(Column)을 그대로 붙여넣지 않는 운영 방식을 도입하는 것만으로도, 일상적인 AI 활용은 상당히 다루기 쉬워집니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0