이성준 · QueryPie AX Engineer 인턴 지원

이 페이지는 QueryPie 홈페이지 디자인을 레퍼런스로 만들었습니다.

AI 에이전트를 업무 도구에 연결하고,
무엇을 근거로 했는지까지 남깁니다.

충북대학교 소프트웨어학부 3학년입니다. MCP로 GitHub·Gmail·Calendar·학교 LMS를 잇는 에이전트 mawa를 만들고 있고, 인스타그램·블로그 운영을 사람 승인과 근거 검증이 들어간 자동화 시스템으로 바꿔 쓰고 있습니다.

2026 겨울방학 근무 가능 배포한 서비스 26개 @zun_it_ 팔로워 1,894 2026.08부터 Claude Max 사용
mawa-epm.pages.dev · 샘플 데이터
mawa 홈 화면: 먼저 챙길 것, 카테고리별 이번 주, MCP 서버 4곳 호출 기록
WHO

AI로 끝까지 만들고 배포하는 소프트웨어학부 3학년

  • 충북대학교 소프트웨어학부 3학년
  • 학술동아리 NestNet 임원 · 스터디장
  • 축구 동아리 CLASS FC 회장 (38명)
  • 2026년 8월부터 Claude Max 구독해 매일 사용
PROOF

MCP 에이전트 mawa, 테스트 129개와 설계 기록 23건

  • 조회 전용 도구 13개 · 개인정보 가림 · 서명된 감사 로그
  • 설치 없이 열리는 라이브 데모 · 학생·직장인·관리자 화면
  • 서비스 26개 배포
  • 자동화 파이프라인으로 운영하는 인스타그램 · 팔로워 1,894명
WHEN

2026 겨울방학, 인턴으로 합류하고 싶습니다

  • 방학 전 기간 근무 가능
  • 사전과제·인터뷰 일정 조율 가능
  • tjdwns2121@naver.com
Featured · 2026.10 개발 중

업무 데이터를 MCP로 연결하는 AI 에이전트, mawa

아래 영상은 제 실제 계정 4곳(GitHub · Gmail · Google Calendar · eCampus)을 연결해 mawa를 돌린 화면입니다. 질문 하나를 고르면 에이전트가 계정마다 자료를 모으고, AI가 이번 주 요약 · 위험한 마감 · 할 일을 출처와 함께 한 장으로 정리합니다.

mawa 서비스 소개 · 실제 실행 녹화계정 연결 → 질문 → 에이전트 수집 → 주간 리포트 · 내 GitHub · Gmail · Google Calendar · eCampus 실제 데이터 · AI는 실제 Claude · 47초

mawa

My AI Work Agent

내 메일을 AI에 맡겨도 될까? — 그 질문에 코드로 답한 개인 업무 에이전트

“이번 주 내 개발 프로젝트 진행 상황을 정리해줘”라고 입력하면, 에이전트가 GitHub·Gmail·Google Calendar·eCampus(학교 LMS) MCP 서버에서 필요한 도구를 스스로 골라 호출하고, 결과를 하나의 컨텍스트로 묶어 출처가 달린 주간 업무 리포트를 만듭니다. 데모는 학생·직장인·관리자 세 화면으로, 같은 통제를 쓰는 사람과 정책을 정하는 사람 양쪽에서 보여줍니다.

USER -> AI AGENT ──┐                            ┌─> GitHub
                   ├─> policy·mask·audit -> MCP ├─> Gmail
CLAUDE CODE ───────┘     gateway / agent        ├─> Calendar
                                                └─> eCampus
REPORT <- source check <- omission check <- eval
  1. planLLM이 연결된 서버의 도구 목록(tools/list)을 보고 무엇을 호출할지 정합니다.
  2. executeMCP tools/call 실행. 예: get_recent_commits, search_project_emails, get_upcoming_events
  3. aggregate결과를 ContextItem 형식으로 정규화하고 sourceId 기준으로 중복을 없앱니다. (기간 필터·프로젝트별 묶기는 설계 단계)
  4. analyze정해진 JSON 스키마에 맞춰 WeeklyReport 생성
  5. validate존재하지 않는 출처를 단 항목은 버리고, 출처 없이 “확인함”이라고 한 항목은 “추론”으로 낮춥니다.
  6. check앞으로 2주의 일정·마감·메일 날짜를 규칙으로 다시 읽어, 리포트가 빠뜨린 항목을 따로 표시합니다.
4MCP 서버 (+ 게이트웨이)
13에이전트가 고르는 도구
129테스트 (단위 112 · e2e 17)
  packages/agent-core/src/agent.ts
