CPN 한국어 자습서 · Claude Certified Developer — Foundations Prep
2-7 · 에이전트 구성
Building a production agent: the loop, wiring paths, orchestration, and human-in-the-loop
도구 스키마와 문맥 관리 같은 개별 조각은 앞선 레슨에서 이미 만들어 봤습니다. 이 레슨에서는 그 조각들을 하나의 돌아가는 시스템으로 잇습니다. 에이전트를 만들기 전에 먼저 묻는 질문 — 이 문제에 정말 에이전트가 필요한가 — 부터 시작해, 어느 경로로 만들든 같은 루프를 잇는 네 단계, 사람이 확인할 자리, 그리고 프로덕션에서 실제로 깨졌던 사례까지 차례로 살펴봅니다.
이 장에서 배우는 것What you'll learn
약 31분워크플로우와 에이전트 중 무엇을 고를지 — 코드를 쓰기 전에 정하는 결정
배선 경로 세 가지 — 직접 만든 루프 · Agent SDK · Managed Agents
어느 경로든 같은 루프를 잇는 네 단계와 점검 목록
사람 확인(HITL)을 어디에 넣을지 — 세 가지 자리
도구를 너무 많이·적게 등록했을 때 생기는 문제
규제 데이터 제약이 배선보다 먼저 경로를 정하는 경우
에이전트는 도구 스키마와 문맥 관리 같은 개별 조각으로 이뤄집니다. 이 조각들이 여러 번의 대화에 걸쳐 함께 돌아가기 시작하면, 하나씩 따로 시험할 때는 드러나지 않던 실패가 새로 나타나는 경우가 많습니다.
단일 대화에서는 잘 되던 라우팅어떤 도구로 보낼지, 어느 단계로 넘길지 정하는 판단.이 여러 턴을 거치며 누적되어 어긋나고, 문맥(대화에 쌓이는 맥락)이 예상보다 빨리 찹니다. 앞 단계 결과에 기대는 단계가, 이전 도구 호출이 잘못 구성된 탓에 엉뚱한 입력을 받기도 합니다. 그래서 에이전트를 만들 때 가장 먼저 묻는 질문은 "이 문제에 정말 에이전트가 필요한가"입니다.
에이전트는 조율 비용과 문맥 비용이 크고, 단순한 방식보다 실패가 생길 수 있는 부분이 많습니다. 시작에서 패턴을 잘못 고르는 것이 에이전트 개발에서 가장 크게 어긋나는 지점입니다. 워크플로우와 에이전트는 서로 다른 문제를 풉니다. 워크플로우로 충분한데 에이전트를 쓰면 능력은 그대로인 채 동작만 복잡해지고, 에이전트가 필요한데 워크플로우를 쓰면 사용자 입력이 정해진 경로를 벗어나는 순간 깨집니다.
WORKFLOW vs AGENT — 어느 쪽이 맞는 문제인가
| 워크플로우를 고를 때 | 에이전트를 고를 때 |
|---|---|
| 밟을 단계를 코드로 하나하나 나열할 수 있다. | 목표와 도구는 정할 수 있지만, 정확한 경로는 미리 정할 수 없다. |
| 오류 비용이 실재하고, 단계마다 안전장치가 중요하다. | 일을 풀어 가는 경로를 미리 나열할 수 없다. |
| 표준 도구로 관찰(로그·추적)할 수 있어야 한다. | 비결정적 동작(같은 입력에도 결과가 달라질 수 있는 것)을 받아들일 수 있고, 에이전트가 할 수 있는 일이 등록한 도구 안으로 제한된다. |
| 입력이 정해진 집합으로 잘 한정돼 있다. | 사용자 입력이 내용과 형태 면에서 예측하기 어렵게 달라진다. |
| 매번 같은 순서로 실행된다. | 주어진 도구를 상황에 맞게 새로 엮어야 한다. |
워크플로우는 정해진 조리법대로 따라 하는 것에, 에이전트는 목표만 주고 재료(도구)를 골라 쓰게 맡기는 것에 가깝습니다. 재료를 어떤 순서로 쓸지 미리 다 적을 수 있으면 워크플로우로 충분한 경우가 많습니다.
이 문제에 에이전트가 필요하다고 정했다면, 패턴도 함께 정해진 셈입니다. 도구를 부르고 문맥을 관리하며 목표에 닿을 때까지 반복하는 루프입니다. 단일 에이전트에서는 이 패턴이 세 배선 경로 모두에서 같습니다. 달라지는 것은 루프의 얼마만큼을 직접 쓰고, 얼마만큼을 라이브러리나 호스팅 서비스에 맡기는지입니다.
여러 에이전트가 계획·실행·평가를 나눠 맡는 다중 에이전트 구조는 루프 자체를 넘어서는 설계가 더 필요한데, 그 패턴은 이 과정 뒤쪽에서 다룹니다. 여기서는 어느 경로에서도 변하지 않는 루프 자체를 먼저 봅니다.
세 경로는 한 가지 변수에서 갈립니다 — 에이전트가 돌아가는 런타임 중 내가 얼마나 소유하는지입니다. 아래는 넘기는 인프라가 많아지는 순서로 정리한 것입니다. 배포·컴플라이언스 조건을 보고 고르는 것이 좋습니다. 시제품을 가장 빨리 만들 수 있다는 이유만으로 경로를 고르지 않도록 주의합니다.
① 직접 만든 루프 (Raw Messages API loop) — 내 코드가 매 반복을 돌립니다.
② Agent SDK — SDK가 내 프로세스 안에서 루프를 돌립니다.
CLAUDE.md·스킬 같은 파일 기반 기능이 로드되는지는 settingSources 설정이 정합니다. 기본값에 기대지 말고 항상 명시하는 것이 좋습니다 — 예를 들어 Claude Code CLI와 같게 하려면 ["user","project","local"], 넘긴 것만 쓰는 완전 격리는 []. 현재 기본 동작은 만들 때 Agent SDK 문서로 확인합니다.③ Claude Managed Agents (공개 베타) — Anthropic이 루프와 샌드박스를 돌립니다.
managed-agents-2026-04-01 베타 헤더가 필요하고, 릴리스마다 동작이 다듬어질 수 있어 옮겨 갈 계획을 세워 두고 만드는 것이 좋습니다.세 번째 경로인 Managed Agents는 일부 작업에서는 기본으로 삼을 만합니다. 직접 만든 루프나 Agent SDK에서는 내 코드가 반복을 돌리지만, Managed Agents에서는 Anthropic이 루프와 샌드박스를 대신 돌립니다. 무엇을 더는 소유하지 않게 되고, 대신 무엇을 떠안는지 정리하면 이렇습니다.
STOP OWNING · TAKE ON — 내려놓는 것과 새로 떠안는 것
| 항목 | 더는 소유하지 않는 것 | 대신 떠안는 것 |
|---|---|---|
| 실행·인프라 | 반복 루프, 실행 샌드박스, 루프 안 재시도, 도구 실행 런타임. Anthropic이 서버에서 전부 돌린다. | 버전이 매겨진 API 자원으로 관리되는 에이전트 정의, 그리고 이벤트를 보내고 흘러오는 결과를 받는 앱 계층. |
| 세션 길이·상태 | 오래 걸리는 실행 관리. 세션이 분·시간 단위로 이어져도 내 프로세스가 루프를 열어 둘 필요가 없다. | 서버에 저장되는 세션 상태. 세션은 상태를 갖고 Anthropic이 보관하며, 그 데이터 취급 정책과 제약을 따른다. |
| 샌드박스 수명 | 도구 실행용 샌드박스를 띄우고 내리는 일. | 내 환경이 아니라 관리형 샌드박스가 제공하는 도구와 실행 방식에 의존하게 된다. |
Managed Agent 세션은 서버에 상태로 저장됩니다. 바로 그 저장 때문에 지금은 ZDR이나 HIPAA BAA 대상이 아닙니다. 그래서 다루는 데이터가 PHI(보호 대상 건강 정보)거나 ZDR 요건에 걸린다면, 운영 면에서 아무리 잘 맞아도 이 경로는 빠지고, 요건을 충족하는 구성의 Agent SDK나 직접 만든 루프로 방향을 잡습니다. 어느 쪽이 편한지 따지기 전에 규제 제약이 경로를 먼저 정하는 경우가 많습니다.
자주 밟는 순서는 Agent SDK로 로컬에서 시제품을 만든 뒤, 프로덕션에서 Managed Agents로 옮기는 것입니다. 핵심 에이전트 정의는 개념상 그대로 이어지지만 형식이 달라집니다 — Agent SDK는 코드와 파일 설정을 쓰고, Managed Agents는 에이전트를 버전이 매겨진 API 자원으로 정의합니다. 그대로 내보내기(export)가 아니라, 다시 표현하는 단계 하나가 있다고 보면 됩니다.
아래 네 단계는 어느 경로로 만들든 돌아가는 에이전트 루프를 이룹니다. Messages API로 직접 쓸 때는 네 단계를 모두 내가 구현하고, Agent SDK를 쓰면 도구 등록·시스템 프롬프트·루프 반복의 구조는 SDK가 주고 도구 실행은 여전히 내 코드가 맡습니다. 단계는 같고, 얼마만큼을 직접 쓰는지가 다릅니다.
tool_result 블록으로 돌려줍니다.LOOP WIRING CHECKLIST — 경로와 상관없이 확인할 5가지
| # | 항목 | 확인할 것 |
|---|---|---|
| 1 | 도구 등록 | 에이전트가 쓸 수 있는 모든 도구가 등록 목록에 있다. 시스템 프롬프트에 등록되지 않은 도구가 언급되지 않는다. |
| 2 | 시스템 프롬프트 범위 | 시스템 프롬프트가 과제와 쓸 수 있는 도구를 짚는다. 없는 도구를 설명하지 않고, 범위 안내가 필요한 도구를 빠뜨리지 않는다. |
| 3 | 도구 호출 루프 구현 | 내 코드가 Claude의 모든 도구 호출 블록을 처리하고, 다음 응답 차례 전에 각각 tool_result 블록을 돌려준다. 한 응답에서 나온 도구 호출 블록은 함께 처리한다. |
| 4 | 사람 확인 자리 지정 | 루프 안 최소 한 곳에 사람 확인 단계가 있다. |
| 5 | 종료 조건 지정 | Claude가 스스로 멈춰 주기를 기다리지 않는, 분명한 멈춤 기준이 루프에 있다. |
사람 확인 지점은 에이전트 실행을 잠시 멈추고, 이어 가기 전에 사람 검토 단계로 넘깁니다. 어디에 넣을지는 한 가지 질문으로 정해집니다 — 이 단계가 사람 확인 없이 실행되면 최악의 결과가 무엇인가.
HITL INSERTION POINTS — 세 자리와 각각이 막는 위험
| 넣는 자리 | 무엇이 확인을 부르나 | 막는 위험 |
|---|---|---|
| 되돌릴 수 없는 도구 호출 앞 | 에이전트가 쓰기·삭제·전송 동작을 실행하려는 순간. | 높음 — 잘못 부르면 되돌릴 수 없는 동작. |
| 계획 단계 뒤 | 에이전트가 계획을 세우고 실행을 막 시작하려는 지점. | 중간 — 모든 단계가 제대로 실행돼도 계획 자체가 틀렸다면 결과가 어긋난다. |
| 예상 밖 출력에서 | 도구 결과에 오류 표시나 빈 값, 예상 범위를 벗어난 값이 있을 때. | 상황에 따라 — 재시도 로직만으로는 안 풀리는 실패를 잡는다. |
사람 확인은 잘못 실행되면 되돌릴 수 없는 동작 앞에만 두는 것이 핵심입니다. 읽기처럼 되돌릴 수 있는 동작까지 모두 걸면 에이전트를 쓰는 의미가 옅어집니다.
에이전트의 라우팅 동작은 두 가지에 좌우됩니다 — 도구를 어떻게 설명했는지, 그리고 몇 개를 등록했는지. 겹치는 설명을 가진 도구가 너무 많으면 라우팅이 불안정해지고, 너무 적으면 에이전트가 없는 경로를 지어내거나 불완전한 결과를 내놓습니다.
프로덕션 에이전트에서는 도구를 너무 많이 등록하는 쪽이 더 흔한 문제입니다. "혹시 몰라서" 쓸 만한 도구를 전부 등록해 두면, 도구 표면이 넓어질수록 Claude의 선택 품질이 떨어집니다. 과제에 필요한 최소 집합으로 시작하고, 능력이 비는 부분이 구체적으로 확인될 때만 도구를 더하는 것이 좋습니다.
가장 단순한 방식부터 시작하는 것이 좋습니다 — 한 번의 API 호출로 되면 그걸로, 안 되면 워크플로우, 그래도 안 되면 에이전트. 에이전트는 단순한 방식이 입력의 변동성을 감당하지 못할 때 올라가는 마지막 단계입니다.
다루는 데이터에 특정 제약이 걸려 있으면(예: 변호사·의뢰인 비밀유지, HIPAA, GDPR, FedRAMP, 사내 데이터 거주 정책), 프롬프트·도구·메모리를 설계하기 전에 그 제약이 먼저 정합니다 — 내 코드가 어느 엔드포인트를 부르고, 어떤 자격증명을 지니며, 로그가 어디에 남는지를.
개발자가 배포 표면을 직접 고르지 않는 경우가 많지만, 특정 엔드포인트를 겨냥하고 자격증명을 붙이고 리전을 설정하고 로그를 내보내는 코드는 개발자가 씁니다. 그래서 규제 제약을 시작 시점에 분명히 확인해 두는 것이 좋습니다. 에이전트를 다 배선한 뒤에 클라이언트 설정을 바꾸는 것은 처음에 맞게 잡는 것보다 훨씬 비쌉니다. 아래 다섯 가지는 프로덕션에서 가장 자주 만나는 경우입니다.
FIVE CONSTRAINTS — 코드에서 걸리는 것과 리뷰를 통과하는 구성
| 제약 | 코드에서 걸리는 것 | 리뷰를 통과하는 구성 |
|---|---|---|
| 변호사·의뢰인 비밀유지 | 회사가 끝까지 감사할 수 없는 소비자용 Claude.ai 표면에서의 호출. 회사가 승인하지 않은 엔드포인트로 특권 문서 내용을 보내는 경로. | 회사 자체 앱 안에서 SSO로 인증하고, 요청·응답 로그를 남기는 승인된 게이트웨이를 거치는 직접 API·SDK 호출. 직접 API 트래픽에서는 대화 내용이 기본으로 저장되지 않으므로, 로깅은 앱 계층에서 구현해 승인된 저장소로 보낸다. 최종 로깅 설계는 Anthropic 담당팀과 확인. |
| HIPAA (PHI 취급) | 해당 구성에 대한 BAA로 보장되지 않는 엔드포인트로 PHI를 보내는 코드. 같은 BAA 범위 밖의 로깅·보관 경로. | BAA로 보장된 구성에서의 직접 API·SDK 호출(Anthropic이 HIPAA 전용 조직을 마련해 기능을 제한). 또는 AWS Bedrock·GCP Vertex 같은 클라우드 경유 경로. 콘솔·워크벤치·베타·소비자 플랜은 BAA 대상이 아니며, 기능 적격 목록을 미리 확인. |
| GDPR· 데이터 거주 | 모델 실행 리전을 코드에서 고정할 수 없거나, 승인된 지역 밖에서 요청이 처리될 수 있는 경로. 리전을 지정하지 않고 전역 엔드포인트를 기본으로 두는 것이 흔한 실수. | Bedrock·Vertex처럼 클라이언트 설정에서 리전을 승인된 관할로 고정하는 경로. 직접 Anthropic API는 현재 EU 데이터 거주를 제공하지 않으므로, EU 거주 요건이 있으면 Bedrock·Vertex로 우회. |
| FedRAMP· 정부 | 요구 등급의 승인된 클라우드가 아닌 엔드포인트를 부르는 경로. 개발·테스트는 상용, 프로덕션은 승인 엔드포인트로 나뉘어 자격증명과 코드 패턴이 서로 새는 경우도 포함. | 발행 시점 기준 승인 경로 셋 — Palantir PFCS-SS로 FedRAMP High를 받은 Claude for Government, FedRAMP High·DoD IL4/5를 받은 Bedrock GovCloud 경유, FedRAMP 승인을 받은 Vertex AI Assured Workloads. AWS 마켓플레이스의 Claude Enterprise는 FedRAMP 승인이 아니다. 최신 상태는 trust.anthropic.com에서 확인. |
| 사내 데이터 거주 정책 | 회사 승인 목록 밖의 클라우드 벤더로 설정된 클라이언트 호출. 기술적으로 가능해도 조달 단계 제약이 코드 경로를 먼저 막는다. | 회사가 승인한 클라우드 벤더의 경로. CIO가 이미 승인한 SDK 클라이언트와 엔드포인트 구성으로 만든다. |
이 표는 엔드포인트 선택과 자격증명 구성을 직접 정하는 제약만 다룹니다. SOC 2는 여기 범위 밖입니다 — 어느 엔드포인트를 부르는지가 아니라 시스템을 어떻게 만들고 운영하는지를 다루며, 모듈 4에서 보안 태세·감사 요건과 함께 살펴봅니다. 모듈 4(프로덕션 엔지니어링·평가·보안)는 IAM·프라이버시 설계, 신뢰할 수 없는 입력에서 오는 프롬프트 주입 방어, 런타임 가드레일, 에이전트 강화를 더 깊게 다룹니다.
테스트에서는 처음부터 끝까지 잘 돌아가던 에이전트가, 프로덕션에서는 그렇지 않은 경우가 있습니다. 테스트 환경은 너그럽지만 프로덕션은 그렇지 않기 때문입니다. 도구도 루프도 시스템 프롬프트도 같은데, 사람 확인 단계 하나가 빠져 있었고 테스트에서는 그게 필요한 상황이 한 번도 나오지 않았습니다.
한 개발자가 설정 파일을 읽고 고치고 쓰는 에이전트를 만들었습니다. 시스템 프롬프트는 read_file·write_file·validate_config 세 도구를 줬습니다. 루프는 단순했습니다. 쓰기를 할 때마다 validate_config를 다시 돌리고, 설정이 여전히 검증을 통과하지 못하면 편집을 조정해 다시 쓰기를, 최대 열 번까지 반복한 뒤 멈추게 했습니다. 대상 설정의 사본을 둔 임시 디렉터리에서 시험했고, 보통 두세 번 반복 만에 유효한 설정으로 수렴하며 모든 경우에 제대로 동작했습니다.
고객 환경에 배포하자, 에이전트는 설정 값 하나가 허용 범위를 벗어난 것을 정확히 찾아냈습니다. 고칠 값을 제안하고 write_file을 부르고 validate_config를 다시 돌려 통과를 받았습니다. 루프는 설계 그대로 한 번 반복하고 깔끔하게 끝났습니다. 열 번 상한은 필요한 적이 없어 닿지도 않았습니다. 루프 설계는 맞았는데, 종료 조건이 문제였습니다.
그 값은 고객 애플리케이션이 의존하던 요청 한도(rate limit)였습니다. validate_config는 값이 스키마 허용 범위 안인지만 확인했고, 이제 범위 안이었습니다. validate_config가 확인하지 않았고 애초에 확인하도록 만들어지지도 않은 것은, 다른 시스템이 옛 값에 의존하는지였습니다. 쓰기 몇 분 만에 고객 애플리케이션이 감당하도록 만들어지지 않은 속도로 요청이 제한되면서 장애가 나기 시작했습니다.
루프는 개발자가 시킨 그대로 편집하고 검증하고 통과하면 끝냈습니다. 문제는 루프가 아니라, 종료 조건(validate_config 통과)이 에이전트가 고치던 파일 안으로만 좁혀져 있었다는 데 있었습니다. '이 파일에서 검증을 통과했다'와 '고객 환경에 쓰기를 반영했다' 사이에 확인 단계가 없었던 것입니다. 빠진 것은 첫 write_file이 실제 고객 설정에 닿기 전에 잠시 멈추고, 제안한 변경을 사람에게 보여 검토받는 단계였습니다. 곧 루프에 '변경안 준비됨'과 '쓰기 반영됨' 사이를 가르는 분기가 필요했는데, 테스트에서 그런 경우가 나오지 않아 개발자가 넣지 않았던 것입니다.
원문의 점검 과제는 직접 채워 보는 서술형입니다. 아래는 일부만 구현된 에이전트 코드로, 빈 곳이 두 군데 있습니다. (1) update_record의 설명과 (2) 사람 확인 체크포인트 코드를 각각 채워 보세요. 먼저 스스로 써 본 뒤 모범 답안과 비교하는 것이 좋습니다.
PARTIAL IMPLEMENTATION — 빈 곳 두 군데가 있는 에이전트 루프
tools = [ { "name": "read_record", "description": "Use this to read a customer record by customer_id.", "input_schema": { "type": "object", "properties": {"customer_id"...}, "required": ["customer_id"] } }, { "name": "update_record", "description": [BLANK — 이 도구의 설명을 쓰세요], "input_schema": { "type": "object", "properties": {"customer_id","field","new_value"...}, "required": [...] } } ] def run_agent_loop(user_request): messages = [{"role": "user", "content": user_request}] while True: response = client.messages.create(model=model, max_tokens=4096, tools=tools, messages=messages) if response.stop_reason == "end_turn": return response if response.stop_reason == "tool_use": messages.append({"role": "assistant", "content": response.content}) tool_results = [] for block in response.content: if block.type == "tool_use": [BLANK — update_record 실행 전에 사람 확인(HITL) 체크포인트를 넣으세요] result = execute_tool(block.name, block.input) tool_results.append({"type": "tool_result", "tool_use_id": block.id, "content": result}) messages.append({"role": "user", "content": tool_results})
빈 곳 1 · update_record의 설명
빈 곳 2 · 사람 확인(HITL) 체크포인트 코드
MODEL ANSWER · 빈 곳 1 — 제한적인 도구 설명
"Use this to update a specific field on a customer record. Only call this tool after a read_record call has confirmed the current value and the proposed change has been reviewed. Do not use this for bulk updates or schema changes."
제한적인 설명은 도구를 언제 부르지 말아야 하는지, 부르기 전에 무엇이 참이어야 하는지, 무엇에는 절대 쓰면 안 되는지를 모델이 라우팅에 쓸 수 있는 말로 알려 줍니다. 설명이 밋밋하면 에이전트가 업데이트가 필요하다고 판단할 때마다, 현재 값을 읽기도 전에 또는 운영자가 바꿀 뜻이 없던 필드에까지 update_record를 부를 수 있습니다.
MODEL ANSWER · 빈 곳 2 — 루프 안 사람 확인 게이트
if block.type == "tool_use": if block.name == "update_record": print(f"Proposed update, customer_id: {block.input['customer_id']}, " f"field: {block.input['field']}, new_value: {block.input['new_value']}") approval = input("Approve this update? (yes/no): ").strip().lower() if approval != "yes": tool_results.append({ "type": "tool_result", "tool_use_id": block.id, "content": "Update rejected by operator." }) continue result = execute_tool(block.name, block.input)
체크포인트가 루프 안에 있고 도구 이름으로 걸러서, read_record 호출은 그대로 지나가고 update_record 호출만 명시적 승인 앞에 멈춥니다. 미리 한 번 받는 승인으로는 모델이 아직 제안하지 않은 특정 업데이트를 막을 수 없고, execute_tool이 이미 실행된 뒤의 승인은 되돌릴 수 없는 일이 끝난 다음입니다.
이어서 객관식으로 점검합니다. 정답을 먼저 떠올려 본 뒤 골라 보세요. 맞히면 설명이 나옵니다.
Q1단계를 코드로 하나하나 나열할 수 있고, 매번 같은 순서로 실행되는 과제가 있습니다. 어느 쪽이 더 맞을까요?
단계를 코드로 나열할 수 있으면 워크플로우가 맞습니다. 워크플로우로 충분한데 에이전트를 쓰면 능력은 그대로인 채 동작만 복잡해집니다. 에이전트는 경로를 미리 정할 수 없을 때 올라가는 마지막 단계입니다.
Q2프로덕션 파일을 고친 에이전트 사례에서, 실제로 문제가 있었던 곳은 어디였을까요?
루프는 설계대로 편집·검증·종료했습니다. validate_config는 값이 스키마 허용 범위 안인지만 확인했을 뿐, 다른 시스템이 옛 값에 의존하는지는 확인 대상이 아니었습니다. 빠진 것은 '변경안 준비'와 '실제 쓰기' 사이의 사람 확인 단계였습니다.
Q3프로덕션 에이전트에서 더 흔하게 나타나는 문제는 무엇일까요?
겹치는 설명을 가진 도구가 많으면 라우팅이 불안정해집니다. 프로덕션에서는 도구를 너무 많이 등록하는 쪽이 더 흔한 문제라, 필요한 최소 집합으로 시작하고 능력이 비는 부분이 확인될 때만 더하는 것이 좋습니다.
모듈 2의 다음 레슨은 에이전트 메모리(Agent Memory)를 다룹니다. 여러 세션에 걸쳐 무엇을 기억하고 무엇을 흘려보낼지 정하는 문제입니다. → 에이전트 메모리
전 코스는 계속 무료입니다. 등록하면 이 코스의 남은 38개 레슨을 끝까지 읽을 수 있습니다.
이미 등록하셨다면 그때 쓰신 이메일을 넣어 주세요.