
Agent 프롬프트를 매번 다시 읽지 않게 만드는 방법
공개 로그로그 요약
본문과 댓글은 @dimohy의 #mcp 태그, Slogs LLM Wiki 시리즈, 리비전 v2, 2개 이전/다음 로그에 이어진 지식 로그입니다.
Slogs MCP 프롬프트 동기화를 주기 스케줄이 아니라 세션 시작 버전 체크로 설계한 이유와 구현 규칙을 정리합니다.

Agent 정책 프롬프트는 길어지기 쉽다. 처음에는 설치 안내, MCP 연결 방법, 기억 조회 규칙, 저장 규칙, 예외 상황까지 모두 넣어야 하므로 자연스럽다. 문제는 이 프롬프트가 전역 AGENTS.md 같은 영구 지침에 들어가면 매 세션마다 토큰을 잡아먹는다는 점이다.
Slogs MCP 프롬프트도 같은 문제를 겪었다. 기능은 유지해야 하지만, 전역 Agent 정책은 훨씬 작아져야 했다. 그래서 Slogs는 “전체 프롬프트를 매번 읽는 방식”이 아니라 “세션 시작 시 버전만 확인하는 방식”으로 바꿨다.
목표는 압축이지 기능 삭제가 아니다
프롬프트를 compact하게 만든다고 해서 정책을 삭제하면 안 된다. 줄여야 하는 것은 중복 설명이고, 유지해야 하는 것은 동작 계약이다.
Slogs MCP 프롬프트에서 유지해야 했던 핵심 계약은 다음과 같다.
- 처음 설치 시 MCP 키를 다시 묻는 조건
- 전역/프로젝트/현재 세션 적용 범위 선택
- 토큰을 문서, 로그, LLM Wiki에 기록하지 않는 규칙
- 이전 결정/선호/프로젝트 맥락은 LLM Wiki를 먼저 조회하는 규칙
- 저장 전 관련 기억을 찾고 병합/갱신하는 규칙
- categoryPath를 명시하는 규칙
- 프롬프트 버전 동기화 규칙
compact 버전은 이 계약을 짧게 표현할 뿐, 기능을 줄이지 않는다.
세션 시작에는 한 줄 버전만 확인한다
핵심은 slogs-mcp.version 엔드포인트다.
세션이 시작되면 Agent나 동기화 스크립트는 먼저 다음 URL의 한 줄 버전 텍스트만 읽는다.
https://slogs.dev/prompts/slogs-mcp.version
그 다음 로컬 지침 파일에 설치된 SLOGS_MCP_PROMPT 관리 블록의 version과 비교한다.
- 버전이 같으면 전체 프롬프트를 읽지 않는다.
- 파일을 다시 쓰지 않는다.
- 키 요청을 반복하지 않는다.
- 적용 범위 질문도 반복하지 않는다.
이 규칙 하나로 평소 세션 시작 비용이 작아진다. 대부분의 세션에서는 한 줄 버전 확인만 하고 기존 정책으로 바로 작업하면 된다.
버전이 다를 때만 전체 Markdown을 읽는다
서버 버전과 로컬 버전이 다르거나, 로컬 블록에 버전이 없을 때만 전체 프롬프트를 읽는다.
https://slogs.dev/prompts/slogs-mcp.ko.md
읽은 뒤에는 기존 SLOGS_MCP_PROMPT 관리 블록을 같은 위치에서 교체한다. 전역에 설치된 블록은 전역 지침에서, 프로젝트에 설치된 블록은 프로젝트 지침에서 갱신한다.
중요한 점은 누적 추가가 아니라 교체라는 것이다. 같은 정책이 여러 번 붙으면 Agent는 어떤 문장을 더 우선해야 하는지 알기 어렵다. 관리 블록은 하나만 있어야 한다.
이것은 스케줄러가 아니다
처음에는 SlogsMcpPromptSync라는 이름 때문에 주기적 스케줄처럼 보일 수 있었다. 하지만 의도는 백그라운드 스케줄이 아니다.
Slogs의 현재 정책은 명확하다.
- Windows Scheduled Task로 반복 등록하지 않는다.
- 일정 시간마다 자동 갱신하지 않는다.
- 세션 시작 시 버전이 다를 때만 동기화한다.
- 버전이 같으면 전체 프롬프트를 fetch하지 않는다.
Agent 정책은 사용자가 작업을 시작하는 시점에 맞춰 최신이면 충분하다. 백그라운드에서 몰래 지침 파일을 바꾸면 디버깅이 어려워지고, 사용자가 보지 않는 시점에 정책이 변할 수 있다.
해시와 관리 블록이 필요한 이유
Slogs 관리 블록은 URL, version, sha256, updated 값을 헤더에 둔다. 버전만으로도 동기화 판단은 가능하지만, 해시는 실제 본문이 기대한 내용인지 검증하는 데 도움이 된다.
관리 블록의 목적은 사람이 읽기 위한 장식이 아니다. Agent와 스크립트가 다음을 명확히 알기 위한 구조다.
- 이 블록은 Slogs MCP 프롬프트가 관리한다.
- 현재 설치된 버전은 무엇이다.
- 서버와 비교할 URL은 무엇이다.
- 새 버전이 오면 이 블록만 교체하면 된다.
Agent 정책은 짧을수록 좋지만 모호하면 안 된다
프롬프트를 줄일 때 흔한 실수는 예외 규칙을 잘라내는 것이다. 하지만 실제 운영에서 중요한 부분은 대부분 예외다.
- MCP 도구가 보이지 않을 때는 tool search를 먼저 시도한다.
- 도구가 없으면 기억을 사용했다고 말하지 않는다.
- 토큰을 평문 설정에 써야 하면 먼저 사용자에게 알린다.
- 민감 정보는 LLM Wiki에 저장하지 않는다.
- 기억 저장은 remember보다 merge/update가 우선이다.
compact 프롬프트는 이런 규칙을 살리면서 설명을 줄여야 한다. 짧아졌는데 Agent 행동이 달라졌다면 실패한 압축이다.
참고 링크
- Slogs MCP prompt version: https://slogs.dev/prompts/slogs-mcp.version
- Slogs MCP Korean prompt: https://slogs.dev/prompts/slogs-mcp.ko.md
- Model Context Protocol Tools: https://modelcontextprotocol.io/specification/2025-06-18/server/tools



대화 흔적 (0)
이 로그에 댓글을 남기려면 지식 로그 홈으로 돌아가야 합니다. 지식 로그로 돌아가기
아직 이어진 댓글이 없습니다. 첫 댓글을 남겨 보세요.