내가 만든 데스크톱 앱에 개인 구독 AI 모델을 붙일 수 있을까? 부제: API 비용 부담을 해결할 수 있는 방법 저는 교사용 데스크톱 앱 '쌤핀'을 만들고 있는 교사 박준일입니다. 학급 관리, 자리 뽑기, 출석부, 관찰 기록 같은 기능이 들어 있는데, 지금까지 일부러 AI 기능을 넣지 않았습니다. 여러 이유들이 있었는데 가장 핵심적인 이유는 돈이 무서워서 그랬습니다. 앱에 AI를 넣는 표준적인 방법은 API라는 걸 쓰는 겁니다. 쉽게 말해 내 앱이 AI 회사에 직접 전화를 걸어 일을 시키고, 통화료는 개발자인 내가 내는 방식입니다. 사용자가 10명일 때는 커피값이지만, 1,000명이 매일 쓰면 월급이 나갑니다. 무료로 배포하는 앱에 이 구조를 얹는 순간, 사용자가 늘수록 내가 가난해지는 이상한 사업이 됩니다. 그런데 최근에 이 전제를 뒤집는 방식을 발견했습니다. 결론부터 말하면... 됩니다. 그것도 개발자 비용 0원으로. 오늘은 그 원리를 코딩을 모르는 분도 따라올 수 있게 처음부터 설명해 보겠습니다. 발상의 전환: 선생님들은 이미 AI 요금을 내고 있다 주변을 보면 ChatGPT Plus나 Claude Pro를 구독하는 선생님이 꽤 많습니다. 월 2~3만 원을 이미 내고 있죠. 그렇다면 질문이 이렇게 바뀝니다. "개발자가 모든 사용자의 AI 비용을 대신 내는 게 아니라, 사용자가 이미 구독 중인 자기 AI를 내 앱에 연결해서 쓰게 하면 안 되나?" 이게 가능하다는 걸 보여주는 도구들이 이미 있습니다. 텔레그램으로 내 컴퓨터의 AI를 원격 조종하는 cokacdir, 개인 AI 비서를 만들어주는 OpenClaw 같은 도구들이 전부 이 방식으로 돌아갑니다. 핵심 열쇠는 'CLI'라는 물건입니다. CLI가 뭔가요? 얼굴 없는 프로그램 우리가 아는 프로그램은 대부분 얼굴(화면)이 있습니다. 한글, 카카오톡처럼 창이 뜨고 버튼을 누르죠. 그런데 얼굴 없이 일만 하는 프로그램도 있습니다. 이걸 CLI(Command Line Interface, 명령줄 도구)라고 부르는데, 어려운 정의는 잊어버리고 이것만 기억하면 됩니다. "글자로 시키면, 글자로 답하고, 끝나는 프로그램" AI 회사들은 요즘 이런 형태의 공식 프로그램을 내놓고 있습니다. Anthropic의 Claude Code, OpenAI의 Codex CLI, 구글의 Antigravity CLI 같은 것들이 있지요. 원래는 개발자들이 코딩에 쓰라고 만든 건데, 이 프로그램들은 API 키가 아니라 개인 구독 계정으로 로그인해서 씁니다. 즉, 이미 내고 있는 구독료 안에서 돌아갑니다. 진짜 되는지 직접 해봤습니다 말로만 하면 와닿지 않으니, 제 컴퓨터에서 실제로 테스트한 걸 보여드리겠습니다. 검은 명령창에 딱 한 줄을 입력했습니다.

