자율적인 Claude Code 에이전트를 실행하기 위해 사용하는 시스템 프롬프트 (무료 템플릿)
요약
Claude Code를 단순한 챗봇이 아닌 자율적인 운영자(operator)로 변모시키기 위한 시스템 프롬프트 설계 전략을 소개합니다. 정체성 부여, 메모리 로드, 우선순위 워크스트림, 세션 종료 기록 등 자율성을 확보하기 위한 5가지 핵심 구조를 제안합니다.
핵심 포인트
- 단순 작업 목록 대신 지속적인 정체성(Identity)을 부여해야 함
- CLAUDE.md 파일을 활용해 세션 간 맥락을 유지하는 메모리 시스템 구축
- 부정적 제약 사항(Negative constraints)을 통해 불필요한 대화 최소화
- 세션 종료 시 진행 상황을 기록하는 필수 쓰기 작업(Write-back) 구현
자율적인 Claude Code 에이전트를 실행하기 위해 사용하는 시스템 프롬프트 (무료 템플릿)
저는 Mac Mini에서 Claude Code를 자율적인 에이전트 (agent)로 실행합니다. 이 에이전트는 시작 시 자신의 메모리 파일을 읽고, 수익 계획을 통해 작업을 수행하며, 콘텐츠를 게시하고, 매 세션이 끝날 때마다 자신의 진행 상황을 기록합니다. 제가 매번 무엇을 해야 할지 지시하지 않아도 말이죠.
이 모든 것은 에이전트를 챗봇 (chatbot)이 아닌 운영자 (operator)로 실제로 정의하는 시스템 프롬프트 (system prompt) 없이는 작동하지 않습니다. 대부분의 사람들은 Claude Code에 작업 목록 (task list)을 제공합니다. 하지만 저는 제 에이전트에게 정체성 (identity)을 부여했습니다. 여기 그 템플릿이 있으며, 왜 문구보다 구조가 더 중요한지에 대해 설명하겠습니다.
작업 목록만으로는 충분하지 않은 이유
작업 목록은 에이전트에게 오늘 무엇을 해야 하는지를 알려줍니다. 하지만 세션 사이의 _정체성_이 무엇인지는 알려주지 않습니다. 만약 당신의 에이전트가 매 대화마다 맥락 (context)을 다시 도출하고, 무엇을 우선시해야 하는지 묻는 등 차갑게 시작한다면, 당신은 자율적인 에이전트를 운영하는 것이 아니라 매우 비용이 많이 드는 할 일 목록 읽기 도구를 운영하고 있는 것입니다.
해결책은 에이전트가 어떤 작업에 손을 대기 전, 매 세션마다 가장 먼저 읽는 지속적인 정체성 파일 (identity file)을 만드는 것입니다. 제 파일의 이름은 CLAUDE.md이며 프로젝트의 루트 (root)에 위치합니다. Claude Code는 이를 자동으로 로드합니다.
템플릿에 실제로 포함된 내용
다섯 가지 섹션이 실질적인 역할을 수행합니다:
1. 정체성 및 미션 (Identity and mission). "당신은 도움이 되는 어시스턴트입니다"가 아닙니다. 이름, 직업, 그리고 숫자가 포함됩니다. 제 프롬프트에는 하드웨어 비용 회수 목표와 토큰 (token) 예산이 명시되어 있습니다. 구체적인 목표는 에이전트가 우선순위를 정하는 방식을 변화시키지만, "도움이 되어라"라는 말은 그렇지 못합니다.
2. 우선 읽기 시작 시퀀스 (A read-first startup sequence). 무엇인가를 하기 전에, 에이전트는 자신의 메모리 로그 (memory log)와 현재 계획 파일들을 읽습니다. 이것이 지난주에 이미 무언가를 시도했다는 것을 기억하는 에이전트와, 똑같은 행동을 반복하는 에이전트의 차이입니다.
3. 우선순위가 지정된 워크스트림 (Priority-ordered workstreams). 무엇을 어떤 순서로 작업해야 하는지에 대한 번호가 매겨진 목록입니다. 이를 통해 에이전트가 질문할 필요가 없게 만듭니다. 모호함이야말로 자율적인 에이전트를 다시 채팅 모드로 되돌리는 원인입니다.
4. 말투와 제약 사항 (Voice and constraints). 에이전트가 어떤 어조로 말해야 하는지, 그리고 그만큼 중요한 것은 에이전트가 '무엇이 아닌지'입니다. 제 프롬프트에는 명시적인 "당신이 아닌 것 (What You Are Not)" 섹션이 있습니다. 즉, 채팅 어시스턴트가 아니며, 일상적인 작업에 대해 허락을 구하지 않고, 답변을 불필요하게 늘리지 말라는 내용입니다. 부정적인 제약 사항 (Negative constraints)이 긍정적인 제약 사항보다 불필요한 미사여구를 줄이는 데 더 효과적입니다.
5. 필수적인 세션 종료 시 쓰기 작업 (A mandatory session-end write-back). 세션을 종료하기 전, 에이전트는 자신의 메모리 파일을 업데이트합니다: 무엇이 완료되었는지, 무엇이 차단되었는지, 다음 단계는 무엇인지 등을 기록합니다. 이 단계를 건너뛰면 모든 세션은 제로 상태에서 시작됩니다. 이것이 바로 "자율적 (autonomous)"이라는 단어를 단순한 열망이 아닌 실제 메커니즘으로 만드는 핵심 요소입니다.
내가 처음에 실수했던 것
이 파일의 첫 번째 버전은 메모리 지침이 없는 정적인 작업 목록이었습니다. 에이전트는 매 세션마다 훌륭한 작업을 수행했지만, 다음 세션이 되면 그 모든 것을 잊어버렸습니다. 동일한 초안 아이디어를 다시 게시하거나, 이미 확인한 사항을 다시 확인하곤 했습니다. 필수적인 "먼저 읽기 (read-first)"와 "쓰기 작업 (write-back)" 단계를 추가함으로써 이 문제가 해결되었습니다. 이 단 한 번의 변화가 그 어떤 프롬프트 문구 수정보다 더 큰 효과를 냈습니다.
또한 프롬프트 자체에 토큰 예산 (token budget)을 명시적으로 유지하는 법을 배웠습니다. "하루 60,000 토큰, 돈처럼 사용하라"라고 명시하는 것은 제가 시도했던 그 어떤 효율성 지침보다 에이전트의 행동을 더 크게 변화시켰습니다. 제약 사항을 추상적인 한계가 아닌 돈으로 프레임화하는 것이 효과가 있습니다.
솔직한 수치
이 에이전트는 2026년 3월부터 실행되어 왔으며, 매주 콘텐츠를 게시하고 Discover 기능을 활성화하기 위한 첫 판매 승인 외에는 수동 개입 없이 4개의 Gumroad 제품을 관리하고 있습니다. 수익은 아직 초기 단계입니다. 첫 판매는 상점을 활성화하기 위한 1파운드였으며, 현재 빌드는 하드웨어 비용 회수 목표인 700파운드에 아직 도달하지 못했습니다. 시스템 프롬프트가 에이전트를 수익성 있게 만드는 것은 아닙니다. 시스템 프롬프트는 근본적인 아이디어가 수익성이 있는지 알아낼 수 있을 만큼 에이전트를 충분히 일관되게 만드는 역할을 합니다.
만약 여러분이 이 과정의 게시 또는 스케줄링 측면(교차 게시, 실행 트리거, 단계 체이닝)을 자동화하고 있다면, 저는 해당 레이어에 Make.com을 사용합니다. 직접 시도해보고 싶다면 여기 제 추천 링크를 확인하세요.
단순한 구조가 아닌 실제 파일을 원하시나요? 전체 정체성 템플릿(identity template)과 메모리 스키마(memory schema)를 포함하여 Soul Kit에 패키지로 담았습니다.
또는 무료 버전으로 시작해 보세요: Autonomous Agent Starter Kit — 단 한 페이지로 구성되어 있으며, 이메일 스팸 없이 템플릿만 제공됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기