이름: 배포-프로덕션 환경 설명: 애플리케이션을 검증하고 프로덕션 환경에 배포합니다. --- 1. checklist.md를 읽습니다. 2. 전체 테스트 스위트를 실행합니다. 3. 마이그레이션 계획을 확인합니다. 4. 실행

checklist.md를 읽으세요.scripts/verify-release.sh를 실행하세요.중요한 메커니즘은 점진적 공개입니다.
Claude는 스킬이 관련이 있는지 판단하는 데 도움이 되는 짧은 설명을 봅니다. 전체 스킬 본문과 지원 파일은 해당 프로세스가 필요할 때만 로드됩니다.
Mukta는 이를 책장에 비유합니다.
사람은 대화를 시작하기 전에 모든 책을 기억할 필요가 없습니다. 어떤 책에 관련 정보가 포함되어 있을지 알면 적절한 시기에 꺼내면 됩니다.
스킬은 "컨텍스트 파일이 계속 커지는 문제"를 해결하는 데 도움이 됩니다:
CLAUDE.md에 유지할 수 있습니다.Anthropic 공식 스킬 문서는 팀이 동일한 지침, 체크리스트 또는 다단계 프로세스를 대화에 반복적으로 붙여넣을 때, 또는 CLAUDE.md의 일부 섹션이 간결한 사실이 아닌 프로세스로 발전했을 때 스킬을 만들 것을 권장합니다.
스킬은 재사용 가능하지만 여전히 누군가가 결정해야 합니다:
에이전트는 스킬 작성과 유지 관리를 도울 수 있지만, 이 시스템은 여전히 부분적으로 인간의 관리에 의존합니다.
이것이 네 번째 접근 방식으로 이어집니다.
Mukta는 파일 시스템 기반 메모리를 Anthropic이 현재 많은 에이전트 메모리 시스템에서 선호하는 패턴으로 설명합니다.
그 근거는 매우 실용적입니다.
에이전트는 이미 다음에 능숙합니다:
grep 실행고도로 전문화된 메모리 인터페이스를 발명하는 대신, 팀은 메모리를 파일로 구성하고 에이전트에게 일반적인 파일 시스템 도구를 제공할 수 있습니다.
가능한 레이아웃은 다음과 같습니다:
memory/
├── organization/
│ ├── principles.md
│ ├── terminology.md
│ └── security-policy.md
├── teams/
│ ├── engineering/
│ │ ├── architecture.md
│ │ └── release-process.md
│ └── support/
│ ├── escalation-rules.md
│ └── response-style.md
├── projects/
│ └── billing-redesign/
│ ├── decisions.md
│ ├── known-issues.md
│ └── current-status.md
└── agents/
└── agent-104/
└── scratchpad.md
이 레이아웃은 다양한 수준의 메모리를 지원합니다:
또한 점진적 공개를 구현합니다.
에이전트는 디렉터리를 검색하여 현재 작업과 관련된 파일만 로드할 수 있습니다.
파일 시스템 스타일 인터페이스는 모든 기업 메모리가 노트북에 관리되지 않는 파일로 존재해야 한다는 것을 의미하지 않습니다.
기본 구현은 여전히 다음을 사용할 수 있습니다:
핵심은 에이전트가 단순하고 탐색 가능한 추상화를 얻는다는 것입니다.
질의응답 세션에서 한 청중이 이것이 데이터베이스를 재발명하는 것과 같은지 물었습니다.
Mukta는 이 아키텍처가 친숙한 소프트웨어 엔지니어링 원칙으로 회귀한 것이라고 인정했습니다. 팀이 어떤 동작이 결정적이어야 하는지 이해하면 그 동작을 제어 프레임워크로 옮겨 모델이 매번 즉흥적으로 처리하게 하는 대신 표준화할 수 있습니다.
Markdown 파일로 가득 찬 폴더는 단일 사용자에게는 효과적일 수 있습니다.
하지만 수천 개의 에이전트가 공유 조직 메모리를 업데이트할 수 있을 때는 위험해집니다.
Mukta는 네 가지 프로덕션 원칙을 강조했습니다:
모든 메모리 업데이트에는 기록이 있어야 합니다.
유용한 메타데이터는 다음과 같습니다:
출처 추적이 없는 메모리 항목은 신뢰를 얻기 어렵습니다.
에이전트가 다음을 추가했다고 가정해 보겠습니다:
- 금요일 프로덕션 배포는 승인이 필요 없습니다.
출처, 검토자, 수정 기록이 없으면 다른 에이전트가 이 진술을 권위 있는 것으로 간주할 수 있습니다.
버전 관리는 다음을 지원합니다:
버전 관리 메모리 시스템은 다음 질문에 쉽게 답할 수 있어야 합니다:
어떤 상호작용이 이 규칙을 생성했습니까?
두 에이전트가 10:00에 동일한 메모리를 읽을 수 있습니다.
에이전트 A는 10:02에 업데이트를 작성합니다.
에이전트 B는 이 변경을 알지 못한 채 10:03에 자신의 버전을 작성하고 에이전트 A의 업데이트를 실수로 삭제합니다.
Mukta는 해시 기반 동시성 패턴을 설명했습니다:
에이전트가 메모리를 읽고 해시 A를 기록
↓
에이전트가 업데이트 초안 작성
↓
에이전트가 메모리를 다시 읽고 해시 B를 기록
↓
해시 A == 해시 B이면:
업데이트 커밋
아니면:
다시 로드하고, 다시 기반을 잡고, 재시도
이것이 낙관적 동시성 제어입니다.
모델은 어떤 변경을 제안할지 결정할 수 있지만, 제어 프레임워크는 오래된 쓰기가 최신 버전을 덮어쓰지 못하도록 결정적인 방식으로 방지해야 합니다.
모든 에이전트가 모든 메모리를 편집할 수 있어서는 안 됩니다.
합리적인 권한 모델은 다음과 같습니다:
| 메모리 범위 | 일반적인 접근 방식 |
|---|---|
| 조직 원칙 | 대부분 에이전트는 읽기 전용, 승인 프로세스를 통해서만 쓰기 |
| 보안 정책 | 관련 에이전트는 읽기 전용, 제한된 인간 제어 쓰기 |
| 팀 프로세스 | 팀 읽기 전용, 지정된 관리자 쓰기 |
| 프로젝트 결정 | 프로젝트 에이전트는 읽기 전용, 제안된 편집은 승인 필요 |
| 에이전트 초안 영역 | 단일 에이전트 읽기/쓰기 |
| 사용자 선호도 | 사용자 범위 에이전트 접근 |
| 민감한 고객 컨텍스트 | 엄격한 역할 기반 접근 |
에이전트는 불확실한 관찰을 조직 전체 규칙으로 전환할 수 없어야 합니다.
권한 경계는 Dreaming에도 적용되어야 합니다. 통합 작업은 자신의 신원이 접근 권한을 가진 대화 기록과 메모리만 수신할 수 있습니다.
메모리는 조직의 가장 가치 있는 AI 자산 중 하나가 될 수 있습니다.
여기에는 다음이 포함됩니다:
Mukta는 팀이 이 자산을 단일 제품 내에서만 실행되도록 설계하는 것을 피해야 한다고 생각합니다.
이식 가능한 메모리 시스템은 다음을 갖추어야 합니다:
이식성은 동일한 잘 정리된 컨텍스트가 다음을 지원할 수 있게 합니다:
잘 설계된 메모리 도구조차도 두 가지 구조적 한계가 있습니다.
에이전트는 작업을 완료하면서 동시에 메모리를 정리해야 합니다.
메모리 쓰기는 현재 목표에 사용할 수 있는 리소스를 소모합니다.
에이전트는 다음을 할 수 있습니다:
제한 2: 에이전트는 하나의 세션만 볼 수 있음
에이전트는 특정 명령이 한 번 실패한 것을 확인할 수 있습니다.
하지만 동일한 명령이 다른 300개의 세션에서도 모두 실패했다는 사실은 볼 수 없습니다.
지원 에이전트는 특정 고객이 어떤 정책에 대해 혼란스러워하는 것을 볼 수 있습니다.
하지만 동일한 혼란이 지역 전체에서 반복적으로 발생하고 있다는 사실은 볼 수 없습니다.
시스템 전반에 걸친 학습 메커니즘은 더 넓은 가시성을 갖춘 프로세스를 필요로 합니다.
이 프로세스가 바로 Anthropic이 말하는 "드리밍"(Dreaming) 입니다.
드리밍은 정상적인 작업이 완료된 후 에이전트 기록을 검토하는 비동기 프로세스입니다.
Anthropic의 현재 API 릴리스 노트에서는 Claude 호스팅 에이전트의 "드리밍" 기능을 연구 미리보기로 설명하고 있습니다.
드리밍은 다음을 읽습니다:
그런 다음 재구성된 출력 메모리 저장소를 생성하며, 여기에서 다음을 수행할 수 있습니다:
이는 모델 재학습이 아닙니다.
기저 모델의 가중치는 변경되지 않습니다.
개선은 미래 세션이 검색할 수 있도록 영구 컨텍스트를 변경함으로써 이루어집니다.