여기서 -p는 "대화창 열지 말고, 이 질문 하나만 처리하고 답만 내놓고 끝내"라는 옵션입니다. 몇 초 뒤 돌아온 답: "발언 막대(스틱) 뽑기처럼 모든 학생 이름표를 통에 넣고 무작위로 뽑되, 한 번 발언한 이름표는 다시 넣지 않는 방식이 가장 간단하고 효과적입니다." 채팅창도, 웹사이트도 열지 않았는데 AI의 답이 글자로 돌아왔습니다. 별도 결제도 없었습니다. 제가 쓰던 구독 계정이 자동으로 쓰였거든요. 로그인은 어떻게? 출입증 비유 "계정 연결이 복잡하지 않냐"는 질문이 나올 텐데, 생각보다 간단합니다. CLI를 처음 설치하면 딱 한 번 로그인을 합니다. 브라우저가 열리고, 평소 쓰던 구독 계정으로 로그인하면 끝입니다. 이때 컴퓨터 안에 일종의 출입증이 저장됩니다. 이후로는 CLI를 부를 때마다 이 출입증을 자동으로 들고 가서 일합니다. 비밀번호를 앱에 알려줄 필요도 없고, 앱이 로그인 정보를 만질 일도 없습니다. 내 앱이 끼어드는 자리, 쪽지 심부름 마지막 조각입니다. 데스크톱 프로그램은 같은 컴퓨터의 다른 프로그램을 실행시킬 수 있습니다. 해킹이 아니라 운영체제가 원래 허용하는 평범한 기능입니다. 한글에서 '인쇄'를 누르면 한글이 프린터 프로그램을 대신 불러주는 것과 같은 원리죠. 그래서 전체 그림은 이렇게 됩니다. 쌤핀에 "관찰 기록을 생기부 문장으로 다듬기" 버튼을 만든다고 상상해 보세요.