export interface ToolPolicy {
  /** Max tool calls per run. */
  maxToolCalls: number;
  /** Max LLM planning turns (each may contain several tool calls). */
  maxTurns: number;
  /** Max chars of a tool result placed into the prompt. */
  maxResultChars: number;
  /** Allow-list of qualified tool names; undefined = all discovered tools. */
  allowedTools?: string[];
}
TypeScriptMCP 공식 SDK · stdioAnthropic / OpenAI 공급자 추상화React · Vite · TailwindVitest · zod
안전장치

도구 사용 정책 ToolPolicy

한 번 실행할 때 도구 호출 최대 12회, 계획 턴 최대 4회, 결과는 12,000자까지만 프롬프트에 넣고, 도구 호출마다 20초 타임아웃을 둡니다. 허용 목록 밖의 도구는 모델이 보는 목록에서 빠지고, 이름을 짐작해 불러도 호출 시점에 거절됩니다. 기간·결과 수·저장소·메일 도메인처럼 인자도 제한합니다.

쓰기 없음 · 인젝션 대비 read-only tools

도구 13개가 모두 조회용이라 에이전트가 메일을 보내거나 이슈를 닫을 수 없습니다. 메일·이슈 속 지시문처럼 보이는 글은 감지해서 표시하고, 데이터로만 다룹니다.

OAuth와 토큰 보관 AES-256-GCM

인가 코드 방식에 일회용 state(10분 만료)를 쓰고, 토큰은 AES-256-GCM으로 암호화해 권한 0600 파일에 둡니다. Gmail·Calendar는 읽기 전용 권한만 요청합니다. GitHub OAuth App에는 읽기 전용 저장소 권한이 없어(repo는 쓰기 포함) 그 사실을 화면에 적었고, 읽기 권한만 가진 GitHub App으로도 같은 코드로 연결됩니다.

출처 기반 리포트 sources · confidence

모든 항목에 원본 데이터 참조를 달고, 확인한 내용(observed)과 추론(inferred)을 구분합니다. 형식은 공유 zod 스키마로 강제합니다.

AI에 보내기 전 가림 maskPii · pseudonymize

메일 주소·전화번호·학번·주민등록번호·계좌·카드 번호를 가리고, 메일 보낸 사람·일정 주최자 이름은 「사람A」로 바꿔 모델에 보냅니다. 샘플 데이터 실행에서 메일 주소 24회, 개인정보 3회를 가렸습니다.

감사 로그 hash chain · Ed25519

실행이 끝날 때마다 읽기·거절·제외·LLM 전송을 한 줄씩 파일에 이어 씁니다. 줄마다 앞 줄의 SHA-256 해시와 Ed25519 서명이 붙어, 한 줄이라도 고치면 그 줄부터 검증이 실패합니다.

정책 게이트웨이 mcp-servers/gateway

정책을 에이전트 밖의 MCP 게이트웨이로도 분리했습니다. Claude Code 같은 다른 MCP 클라이언트도 게이트웨이로 붙으면 같은 허용 목록·가림·감사 로그를 거칩니다.

누락 검사 coverage_checked

리포트를 쓴 뒤 일정·마감·메일 속 날짜를 규칙으로 다시 읽어, 리포트가 빠뜨린 항목을 따로 보여줍니다. 이 읽기는 모델에 보내지 않습니다. 직접 만든 정답 항목(eval set)으로 채점하면, 실제 Claude 실행이 학생 9/9 · 직장인 8/9를 찾았습니다.

설계 결정은 ADR 23건으로 레포 docs/에 남겼습니다. API를 직접 부르지 않고 실제 MCP를 쓴 이유, 환각을 스키마로 막는 방법, 정책을 게이트웨이로 뺀 이유, 감사 로그에 서명을 단 이유 등입니다.

mawa 관리자 화면: 보안 요약과 같은 질문을 정책 세 가지로 돌린 비교
관리자 화면 · 구성원 AI 데이터 사용 현황보안 요약 + 같은 질문을 정책 3개(없음·기본·엄격)로 돌린 비교 · 가상 회사 B사 샘플 데이터
Shipped · 26 services

직접 기획하고 배포한 서비스 26개

기획부터 배포, 운영까지 맡았습니다. AI를 실제 업무 흐름에 붙인 것부터 소개합니다.

AI × 업무 자동화06

PostPilot AI 블로그 자동 발행 관제탑

↗