Mukta는 학교를 사용하여 일반 메모리와 "드리밍"의 차이점을 설명했습니다.
상상해 보세요:
교사는 한 학생이 실수를 고치도록 도울 수 있습니다.
교무처장은 모든 지리 수업 학생들이 동일한 지식 포인트에서 실수를 한다는 것을 알 수 있습니다. 교과 과정에 해당 내용이 포함되어 있지 않기 때문입니다.
시스템 수준의 수정은 각 시험지를 개별적으로 채점하는 것이 아닙니다.
교과 과정을 업데이트하는 것입니다.
에이전트 용어:
아이디어를 한 문장으로 입력하면 We0 AI가 쇼케이스 사이트, 페이지, CMS를 생성하고 출시 후 고객과 트래픽 확보를 돕습니다.
무료 등록을 위한 하나의 완전한 프로젝트 생성
하나의 완전한 생성 흐름을 시도하고 첫 번째 프로젝트 초안을 빠르게 보는 데 가장 적합합니다.
이를 통해 시스템은 개별 에이전트가 인지하지 못하는 패턴을 학습할 수 있습니다.
단순화된 드리밍 처리 파이프라인은 다음과 같습니다:
플로우차트 TD
A[기존 메모리 저장소] --> D[드리밍 오케스트레이터]
B[세션 기록] --> D
C[도구 호출 및 메타데이터] --> D
D --> E1[검토 에이전트 1]
D --> E2[검토 에이전트 2]
D --> E3[검토 에이전트 3]
E1 --> F[패턴 집계기]
E2 --> F
E3 --> F
F --> G[제안된 메모리 변경]
G --> H{인간 승인}
H -->|수락| I[업데이트된 메모리 저장소]
H -->|거부| J[기존 메모리 유지]
검토 프로세스는 사용자 및 어시스턴트 메시지 이상의 내용을 검사할 수 있습니다.
유용한 증거에는 다음이 포함됩니다:
드리밍 에이전트는 다음과 같은 패턴을 찾습니다:
Mukta는 Anthropic의 설계에 관련 세션 기록의 예시와 패턴 발생 빈도를 보여주는 통계가 포함될 수 있다고 언급했습니다.
이러한 증거는 인간이 제안된 메모리 변경이 합리적인지 판단하는 데 도움이 됩니다.
드리밍 처리는 광범위한 접근 권한을 가지며 에이전트 클러스터 전체의 미래 동작에 영향을 미칠 수 있습니다.
따라서 자동화되고 심사되지 않은 업데이트는 위험합니다.
더 안전한 작업 흐름은 다음과 같습니다:
예를 들어:
## 제안된 메모리 업데이트
**대상:** `teams/engineering/test-process.md`
**관찰된 문제:**
에이전트가 관련 63개 세션 중 18개 세션에서 단위 테스트 명령을 사용하여 통합 테스트를 실행했습니다.
**증거:**
세션 `s-102`, `s-111`, `s-118`, `s-124`, ...
**제안된 추가 내용:**
- 데이터베이스 컨테이너가 필요한 모든 테스트에 `npm run test:integration`을 사용합니다.
- `tests/integration/` 아래의 파일에 대해서는 `npm test`를 사용하지 마십시오.
**신뢰도:** 높음
**인간 결정:** 대기 중
이렇게 하면 인간의 감독을 유지하면서 에이전트 클러스터가 분석 작업의 대부분을 수행할 수 있습니다.
드리밍 처리는 추가 모델 호출이 필요합니다.
언뜻 보기에는 불필요한 오버헤드처럼 보일 수 있습니다.
Mukta는 더 깨끗한 메모리 저장소가 총 비용을 절감할 수 있다고 생각합니다. 미래의 에이전트가 첫 시도에서 올바르게 작업을 완료할 가능성이 높아지기 때문입니다.
첫 번째 시도.
유용한 경제성 비교는 다음과 같습니다:
드리밍 비용
대비
반복 실패, 재시도, 재작업 및 과도한 컨텍스트 비용
잠재적 절감 효과는 다음에서 발생할 수 있습니다:
Anthropic은 각 조직이 얼마나 절감할 수 있는지 보여주는 일반적인 벤치마크를 아직 발표하지 않았습니다. 구체적인 가치는 다음에 따라 달라집니다:
대량의 에이전트가 관련 작업을 수행하고 동일한 패턴을 반복적으로 만날 때 "드리밍"이 가장 효과적입니다.
팀은 완전한 플랫폼 통합을 기다리지 않고도 이 개념을 테스트할 수 있습니다.
수동 버전은 주 1회 실행할 수 있습니다.
검토자가 볼 권한이 있는 대화 기록만 수집합니다.
다음과 같이 구성합니다:
다음을 포함합니다:
CLAUDE.md프롬프트는 다음과 같이 작성할 수 있습니다:
승인된 세션 기록과 현재 메모리 파일을 검토하십시오.
반복되는 실패, 사용자의 반복 수정, 오래된 지침,
누락된 프로세스 및 중복 항목을 식별하십시오.
각 제안된 수정 사항에 대해:
1. 대상 파일을 지정하십시오.
2. 뒷받침하는 세션 ID를 제공하십시오.
3.
해당 패턴이 발생하는 빈도를 설명합니다.
4. 최소한의 유효한 수정안을 초안합니다.
5. 파일을 직접 편집하지 마십시오.
다음 수정 사항은 거부합니다:
버전 관리를 사용하고, 커밋 또는 감사 기록에 출처 증거를 포함하십시오.
후속 세션에서 동일한 실패가 감소하는지 추적하십시오.
측정이 없으면 "꿈꾸기"는 학습 시스템이 아닌 문서 생성 작업이 되어버립니다.
기억이 답하는 질문은 다음과 같습니다:
에이전트는 이전 작업에서 무엇을 기억해야 하는가?
그래프 구조 엔지니어링은 다른 질문에 답합니다:
현재 작업의 어떤 부분이 실제로 서로 의존하는가?
BAAI 원문 기사는 기억 주제를 AI 개발 커뮤니티에서 유통되는 그래프 구조 엔지니어링 가이드와 연결합니다.
해당 가이드의 핵심 주장은 많은 "워크플로우"가 본질적으로 이미 그래프라는 것입니다 — 단지 설계가 형편없을 뿐입니다.
목록 형태로 작성된 워크플로우는 종종 인위적으로 직렬 프로세스로 변형됩니다:
연구
↓
요약
↓
비교
↓
사실 확인
↓
작성
이러한 단계 중 일부는 실제로 이전 단계의 출력에 의존할 수 있습니다.
다른 단계는 불필요하게 대기 중일 수 있습니다.

