로컬 LLM 구축

LLM 에이전트 반복 지시 자동화: 스킬과 메모리 활용법

AI 로컬 LLM 2026. 9. 4. 16:49

처음엔 에이전트에게 매번 같은 지시를 반복하는 게 일이었다. "새로운 블로그 소재를 찾으려면 이렇게 해라", "이 자료를 가져오면 어떤 형식으로 정리해라" 같은 식이었다. 몇 번이야 괜찮지만, 똑같은 지시를 수십 번 말하고 나면 나도 지치고 에이전트도 매번 새로운 맥락에서 다시 학습하는 기분이었다. 말 그대로 비효율의 연속이었고, 효율이 땅에 떨어지는 건 둘째 치고 그냥 스트레스였다.

그러다 문득, 내가 프로그래밍할 때 반복되는 코드를 함수로 만드는 것처럼, 에이전트에게도 이런 '함수' 개념을 적용할 수 있지 않을까 싶었다. 에이전트 시스템 문서를 뒤지다가 ~/.hermes/skills/ 디렉터리를 발견했고, 여기에 SKILL.md 파일을 만들어서 특정 작업을 수행하는 절차를 저장할 수 있었다. 마치 에이전트에게 특수 기술을 가르치는 것과 같았는데, '로컬 조사 스킬'이라는 걸 처음 만들어 "특정 키워드로 내부 프로젝트 저장소의 자료를 탐색하고, 관련 문서를 Markdown 형식으로 요약해라" 같은 절차를 담았다. 한번 가르치고 나니 다음부터는 그 스킬 이름을 부르기만 하면 됐다. 매번 수십 줄짜리 지시문을 다시 입력하지 않아도 되는 해방감이란 대단했고, 단순히 시간 절약을 넘어선 일이었다.

 

스킬 덕분에 반복 작업 부담은 줄었지만, 또 다른 난관인 에이전트의 '메모리' 문제에 부딪혔다. 에이전트가 배운 사실이나 개인 정보를 저장하는 공간인데, 여기에 내가 "앞으로는 모든 작업을 이 방식으로만 진행해라" 같은 명령조의 문장을 넣어버린 것이 발단이었다. 결과는 참담했고, 에이전트가 이 메모리 내용을 마치 '절대 지침'처럼 오해해서 내가 다른 방식으로 지시해도 고집스럽게 메모리대로 행동하는 일이 벌어졌다. 심지어 "이전에 내가 말했던 방식 말고, 지금 말하는 대로 해봐"라고 해도 메모리를 앞세워 "이미 저는 이 방식으로 학습되어 있습니다" 같은 답이 돌아왔고, 결국 몇 시간을 날렸다. 나중에야 깨달았다. 메모리는 사실(declarative fact) 위주로 저장해야 했다. "나는 이 에이전트의 사용자다", "프로젝트 HubBridge는 2026년 4월 15일 완료되었다"처럼 변경되지 않는 정보만 넣는 게 좋았다. 지시문은 스킬이나 직접적인 프롬프트로만 줘야 했다.

 

에이전트를 돌리다 보면 가끔 알 수 없는 이유로 세션이 리셋될 때가 있었다. 특히 지난번에는 에이전트의 압축 모델(compression.model) 설정을 잘못 건드려 3일 내내 에이전트가 엉뚱한 대답만 내뱉는 바람에 애를 먹었다. 결국 gpt-5.4-mini로 바꾸고 나서야 정상으로 돌아왔다. 이런 경험 때문에 세션이 날아갈 때마다 '그동안 가르친 스킬이랑 메모리도 다 사라지는 거 아닌가' 하고 조마조마했다. 다행히도 스킬과 메모리는 세션과 독립적으로 유지됐다. 한번 배워놓으면 에이전트가 재시작돼도 기억하고 있었고, 마치 숙련된 조수가 잠깐 휴가를 다녀와도 자기 업무를 잊지 않는 것과 같았다. 덕분에 '발음 QA 스킬' 같은 것도 한번 만들어두니 계속 유용하게 써먹을 수 있었다.

 

 

수동으로 하나씩 가르치던 일을 스킬과 메모리로 넘겨보니, 에이전트의 작업 효율이 눈에 띄게 올랐다. 매일 아침 자동화 스크립트가 돌아가며 !조사 명령을 에이전트에게 보낼 때도, 이제는 내가 매번 "트렌드를 이렇게 저렇게 조사해라"하고 설명할 필요가 없어졌다. 에이전트가 스스로 로컬 조사 스킬을 호출해서 필요한 정보를 찾아낸다. 물론 아직도 SearXNG 같은 외부 도구를 너무 빨리 연속 호출하면 일시 정지되는 등 자잘한 문제는 있지만, 적어도 반복적인 설명은 많이 줄었다.

에이전트의 반복 작업은 스킬로, 변치 않는 정보는 선언적 메모리로 체계화해야 효율을 극대화할 수 있었다.

삽질 로그 — 직접 겪고 씁니다