네이버·워드프레스·블로그스팟에 AI 글을 자동 발행하고 관리하는 대시보드. 발행 전에 출처 그라운딩과 품질 게이트를 통과해야 합니다.

출처 그라운딩 · 품질 게이트 auto-blog-pg.pages.dev

RePub STUDIO 멀티채널 콘텐츠 발행

↗

소재 하나로 네이버·블로그스팟·워드프레스·티스토리 채널별 리라이트 초안, 공시·태그·SEO 점검, 썸네일까지 만듭니다. LLM 공급자는 OpenRouter로 골라 씁니다.

채널 4개 · LLM 공급자 선택 auto-pg.pages.dev

Cavero 대학생 활동 관리 서비스

↗

공모전·대외활동·인턴 공고 링크를 붙여넣으면 마감일과 제출물이 자동으로 정리됩니다.

모두의 창업 프로젝트 2차 1인 지원 · 서류 심사 진행 중 cavero.tjdwns2121.workers.dev

INTERVIEW//AI AI 모의 면접관

↗

답변을 듣고 이력서·자기소개서 내용을 바탕으로 더 깊은 꼬리 질문을 던지는 모의 면접 서비스입니다.

대화형 에이전트 · 꼬리 질문 zunterview.pages.dev

zun board 활동 운영 대시보드

↗

동시에 진행하는 서포터즈 7개의 일정, 마감, 산출물을 한 화면에서 관리하려고 만든 제 업무 도구입니다.

본인 업무에 매일 사용 zm.tjdwns2121.workers.dev

실리콘밸리 마스터 현장 컴패니언 앱

↗

충북 대학생 글로벌 기업탐방(실리콘밸리·LA)을 위한 올인원 앱. 운영진 공지가 바뀌면 일정에 바로 반영하며 현지에서 썼습니다.

2026.08 미국 현지에서 실사용 travle.pages.dev
나머지 20개 보기학습 플랫폼 9 · 3D·게임 8 · 커뮤니티 3
Content Automation · 카드뉴스공장

인스타그램·블로그 운영을 하나의 자동화 시스템으로 바꿨습니다

혼자서 소재를 찾고, 쓰고, 검증하고, 올리고, 성과를 보는 일을 단계별 파이프라인으로 재설계했습니다. 자동화할 곳과 사람이 승인할 곳을 나누고, 카드에 들어간 숫자·이름은 소재와 코드로 대조합니다. 비공개 레포로 운영 중입니다.

한 편이 만들어지는 흐름자동사람이 결정
  1. 01소재 수집RSS와 Claude 웹 검색으로 모으고, 계정에 안 맞는 것은 버립니다.
  2. 02리서치원문을 읽고 출처가 붙은 사실만 남깁니다. 못 찾으면 만들지 않고 멈춥니다.
  3. 03표지 선택표지 후보 6안 중 사람이 고릅니다.
  4. 04자기검증규칙 검증 → 자기평가 → 미달이면 재작성(최대 3회). 숫자·이름은 소재와 대조해 없으면 반려합니다.
  5. 05승인 후 렌더사람이 본문을 승인하면 카드·캡션·블로그 글을 만듭니다.
  6. 06발행티스토리는 자동 발행(기본 비공개). 인스타그램은 업로드 폴더까지만 준비하고 올리기는 사람이 합니다.
  7. 07성과 → 전략공식 Graph API로 지표를 모으고, 얕은 데이터로는 결론을 안 냅니다. 결론은 다음 소재 고르기에 반영됩니다.
1,100+커밋
21검증 함수
84기록해 둔 실패 사례(함정)
3사람 승인 지점

인스타그램 자동 업로드는 일부러 넣지 않았습니다. 비공식 자동화는 계정 정지 위험이 있고, 공식 API는 제약이 커서 "준비까지는 자동, 게시는 사람"으로 결정했습니다. 같은 방식으로 블로그 쪽은 PostPilot·RePub STUDIO를 따로 만들었습니다.

카드뉴스공장 파이프라인 소개실제 실행 화면 · 1분 25초
1,894@zun_it_ 팔로워 (2026.10)
21.7만주요 게시물 17개 누적 조회
12.5만최고 조회 릴스 · 컴활 마스터
45게시물 · 2026.08.01 시작
조회수 상위 게시물 · 2026.10.02
  • 컴활 마스터 웹앱125,000
  • 클로드 스킬 3종32,000
  • SQLD 마스터22,000
  • Claude Opus 5.513,000
  • 대학생 일정 관리 노션6,843

막대 길이는 같은 축척입니다. 직접 만든 서비스 소개와 AI 도구 활용법이 상위권을 나눠 갖습니다.