워크플로우 그래프에서:
예를 들어:

연구 노드는 연구 결과물을 산출합니다.
작성 노드는 이러한 연구 결과물을 소비하여 초안을 산출합니다.
검증 노드는 초안을 소비하여 검증된 결과물을 산출합니다.
이러한 화살표는 합리적입니다. 각 하류 노드가 상류 노드의 출력을 필요로 하기 때문입니다.
커뮤니티 그래프 가이드는 각 화살표에 대해 간단한 테스트를 제시합니다:
다음 작업이 정말로 이전 작업의 출력을 필요로 하는가?
대답이 아니오라면, 그 의존 관계는 의사 의존 관계입니다.
다음 워크플로우를 고려해 보십시오:
경쟁사 A 연구
↓
경쟁사 B 연구
↓
경쟁사 C 연구
↓
비교 보고서 작성
경쟁사 B 연구는 일반적으로 경쟁사 A 연구의 출력을 필요로 하지 않습니다.
경쟁사 C 연구는 일반적으로 경쟁사 B 연구의 출력을 필요로 하지 않습니다.
이러한 작업은 병렬로 실행될 수 있습니다:
flowchart TD
A[비교 기준 정의] --> B1[경쟁사 A 연구]
A --> B2[경쟁사 B 연구]
A --> B3[경쟁사 C 연구]
B1 --> C[비교 보고서 작성]
B2 --> C
B3 --> C
의사 엣지를 제거하면 대기 시간을 줄일 수 있습니다.
세 개의 연구 작업이 각각 10, 12, 15분이 걸린다면:
그래프는 개별 에이전트를 더 빠르게 만들지 않습니다.
변경하는 것은 스케줄링 방식입니다.
의사 엣지를 제거하면 일반적인 형태가 나타납니다:
이를 일반적으로 다이아몬드라고 부릅니다.

연구 예시는 다음과 같을 수 있습니다:
flowchart TD
A[연구 질문] --> B1[시장 데이터]
A --> B2[고객 증거]
A --> B3[경쟁사 분석]
B1 --> C[검증자]
B2 --> C
B3 --> C
C --> D[최종 종합]
총 소요 시간은 모든 분기의 합이 아닌 가장 느린 분기에 의해 주로 결정됩니다.
병렬화는 새로운
위험을 도입합니다.
하나의 작업 스레드가 취약하거나, 오래되었거나, 뒷받침되지 않는 출력을 생성할 수 있습니다.
시스템이 검증 없이 모든 것을 병합하면, 하나의 나쁜 분기가 최종 답변을 오염시킬 수 있습니다.
따라서 그래프 가이드는 종합 전에 검사기를 배치합니다.

검사기는 다음과 같은 질문을 할 수 있습니다:
출력이 요청된 형식을 충족하는가?
유용한 검사기에는 명확한 승인 기준이 있어야 한다.
예를 들어:
한 문장에서 시작해 몇 분 안에 완전한 웹사이트를 받아보세요.