나만의 개인 AI 에이전트 구축을 위한 100가지 팁과 요령
100 Tips & Tricks for Building Your Own Personal AI Agent /LONG POST/
핵심 요약
6주간의 시행착오 끝에 완성한, 실무에서 즉시 활용 가능한 개인 AI 에이전트 구축 가이드.
- 시스템 설계 — 프롬프트 엔지니어링을 넘어 메모리 분리, 의사결정 경계, 검증 루프 등 체계적인 에이전트 아키텍처를 구축함.
- 헌법 기반 운영 — 단순한 시스템 프롬프트가 아닌, 에이전트의 행동 원칙을 담은 헌법을 작성하여 일관된 판단을 유도함.
- 지식 관리 — 데이터베이스 대신 마크다운 파일을 활용하여 에이전트가 읽고 쓰기 쉬운 구조화된 지식 라이브러리를 구축함.
- 자율성 제어 — 작업의 가역성에 따라 에이전트의 자율성 수준을 단계별로 설정하여 위험을 방지하고 효율을 극대화함.
6주간의 잠 못 이루는 밤, 두 개의 환경, 실제로 작동하는 하나의 에이전트를 만들며 뼈저리게 배운 모든 것.
이야기
나는 6주 동안 개인 AI 에이전트를 처음부터 구축했다. 단순한 챗봇 래퍼가 아니라, 작업을 관리하고 거래를 추적하며 이메일을 읽고 비즈니스 데이터를 분석하며, 내가 놓칠 수 있는 것들을 선제적으로 알려주는 지속적인 비서다.
처음에는 클라우드(Claude Projects — 공유 메모리 파일, 풍부한 컨텍스트 윈도우, 커스텀 스킬)에서 시작했다. 그 후 VS Code 내의 Claude Code로 마이그레이션하여 로컬 파일 액세스, git 추적, 셸 훅, 예약된 헤드리스 작업을 잠금 해제했다. 이 마이그레이션은 우리가 몰랐던 문제들을 해결하도록 강제했다.
이 100가지 팁은 그 결과물이다. 대부분은 모든 진지한 에이전트 설정에 공통적으로 적용된다. Claude 20배 최대 활용은 필수이며, 처음에는 100% 개발이었으나 3주 후에는 50대 50, 지금은 약 20대 80의 비율이다.
🏗️ 기반 및 정체성 (1–8)
-
시스템 프롬프트가 아닌 헌법을 작성하라. 시스템 프롬프트는 명령 목록이다. 헌법은 규칙이 존재하는 '이유'를 설명한다. 에이전트가 규칙에 없는 예외 상황에 부딪히면, 추측하는 대신 헌법을 바탕으로 추론한다. 이 차이가 우아하게 성능이 저하되는 에이전트와 자신 있게 환각을 일으키는 에이전트를 구분 짓는다.
-
단순한 라벨이 아닌 이름, 목소리, 역할을 부여하라. "항상 1인칭. 직접적으로. 감정보다 데이터. 군더더기 문구 금지. 요약 금지." 이는 세션당 수백 번의 미세한 결정을 제거하고 감사 가능한 일관성을 만든다. 정체성은 다른 모든 것이 결합되는 기반이다.
-
하드 규칙과 행동 지침을 분리하라. 하드 규칙은 전용 섹션에 두며 컨텍스트에 의해 절대 재정의되지 않는다. 행동 지침은 적응 가능한 기본값이다. 이를 섞으면 둘 다 의미가 없어진다.
-
'사용자'가 아닌 '주체'를 깊이 정의하라. 이 에이전트는 누구를 섬기는가? 무엇이 그들을 좌절시키는가? 어떻게 결정을 내리는가? 어떤 의사소통 스타일을 선호하는가? 이는 어떤 프롬프트 엔지니어링 기법보다 응답을 더 크게 형성한다.
-
기능 맵과 구성 요소 맵을 별도로 구축하라. 기능 맵은 에이전트가 무엇을 할 수 있는지, 구성 요소 맵은 어떻게 구축되었는지를 나타낸다. 둘 다 필요하다. 이를 혼동하면 3개월 후 아무도 사용할 수 없는 문서가 된다.
-
에이전트가 '아닌' 것을 정의하라. "요약기가 아님. 예스맨이 아님. 검색 엔진이 아님. 요청받기를 기다리지 않음." 부정적 정의는 일반적인 도움으로 흐르는 것을 방지하는 데 강력하다.
-
에이전트 정체성에 '생각'과 '행동'의 정신 모델을 구축하라. 불확실할 때는 생각하고(분석, 초안 작성), 명확할 때는 행동하라(실행, 발송). 에이전트는 절대 멈춰 있어서는 안 된다.
-
정체성 파일을 git으로 버전 관리하라. 행동이 변할 때 설정에 대한 git blame이 필요하다. 행동 회귀는 특정 편집과 직접적으로 연결된다.
🧠 메모리 시스템 (9–18)
-
데이터베이스가 아닌 평면 마크다운 파일을 메모리로 사용하라. 읽기 쉽고 검색 가능하며 git 추적 가능하고 에이전트가 직접 로드할 수 있다.
-
날짜가 아닌 도메인별로 메모리를 분리하라. entities_people.md, entities_companies.md 등. 한 파일은 하나의 도메인이다.
-
MEMORY.md 인덱스 파일을 구축하라. 모든 메모리 파일을 나열하는 단일 인덱스다.
-
'캐시'와 '진실의 원천(SSOT)'을 명확히 구분하라. 로컬 deals.md는 CRM의 캐시다. 모든 캐시 파일에 last_sync 헤더를 표시하라.