인스타그램으로 이어진 기회
  • 네이버 AI 디깅클럽 1기인스타그램 성과를 인정받아 100명 안에 선발
  • 청년 공공 AX 서포터즈공공 AX 현장 후기를 콘텐츠로 기록
  • 크리에이터·서포터즈 활동Teazr, 이이웍스 대학생 크리에이터, 코드잇 10x 체험단, 왓잡 서포터즈 2기
ZUN 소개 모션그래픽@zun_it_ 소개 영상 · 22초
QueryPie · AX Engineer

공고의 각 항목과 이어지는 결과물

코드는 대부분 Claude Code가 썼고, 저는 무엇을 만들지 정하고 결과가 맞게 도는지 확인했습니다. 그래서 아래는 「제가 짠 코드」가 아니라 만들어서 실제로 돌리고 있는 것의 목록입니다. 아직 부족한 것도 같이 적었습니다.

주요 업무업무 프로세스를 AI Agent 흐름으로 재설계

제가 매주 손으로 하던 일 세 가지를 AI 흐름으로 바꿔 지금 쓰고 있습니다. 진행 상황 정리는 mawa, 서포터즈 일정·마감 관리는 zun board, 콘텐츠 제작·발행은 사람 승인이 들어간 자동화 시스템입니다. 어떤 일을 옮길지, 어디서 사람이 멈춰 확인할지는 제가 정했습니다.

mawa · zun board · 카드뉴스공장

주요 업무Agent 아키텍처와 오케스트레이션

mawa는 plan → execute → aggregate → analyze → validate 순서로 도는 턴 수 제한이 있는 도구 호출 루프입니다. LLM은 Anthropic·OpenAI·테스트용 공급자로 바꿔 끼울 수 있게 돼 있습니다.

mawa/agent-core

주요 업무Tool 호출 통제 · 감사 로그

호출 12회·턴 4회·20초 타임아웃 제한과 조회 전용 도구로 에이전트가 할 수 있는 일이 묶여 있고, 도구 호출의 시작·완료·실패와 거절이 해시 체인 + Ed25519 서명 감사 로그에 남습니다. 모델에 보내기 전 개인정보를 가리고, 같은 정책을 다른 MCP 클라이언트에도 거는 게이트웨이가 있습니다. 쓰기 도구가 없어서 사람이 승인하는 단계는 아직 없습니다.

ToolPolicy · audit chain · gateway

주요 업무OAuth · 권한 분리

OAuth 2.0 인가 코드 방식에 일회용 state, 토큰은 AES-256-GCM 암호화로 서버에만 보관합니다. Gmail·Calendar는 읽기 전용 scope, GitHub는 OAuth App의 repo 권한 한계를 화면에 밝히고 읽기 전용 GitHub App 연결도 지원합니다.

mawa/apps/api/auth

주요 업무실행 상태 · 실패 지점 추적

실행 이벤트가 웹 UI의 활동 타임라인에 실시간으로 뜨고, 실패한 도구 호출도 따로 남아 어디서 멈췄는지 보입니다.

ActivityTimeline

우대사항품질 관리

없는 출처를 단 리포트 항목은 버리고, 근거 없는 “확인함”은 “추론”으로 낮춥니다. AI가 쓴 결과를 그대로 믿지 않으려고 넣게 한 장치입니다. 리포트를 쓴 뒤 누락 검사로 빠뜨린 마감을 다시 찾습니다. 직접 만든 정답 항목으로 리포트를 채점해 실제 Claude 실행이 학생 9/9 · 직장인 8/9를 찾았습니다. 테스트는 129개(단위 112 · e2e 17)이고, PostPilot에도 발행 전 품질 게이트가 있습니다.

Vitest · PostPilot

우대사항MCP · Agent SDK 사용 경험

공식 MCP SDK로 만든 서버 4개, 도구 13개를 에이전트가 tools/list로 찾아 씁니다. 정책 게이트웨이는 MCP 서버이자 네 서버의 MCP 클라이언트입니다.

mawa/mcp-servers

자격요건CI/CD · 클라우드

GitHub에 올리면 자동 배포되는 흐름으로 Cloudflare Pages·Workers에 26개 서비스를 운영하고, GitHub Actions 워크플로도 구성해 씁니다.

Cloudflare · GitHub Actions

우대사항기술과 비즈니스를 함께 설명