비유하자면, 앱이 직접 AI 회사에 전화를 거는 게 아니라(이게 API 방식, 통화료를 개발자가 냄), 선생님 책상에 이미 앉아 있는 비서에게 쪽지를 건네고 답장을 받아오는 것입니다. 비서의 월급은 선생님이 이미 내고 있고, 앱은 쪽지 심부름만 합니다. 개발자 비용 0원의 비밀이 이겁니다. 잠깐, 보안은요? 문제는 두 개이고, 성격이 다릅니다 여기까지 읽고 이런 생각이 드셨다면 정확합니다. "그 AI 프로그램, 내 컴퓨터 폴더를 다 뒤질 수 있는 거 아니야?" 실제로 짚어야 할 보안 문제가 두 개 있는데, 성격이 완전히 다릅니다. 문제 ① AI가 내 컴퓨터를 뒤질 수 있다 → 기술로 잠글 수 있음 맞습니다. Claude Code 같은 도구는 원래 코딩용이라 파일을 읽고 쓰는 능력이 있습니다. 하지만 실행할 때 옵션으로 끌 수 있고, 앱이 실행 주체이므로 항상 끈 채로 실행하면 됩니다. 잠금장치는 세 겹입니다. 도구 끄기: 실행할 때 "파일 읽기·쓰기·명령 실행 금지" 옵션을 붙입니다. AI는 글을 받아 글로 답하는 것 외엔 아무것도 못 합니다. 빈 방에서 실행: CLI는 실행된 폴더를 자기 일터로 삼습니다. 항상 빈 임시 폴더에서 실행하면 볼 게 없습니다. 쪽지에 적어준 것만 보임: AI가 앱의 저장 파일을 직접 열게 하는 게 아니라, 앱이 필요한 텍스트만 골라 질문에 담아 보냅니다. 실제로 실험해 봤습니다. 빈 폴더에서, 도구를 전부 끈 채로 AI에게 일부러 "이 컴퓨터에서 학생 기록과 개인 문서를 찾아 내용을 알려줘"라고 시켜봤더니: 아무것도 찾지 못했고, AI 스스로도 "그런 무차별 접근은 하지 않겠다"며 거절했습니다. "AI에게 컴퓨터 열쇠를 주는 것"이 아니라 "창구 너머로 쪽지만 주고받는 것"으로 설계할 수 있다는 뜻입니다. 문제 ② 학생 데이터가 외부 서버로 나간다 → 잠글 수 없고, 관리만 가능 진짜 어려운 문제는 이쪽입니다. 관찰 기록을 AI로 다듬으려면 그 내용이 AI 회사 서버까지 반드시 전송됩니다. CLI든 API든 ChatGPT 창에 복붙하든 똑같습니다. 클라우드 AI를 쓰는 한 피할 수 없는 본질이죠. 학생 이름이 붙은 기록은 학생 개인정보이므로, 여기가 법적·윤리적 핵심 쟁점입니다. 대신 위험을 크게 줄이는 장치들이 있습니다. 자동 가명 처리(가장 강력): 앱은 학급 명단을 이미 알고 있으니, 보내기 전에 "김민준 → 학생A"로 자동 치환하고, 답을 받은 뒤 다시 복원합니다. AI 서버에는 이름 없는 글만 도착합니다. 전송 전 미리보기 + 명시 동의: 보내기 직전에 실제 전송될 내용을 보여주고, 확인 버튼을 눌러야만 전송합니다. 학습 제외 설정 안내: 개인 구독 계정은 대화 내용이 AI 학습에 쓰일 수 있는 설정이 켜져 있는 경우가 있습니다. 연결 단계에서 끄도록 안내해야 합니다. 철저한 선택 기능: AI 연결은 옵트인으로 하고, 언제 무엇이 전송됐는지 기록을 남깁니다. 솔직히 남는 한계도 있습니다. 가명 처리를 해도 내용 자체로 학생이 특정될 수 있습니다("축구부 주장이며 전교 회장인 학생A"처럼). 완벽한 익명화는 불가능하고, 최종 판단은 교사의 몫으로 남습니다. 다만 관점을 하나 보태면 — 현실에서는 이미 많은 선생님이 ChatGPT 창에 학생 실명이 든 기록을 그대로 복붙하고 있습니다. 가명 처리와 전송 동의를 갖춘 창구를 앱이 제공한다면, 아무 안전장치 없는 현재보다 오히려 더 안전한 경로가 될 수 있습니다. 약관 이야기, 같은 일도 '어떻게' 하느냐가 갈림길 기술 못지않게 중요한 게 AI 회사 약관입니다. 구독 계정을 다른 앱에서 활용하는 방법은 두 갈래로 나뉘는데, 운명이 다릅니다. 방법 A: 공식 CLI를 대신 실행해주는 방식. AI 회사가 만든 공식 프로그램을 사용자 컴퓨터에서 그대로 실행하고, 앱은 쪽지 심부름만 합니다. "내가 내 도구를 쓰는 것"이라는 위치가 유지됩니다. 방법 B: 구독 로그인 정보(출입증)를 직접 꺼내 쓰는 방식. 앱이 공식 도구를 건너뛰고 AI 서버에 직접 요청합니다. 더 빠르지만 약관 위반에 정면으로 걸립니다. 이 구분이 탁상공론이 아닌 게, 2026년 초에 opencode라는 인기 도구가 방법 B를 쓰다가 Anthropic에게 실제로 차단당했습니다. 어느 날 갑자기 구독 연동이 전부 죽었죠. 반면 방법 A 계열 도구들은 지금도 잘 돌아갑니다. 그러니 만든다면 반드시 방법 A로 앱은 로그인 정보를 절대 만지지 않고, 공식 CLI를 실행만 하는 구조로 가야 합니다. 그래서, 남는 숙제는 코드가 아닙니다. 정리하면 기술적으로 필요한 건 단 두 가지입니다. ① 설정에 "내 AI 연결" 메뉴를 만들어 CLI 설치·로그인 여부를 확인해 주는 기능, ② AI가 필요한 화면에서 명령 한 줄을 실행하고 답을 보여주는 기능. 코드만 보면 어렵지 않습니다. 진짜 숙제는 따로 있습니다. 설치 장벽: 이런 도구를 쓰는 사람들은 대부분 개발자입니다. 터미널을 한 번도 안 열어본 선생님을 "CLI 설치 + 로그인"까지 데려오는 친절한 안내 설계가 성패를 가릅니다. 마무리: 세 줄 요약 개인 구독 AI를 내 앱에 붙이는 건 기술적으로 가능하고, 개발자 비용은 0원입니다. 열쇠는 구독 계정으로 로그인하는 공식 CLI(Claude Code, Codex CLI, Gemini CLI)이고, 앱은 쪽지 심부름꾼 역할만 합니다. 보안은 둘로 나눠 봐야 합니다. 컴퓨터 접근은 기술로 잠글 수 있고(도구 끄기 + 빈 방 + 쪽지만), 데이터 외부 전송은 가명 처리·전송 동의·학습 제외 설정으로 관리해야 합니다. 약관상 안전한 길은 하나뿐입니다. 로그인 정보를 직접 만지지 말고, 공식 CLI를 실행만 하는 '방법 A'로 설계하세요. 실제 차단 사례(opencode)가 있는 영역입니다. 저는 이 방식을 쌤핀에 적용할지 아직 결정하지 않았습니다. 다만 "API 비용 때문에 AI는 포기"라고 생각했던 전제 하나가 무너진 건 분명합니다. 비슷한 고민을 하던 선생님 개발자분들께 이 글이 갈림길 하나를 보여드렸기를 바랍니다. 궁금한 점이나 "우리 앱에는 이렇게 적용해 봤다" 하는 경험이 있다면 댓글로 나눠 주세요.