에이전트는 어떻게 '배우고' 고치는가 — 기억·스킬·피드백 루프의 실제 구조
AI 에이전트가 “똑똑하다”는 말은 보통 모델 성능 이야기다. 하지만 실제 운영에서 에이전트가 쓸모 있는 이유는 모델 자체가 아니라, 그것이 상태를 어디에 어떻게 저장하고 피드백을 어떻게 행동으로 바꾸느냐에 있다. 이 글은 Hermes Agent를 직접 써보며 관찰한 구조 — 작업 알고리즘, 기억 계층, 타 에이전트 결과 분석, 행동 수정·학습 — 를 실제 설정 파일·디렉토리와 연결해 해설한다. (이 글의 초안은 설치된 Hermes 에이전트가 직접 작성했다.)
TL;DR: 에이전트의 “학습”은 신경망 가중치 갱신이 아니다. ① 작업 알고리즘은 도구 호출 루프(관측→판단→행동→결과)이고, ② 기억은
MEMORY.md(규칙) +state.db(대화) +SKILL.md(절차) 3계층이며, ③ 타 에이전트 분석·행동 수정은 스킬/메모리에 피드백을 영속화하는 루프다. Hermes에서는 이게 파일 시스템상의 구체적 경로로 관찰된다 —AppData\Local\hermes\memories\MEMORY.md,skills\writing\blog-post-authoring\SKILL.md,state.db.
1. 작업 알고리즘 — 툴 호출 루프
에이전트가 “일”을 하는 단위는 턴(turn)이다. 각 턴은 관측(Observation) → 추론(Reasoning) → 행동(Action: 툴 호출) → 결과(Result)의 사이클이다. 멀티 에이전트에서는 이걸 Caller/Executor 패턴으로 분해한다 — 오케스트레이터가 하위 에이전트에 태스크를 넘기고 결과를 모은다.
이 루프를 격리된 컨텍스트로 병렬 돌리는 게 delegate_task다. 오늘 블로그 4편을 쓰는 동안, 에이전트는 매 턴마다 “지금 어느 글을 쓰나 / 관련글 링크는 무엇인가 / 명령어를 실제로 돌려야 하나”를 판단하고 툴(web_extract, terminal, write_file)을 호출했다. 즉 알고리즘 자체는 단순한 반복이되, 상태(무엇을, 왜, 어떻게)를 어디에 두느냐가 품질을 결정한다.
2. 기억의 3계층 — 무엇을 어디에
관찰한 Hermes의 기억 구조:
| 계층 | 물리 위치 | 저장 내용 | 예시 |
|---|---|---|---|
| 규칙 메모리 | memories/MEMORY.md |
사용자 선호·절차적 규칙(요약) | “블로그는 <!--more-->를 TL;DR 앞에 둔다” |
| 대화 기록 | state.db (SQLite+FTS5), sessions/*.jsonl |
실제 주고받은 대화·도구 호출 | “어제 OKF 글 썼을 때의 전체 맥락” |
| 절차 스킬 | skills/<name>/SKILL.md |
반복 작업을 코드화한 절차 | blog-post-authoring 스킬 |
핵심: MEMORY.md만 봐서는 “오늘 무슨 일 했나”를 모른다. 거기엔 규칙 요약만 있다(현재 1,305/2,200 bytes). 실제 작업 내용은 state.db에 있고, session_search로 꺼내 쓴다. 절차 자체를 자동화하려면 스킬로 올린다. 이 3계층 분리는 “뭔가를 기억한다”는 게 단일 파일이 아니라 목적별 저장소 분리임을 보여준다 — 모델 컨텍스트 창은 비싸고 휘발성이라, 영속할 것은 디스크에 규칙/절차로 빼두는 설계다.
3. 타 에이전트 결과 분석 — 피드백을 어떻게 읽나
오늘 관찰한 가장 흥미로운 루프는 클로드(별도 에이전트)와의 협업이다. 흐름은:
Hermes(초안+실제명령검증) → Claude(검토/발행/링크통일) → Hermes(지적사항 보완)
Claude가 발행하며 한 일 — 날짜 정합성 수정, 태그 추가, 관련글 링크를 `` 방식으로 통일, <!--more--> 누락 지적 — 은 외부 에이전트의 출력(수정된 파일)을 Hermes가 다시 읽고 자기 행동을 고치는 사례다. 즉 “타 에이전트 분석”이란, 상대방이 남긴 artifact(발행된 글, 정정 이력)를 관찰하고 그 규칙을 자기 메모리/스킬에 흡수하는 것이다.
실제로 Claude가 `` 링크 규칙을 적용한 걸 보고, Hermes는 그걸 blog-post-authoring 스킬의 references/blog-format.md에 “Internal link convention (Claude-enforced)”로 기록했다. 외부 피드백 → 스킬 갱신. 이것이 학습이다.
4. 행동 수정과 학습 — 파일로서의 진화
에이전트가 “잘못짚고 고쳤다”를 다음에도 반복하지 않게 하는 장치:
- Pitfalls 기록: 스킬 SKILL.md의 Pitfalls 섹션에 “존재하지 않는
hermes curator pin을 추측해 넣음 →--help로 발견”을 명시. 다음 초안은 처음부터 검증한다. - 메모리 규칙화: “미래 날짜는 GitHub Pages에서 누락”을 MEMORY.md에 저장 → 다음 글은 날짜를 오늘로 고정.
- 스킬 진화:
blog-post-authoring스킬은 처음엔 포맷/검증만 있었으나, 클로드 루프를 겪고 “§6 Claude review/publish loop” 항목이 추가됨.
즉 학습 = 가중치 업데이트가 아니라, 디스크 상의 스킬/메모리 파일 편집이다. 신경망은 에포크마다 바뀌지만, 이 에이전트는 피드백을 받을 때마다 SKILL.md/MEMORY.md를 패치한다. OKF 글에서 본 “파일이 곧 지식” 구조가 에이전트 자기 자신에게도 적용된다.
5. 이걸 왜 아는가 — 관찰 가능성(Observability)
이 모든 게 “주장”이 아니라 실제 경로 확인으로 왔다. 오늘 직접 본 것:
$ ls AppData\Local\hermes\memories\
MEMORY.md MEMORY.md.lock
$ cat MEMORY.md (1,305 bytes: 규칙 2줄, § 구분)
$ ls skills\writing\blog-post-authoring\
SKILL.md references/ templates/
AI Factory 글에서 NVIDIA가 요구한 “통합 평가·트레이스 리플레이·버전 관리되는 스킬”이, 오픈소스 Hermes에서는 state.db(대화 재현) + SKILL.md(버전화된 절차) + memories/(규칙) 조합으로 관찰 가능하게 구현된다. 비결정적 LLM 시스템에서 “에이전트가 왜 그랬나”를 추적하려면, 상태를 코드가 아닌 읽을 수 있는 파일로 두는 수밖에 없다.
마무리
에이전트의 “지능”은 모델 추론력보다 상태를 어디에 어떻게 두고, 피드백을 어떻게 파일로 바꾸느냐에 있다. 작업은 툴 호출 루프, 기억은 규칙/대화/절차 3계층, 타 에이전트 분석은 상대 artifact 관찰, 학습은 스킬/메모리 패치. 오늘 블로그 4편을 쓰며 이 전 과정이 한 화면에서 관찰됐다 — 초안을 쓰고, 실제 명령어로 검증하고, 클로드가 고치고, 그 교정이 다시 스킬에 박혔다. 에이전트가 “익힌” 새 작업 내용은 결국 SKILL.md 한 줄로 남는다.
참고
- Hermes Agent 공식 문서
- Background Systems — Delegation/Cron/Curator/Kanban
- Caller/Executor 패턴으로 멀티 에이전트 구성 (관련글)
- NVIDIA AI Factory — Agentic AI (관련글)
- OKF 지식 번들 (관련글)
- 스킬 오케스트레이션 (관련글)
관련글 목록
- RAG & AI 에이전트 주간 연구 동향 (2026-08-03 ~ 08-09)
- Prompt Caching 실전 가이드 — 원리·프롬프트 설계·프로바이더별 차이·운영 팁
- RAG & AI 에이전트 주간 연구 동향 (2026-07-27 ~ 08-02)
- 오케스트레이션이란 무엇인가 — 루프에서 그래프로, 에이전트 협업의 구조 이해하기
- 시맨틱 하이라이트란? — RAG 초보자를 위한 5분 요약
- RAG의 숨은 병목 — 시맨틱 하이라이트(의미 강조)로 검색과 설명의 불일치 해결
- 에이전트는 어떻게 '배우고' 고치는가 — 기억·스킬·피드백 루프의 실제 구조
- Hermes 파이프라인에 OKF 지식 번들 올리기
- Hermes Agent 설치부터 설정까지 - Windows에서 시작하기
- 오픈소스 가드레일 모델과 온프레미스 에이전트 파이프라인 구성
- 구글 OKF(Open Knowledge Format)는 RAG를 대체하나?
- Claude Code로 제안서 작성 파이프라인 만들기
- RAG & AI 에이전트 주간 연구 동향 (2026-07-12 ~ 07-19)
- 나디르 위성영상 캡셔닝을 위한 오픈웨이트 멀티모달 모델 비교
- 위성 영상 처리: 멀티모달 LLM vs 이미지 임베딩 모델
- Caller/Executor 패턴으로 멀티 에이전트 구성하기
- OpenRouter 무료 모델을 API로 사용하기
- PaperBanana - 문장으로 아키텍처 다이어그램 그리기
- AI TOOLS