팔로워 1,894명의 AI·개발 인스타그램 @zun_it_을 운영하고, 학술동아리에서 바이브코딩 스터디를 이끕니다. 창업 프로젝트에서 서비스를 사업 언어로 설명해 봤습니다. mawa 데모도 학생·직장인·관리자 세 사람의 화면으로 나눠, 같은 데이터 통제가 쓰는 사람과 정책 담당자에게 각각 무엇인지 보여줍니다.

@zun_it_ · NestNet · 모두의 창업

아직 부족한 것

숨기기보다 먼저 말씀드리고, 인턴 기간에 가장 빨리 채우고 싶은 부분입니다.

코드를 손으로 직접 짠 경험지금까지 만든 결과물은 대부분 Claude Code 같은 AI 코딩 도구가 코드를 썼습니다. 저는 기획, 구조 설계, 결과 확인과 배포를 맡았습니다.
Spring Boot · Kotlin 실무지금까지는 TypeScript 중심으로 만들었습니다. 팀의 백엔드 스택에 맞춰 빠르게 적응하겠습니다.
RAG · Vector/Graph DBmawa는 아직 검색 없이 도구 호출만 합니다. 다음 단계로 문서 검색 도구를 붙여 볼 계획입니다.
엔터프라이즈 규모 운영SSO·SCIM, 대규모 트래픽은 경험이 없습니다. mawa도 감사 체인을 외부에 고정하지 않았고 개인정보 탐지는 정규식 수준입니다(docs/ENTERPRISE.md). 실제 고객 환경에서 배우고 싶은 가장 큰 이유입니다.
How I work

AI는 도구로 쓰고, 설계와 검증은 직접 합니다

설계 먼저

문서로 범위를 정합니다

mawa는 코드보다 ARCHITECTURE.md와 결정 기록을 먼저 썼습니다. 각 기능이 구현됐는지, 계획인지, 데모 전용인지 문서에 표시합니다.

빠른 구현

AI 코딩 도구로 끝까지 만듭니다

2026년 8월부터 Claude Max를 구독해 매일 씁니다. Claude Code로 구현하고 GitHub에 올린 뒤 Cloudflare Pages·Workers로 배포합니다. 아이디어가 실제 URL이 될 때까지 갑니다.

검증

테스트와 근거로 확인합니다

mawa의 출처 검사, PostPilot의 품질 게이트처럼 AI가 만든 결과를 그대로 내보내지 않는 단계를 꼭 둡니다. 테스트는 Vitest로 작성합니다.

2026

활동

학업과 동아리 운영, 창업 도전, 여러 서포터즈 활동을 함께 하고 있습니다.

  1. 소프트웨어학부 학술동아리 NestNet임원 · 스터디장동아리원 40명 규모의 학술동아리 임원으로, 바이브코딩 스터디와 개발자 블로그 스터디를 이끕니다. 9주 로드맵과 데모데이를 직접 설계했고 스터디 페이지도 만들어 배포했습니다.
  2. 모두의 창업 프로젝트 2차 · Cavero서류 심사 중1차 경험을 바탕으로 소프트웨어 아이템 Cavero로 1인 재도전했습니다.
  3. 모두의 창업 프로젝트 1차 · EV-SafePark신속심사 통과EV 주차장 화재 조기경보 AI/IoT 아이템으로 팀 참가했습니다.
  4. 충북 대학생 글로벌 기업탐방 · 실리콘밸리·LA기술 리서치 담당팀 CORE에서 반도체 기술과 산출물을 맡아 HP, LAM RESEARCH를 방문했습니다. 현지에서 쓸 컴패니언 앱도 만들었습니다.
  5. 네이버 AI 디깅클럽 1기100명 선발‘#AI로만드는일상’ 키워드로 네이버 AI 탭과 연계한 숏폼을 기획·제작합니다.
  6. 서포터즈 · 대외 프로그램동시 진행
    • 청년 공공 AX 서포터즈한국지능정보사회진흥원
    • Teazr 마케팅 서포터즈 1기4인 팀 · 13주
    • 이이웍스 대학생 크리에이터콘텐츠 제작
    • 코드잇 10x 체험단AI 숏폼 과정 · 7주
    • 왓잡 서포터즈 2기2026.09 수료
    • SK 코칭 프로그램2026.09 –
  7. K리그 AI 경진대회참가
  8. 축구 동아리 CLASS FC회장동아리원 38명 운영, 공식 웹 플랫폼 제작
  9. 소프트웨어학부 과학생회 기획부부원
Contact

겨울방학 동안 AX 실무를 배우고 기여하고 싶습니다.

프로젝트 코드와 문서는 GitHub에서 모두 볼 수 있습니다.