state 인수는 핸들러가 3개의 매개변수를 받을 때 이벤트 버스가 자동으로 전달하는 RuntimeState입니다. Event Listeners 문서에 나열된 모든 이벤트 타입에 핸들러를 등록할 수 있습니다.체크포인팅은 best-effort입니다: 체크포인트 기록이 실패하면 오류가 로그에 기록되지만 실행은 중단 없이 계속됩니다.
이 페이지가 도움이 되었나요?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"CrewAI","colors":{"primary":"#EB6658","light":"#F3A78B","dark":"#C94C3C"},"logo":{"light":"https://mintcdn.com/crewai/5SZbe87tsCWZY09V/images/crew_only_logo.png?fit=max\u0026auto=format\u0026n=5SZbe87tsCWZY09V\u0026q=85\u0026s=439ca5dc63a1768cad7196005ff5636f","dark":"https://mintcdn.com/crewai/5SZbe87tsCWZY09V/images/crew_only_logo.png?fit=max\u0026auto=format\u0026n=5SZbe87tsCWZY09V\u0026q=85\u0026s=439ca5dc63a1768cad7196005ff5636f"},"favicon":"https://mintcdn.com/crewai/sz5CkjPWxVjBAZE7/images/favicon.svg?fit=max\u0026auto=format\u0026n=sz5CkjPWxVjBAZE7\u0026q=85\u0026s=16c03dad58d05417a2e442ff942d2ce7","api":{"playground":{}},"appearance":{"default":"system","strict":false},"background":{"decoration":"grid"},"navbar":{"links":[{"icon":"arrow-up-right-from-square","href":"https://app.crewai.com","label":"Start Cloud Trial"}],"primary":{"type":"github","href":"https://github.com/crewAIInc/crewAI"}},"footer":{"socials":{"website":"https://crewai.com","x":"https://x.com/crewAIInc","github":"https://github.com/crewAIInc/crewAI","linkedin":"https://www.linkedin.com/company/crewai-inc","youtube":"https://youtube.com/@crewAIInc","reddit":"https://www.reddit.com/r/crewAIInc"}},"seo":{"metatags":{"og:type":"website","og:site_name":"CrewAI Documentation","og:image":"https://docs.crewai.com/images/crew_only_logo.png","twitter:card":"summary_large_image","twitter:site":"@crewAIInc","keywords":"AI agents, multi-agent systems, CrewAI, artificial intelligence, automation, Python framework, agent collaboration, AI workflows"}},"fonts":{"family":"Inter"},"errors":{"404":{"redirect":true}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode",{"title":"Request a feature","description":"Join the discussion on GitHub to request a new feature","icon":"plus","href":"https://github.com/crewAIInc/crewAI/issues/new/choose"}],"display":"header"},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","href":""},{"language":"pt-BR","href":"edge/pt-BR"},{"language":"ko","href":"edge/ko"},{"language":"ar","href":"edge/ar"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"crewai","hasAudioNarration":false,"actualSubdomain":"crewai","customDomains":["docs.crewai.com"],"gitSource":{"type":"github","owner":"crewaiinc","repo":"crewai","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aecc3b27d833b473e1cae05","collectionId":"802ea765-608d-46fe-93e8-2e231eb5e85a","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aecc3b27d833b473e1cae05"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aed6c2e48a600c03b62aa16","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"en","tag":"Documentation","count":9378},{"language":"ko","tag":"기술 문서","count":8580},{"language":"ar","tag":"التقنية التوثيق","count":7984},{"language":"pt-BR","tag":"Documentação","count":7957},{"language":"en","tag":"Tools","count":4285},{"language":"ko","tag":"도구 (Tools)","count":3950},{"language":"ar","tag":"الأدوات","count":3716},{"language":"pt-BR","tag":"Ferramentas","count":3377},{"language":"en","tag":"Learn","count":1495},{"language":"ko","tag":"학습","count":1329},{"language":"pt-BR","tag":"Aprenda","count":1329},{"language":"ar","tag":"التعلّم","count":1233},{"language":"en","tag":"Core Concepts","count":1129},{"language":"ko","tag":"핵심 개념","count":1094},{"language":"pt-BR","tag":"Conceitos-Chave","count":1094},{"language":"ar","tag":"المفاهيم الأساسية","count":1022},{"language":"en","tag":"Observability","count":954},{"language":"en","tag":"Guides","count":938},{"language":"en","tag":"Search \u0026 Research","count":930},{"language":"ko","tag":"Observability","count":901},{"language":"pt-BR","tag":"Observabilidade","count":901},{"language":"ko","tag":"검색 및 연구","count":889},{"language":"ar","tag":"Observability","count":833},{"language":"ar","tag":"البحث والاستكشاف","count":825},{"language":"en","tag":"Web Scraping \u0026 Browsing","count":783},{"language":"en","tag":"File \u0026 Document","count":742},{"language":"ko","tag":"파일 \u0026 문서","count":742},{"language":"ko","tag":"웹 스크래핑 \u0026 브라우징","count":742},{"language":"pt-BR","tag":"Web Scraping \u0026 Navegação","count":689},{"language":"ar","tag":"الملفات والمستندات","count":686},{"language":"ar","tag":"استخراج بيانات الويب","count":686},{"language":"ko","tag":"가이드","count":637},{"language":"pt-BR","tag":"Guias","count":637},{"language":"pt-BR","tag":"Arquivo \u0026 Documento","count":636},{"language":"ar","tag":"الأدلّة","count":604},{"language":"pt-BR","tag":"Pesquisa","count":530},{"language":"ko","tag":"시작 안내","count":510},{"language":"pt-BR","tag":"Começando","count":510},{"language":"en","tag":"AI \u0026 Machine Learning","count":506},{"language":"ar","tag":"البدء","count":478}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"v1.14.0/ko/concepts/checkpointing","slug":"/v1.14.0/ko/concepts/checkpointing","pageMetadata":{"title":"Checkpointing","description":"실행 상태를 자동으로 저장하여 크루, 플로우, 에이전트가 실패 후 재개할 수 있습니다.","icon":"floppy-disk","mode":"wide","href":"/v1.14.0/ko/concepts/checkpointing"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"실행 상태를 자동으로 저장하여 크루, 플로우, 에이전트가 실패 후 재개할 수 있습니다.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Warning,{children:_jsx(_components.p,{children:`체크포인팅은 초기 릴리스 단계입니다. API는 향후 버전에서 변경될 수 있습니다.`})}),`\n`,_jsx(Heading,{level:`2`,id:`개요`,children:`개요`}),`\n`,_jsx(_components.p,{children:`체크포인팅은 실행 중 자동으로 실행 상태를 저장합니다. 크루, 플로우 또는 에이전트가 실행 도중 실패하면 마지막 체크포인트에서 복원하여 이미 완료된 작업을 다시 실행하지 않고 재개할 수 있습니다.`}),`\n`,_jsx(Heading,{level:`2`,id:`빠른-시작`,children:`빠른 시작`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crewai `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Crew, CheckpointConfig`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`crew `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Crew(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` agents`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tasks`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` checkpoint`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 기본값 사용: ./.checkpoints, task_completed 이벤트`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crew.kickoff()`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`각 태스크가 완료된 후 `,_jsx(_components.code,{children:`./.checkpoints/`}),`에 체크포인트 파일이 기록됩니다.`]}),`\n`,_jsx(Heading,{level:`2`,id:`설정`,children:`설정`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`CheckpointConfig`}),`를 사용하여 세부 설정을 제어합니다:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crewai `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Crew, CheckpointConfig`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`crew `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Crew(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` agents`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tasks`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` checkpoint`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`CheckpointConfig(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` location`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./my_checkpoints\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` on_events`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"task_completed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"crew_kickoff_completed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_checkpoints`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`checkpointconfig-필드`,children:`CheckpointConfig 필드`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`필드`}),_jsx(_components.th,{style:{textAlign:`left`},children:`타입`}),_jsx(_components.th,{style:{textAlign:`left`},children:`기본값`}),_jsx(_components.th,{style:{textAlign:`left`},children:`설명`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`location`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`str`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`\"./.checkpoints\"`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`체크포인트 파일 경로`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`on_events`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`list[str]`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`[\"task_completed\"]`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`체크포인트를 트리거하는 이벤트 타입`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`provider`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`BaseProvider`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`JsonProvider()`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`스토리지 백엔드`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`max_checkpoints`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`int | None`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`None`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`보관할 최대 파일 수; 오래된 것부터 삭제`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`상속-및-옵트아웃`,children:`상속 및 옵트아웃`}),`\n`,_jsxs(_components.p,{children:[`Crew, Flow, Agent의 `,_jsx(_components.code,{children:`checkpoint`}),` 필드는 `,_jsx(_components.code,{children:`CheckpointConfig`}),`, `,_jsx(_components.code,{children:`True`}),`, `,_jsx(_components.code,{children:`False`}),`, `,_jsx(_components.code,{children:`None`}),`을 받습니다:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`값`}),_jsx(_components.th,{style:{textAlign:`left`},children:`동작`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`None`}),` (기본값)`]}),_jsx(_components.td,{style:{textAlign:`left`},children:`부모에서 상속. 에이전트는 크루의 설정을 상속합니다.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`True`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`기본값으로 활성화.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`False`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`명시적 옵트아웃. 부모 상속을 중단합니다.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`CheckpointConfig(...)`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`사용자 정의 설정.`})]})]})]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`crew `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Crew(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` agents`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Agent(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`role`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Researcher\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 크루의 checkpoint 상속`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Agent(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`role`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Writer\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`checkpoint`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`False`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 옵트아웃, 체크포인트 없음`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tasks`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` checkpoint`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`체크포인트에서-재개`,children:`체크포인트에서 재개`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 복원 및 재개`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`crew `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Crew.from_checkpoint(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./my_checkpoints/20260407T120000_abc123.json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crew.kickoff() `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 마지막으로 완료된 태스크부터 재개`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`복원된 크루는 이미 완료된 태스크를 건너뛰고 첫 번째 미완료 태스크부터 재개합니다.`}),`\n`,_jsx(Heading,{level:`2`,id:`crew-flow-agent에서-사용-가능`,children:`Crew, Flow, Agent에서 사용 가능`}),`\n`,_jsx(Heading,{level:`3`,id:`crew`,children:`Crew`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`crew `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Crew(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` agents`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[researcher, writer],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tasks`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[research_task, write_task, review_task],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` checkpoint`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`CheckpointConfig(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`location`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./crew_cp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`기본 트리거: `,_jsx(_components.code,{children:`task_completed`}),` (완료된 태스크당 하나의 체크포인트).`]}),`\n`,_jsx(Heading,{level:`3`,id:`flow`,children:`Flow`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`23`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`23`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crewai.flow.flow `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Flow, start, listen`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crewai `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CheckpointConfig`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`class`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` MyFlow`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Flow`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`):`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` @start`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` def`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` step_one`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`):`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"data\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` @listen`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(step_one)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` def`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` step_two`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`self`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`):`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` process(data)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`flow `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` MyFlow(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` checkpoint`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`CheckpointConfig(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` location`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./flow_cp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` on_events`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"method_execution_finished\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` flow.kickoff()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 재개`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`flow `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` MyFlow.from_checkpoint(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./flow_cp/20260407T120000_abc123.json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` flow.kickoff()`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`agent`,children:`Agent`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`agent `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Agent(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` role`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Researcher\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` goal`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Research topics\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` backstory`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Expert researcher\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` checkpoint`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`CheckpointConfig(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` location`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./agent_cp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` on_events`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"lite_agent_execution_completed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` agent.kickoff(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`messages`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[{`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"role\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"content\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Research AI trends\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}])`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`스토리지-프로바이더`,children:`스토리지 프로바이더`}),`\n`,_jsx(_components.p,{children:`CrewAI는 두 가지 체크포인트 스토리지 프로바이더를 제공합니다.`}),`\n`,_jsx(Heading,{level:`3`,id:`jsonprovider-기본값`,children:`JsonProvider (기본값)`}),`\n`,_jsx(_components.p,{children:`각 체크포인트를 별도의 JSON 파일로 저장합니다.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crewai `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Crew, CheckpointConfig`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crewai.state `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` JsonProvider`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`crew `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Crew(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` agents`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tasks`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` checkpoint`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`CheckpointConfig(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` location`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./my_checkpoints\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` provider`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`JsonProvider(),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_checkpoints`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`sqliteprovider`,children:`SqliteProvider`}),`\n`,_jsx(_components.p,{children:`모든 체크포인트를 단일 SQLite 데이터베이스 파일에 저장합니다.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crewai `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Crew, CheckpointConfig`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crewai.state `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` SqliteProvider`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`crew `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Crew(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` agents`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tasks`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` checkpoint`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`CheckpointConfig(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` location`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./.checkpoints.db\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` provider`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`SqliteProvider(),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`이벤트-타입`,children:`이벤트 타입`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`on_events`}),` 필드는 이벤트 타입 문자열의 조합을 받습니다. 일반적인 선택:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`사용 사례`}),_jsx(_components.th,{style:{textAlign:`left`},children:`이벤트`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`각 태스크 완료 후 (Crew)`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`[\"task_completed\"]`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`각 플로우 메서드 완료 후`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`[\"method_execution_finished\"]`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`에이전트 실행 완료 후`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`[\"agent_execution_completed\"]`}),`, `,_jsx(_components.code,{children:`[\"lite_agent_execution_completed\"]`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`크루 완료 시에만`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`[\"crew_kickoff_completed\"]`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`모든 LLM 호출 후`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`[\"llm_call_completed\"]`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`모든 이벤트`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`[\"*\"]`})})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`[\"*\"]`}),` 또는 `,_jsx(_components.code,{children:`llm_call_completed`}),`와 같은 고빈도 이벤트를 사용하면 많은 체크포인트 파일이 생성되어 성능에 영향을 줄 수 있습니다. `,_jsx(_components.code,{children:`max_checkpoints`}),`를 사용하여 디스크 사용량을 제한하세요.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`수동-체크포인팅`,children:`수동 체크포인팅`}),`\n`,_jsxs(_components.p,{children:[`완전한 제어를 위해 자체 이벤트 핸들러를 등록하고 `,_jsx(_components.code,{children:`state.checkpoint()`}),`를 직접 호출할 수 있습니다:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`14`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`14`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crewai.events.event_bus `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crewai_event_bus`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crewai.events.types.llm_events `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` LLMCallCompletedEvent`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 동기 핸들러`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`@crewai_event_bus.on`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(LLMCallCompletedEvent)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`def`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` on_llm_done`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`source`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`event`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`state`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`):`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` path `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` state.checkpoint(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./my_checkpoints\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"체크포인트 저장: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`path`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 비동기 핸들러`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`@crewai_event_bus.on`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(LLMCallCompletedEvent)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` def`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` on_llm_done_async`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`source`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`event`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`state`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`):`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` path `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` state.acheckpoint(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"./my_checkpoints\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"체크포인트 저장: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`path`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`state`}),` 인수는 핸들러가 3개의 매개변수를 받을 때 이벤트 버스가 자동으로 전달하는 `,_jsx(_components.code,{children:`RuntimeState`}),`입니다. `,_jsx(_components.a,{href:`/ko/concepts/event-listener`,children:`Event Listeners`}),` 문서에 나열된 모든 이벤트 타입에 핸들러를 등록할 수 있습니다.`]}),`\n`,_jsx(_components.p,{children:`체크포인팅은 best-effort입니다: 체크포인트 기록이 실패하면 오류가 로그에 기록되지만 실행은 중단 없이 계속됩니다.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Checkpointing","description":"실행 상태를 자동으로 저장하여 크루, 플로우, 에이전트가 실패 후 재개할 수 있습니다.","icon":"floppy-disk","mode":"wide","href":"/v1.14.0/ko/concepts/checkpointing"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"개요","slug":"개요","depth":2,"children":[]},{"title":"빠른 시작","slug":"빠른-시작","depth":2,"children":[]},{"title":"설정","slug":"설정","depth":2,"children":[{"title":"CheckpointConfig 필드","slug":"checkpointconfig-필드","depth":3,"children":[]},{"title":"상속 및 옵트아웃","slug":"상속-및-옵트아웃","depth":3,"children":[]}]},{"title":"체크포인트에서 재개","slug":"체크포인트에서-재개","depth":2,"children":[]},{"title":"Crew, Flow, Agent에서 사용 가능","slug":"crew-flow-agent에서-사용-가능","depth":2,"children":[{"title":"Crew","slug":"crew","depth":3,"children":[]},{"title":"Flow","slug":"flow","depth":3,"children":[]},{"title":"Agent","slug":"agent","depth":3,"children":[]}]},{"title":"스토리지 프로바이더","slug":"스토리지-프로바이더","depth":2,"children":[{"title":"JsonProvider (기본값)","slug":"jsonprovider-기본값","depth":3,"children":[]},{"title":"SqliteProvider","slug":"sqliteprovider","depth":3,"children":[]}]},{"title":"이벤트 타입","slug":"이벤트-타입","depth":2,"children":[]},{"title":"수동 체크포인팅","slug":"수동-체크포인팅","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/crewai/cc0a0a5c2c93f4d8/common-room-tracking.js","/_mintlify/custom/crewai/36c44d75a9111b06/reo-tracking.js"],"subdomain":"crewai","siteName":"CrewAI","title":"Checkpointing - CrewAI","navMaps":{"firstHrefInVersion":{"Edge":{"href":"/edge/ko/concepts/checkpointing","matchLevel":1},"v1.15.36":{"href":"/v1.15.36/ko/concepts/checkpointing","matchLevel":1},"v1.15.35":{"href":"/v1.15.35/ko/concepts/checkpointing","matchLevel":1},"v1.15.34":{"href":"/v1.15.34/ko/concepts/checkpointing","matchLevel":1},"v1.15.33":{"href":"/v1.15.33/ko/concepts/checkpointing","matchLevel":1},"v1.15.32":{"href":"/v1.15.32/ko/concepts/checkpointing","matchLevel":1},"v1.15.31":{"href":"/v1.15.31/ko/concepts/checkpointing","matchLevel":1},"v1.15.30":{"href":"/v1.15.30/ko/concepts/checkpointing","matchLevel":1},"v1.15.29":{"href":"/v1.15.29/ko/concepts/checkpointing","matchLevel":1},"v1.15.28":{"href":"/v1.15.28/ko/concepts/checkpointing","matchLevel":1},"v1.15.27":{"href":"/v1.15.27/ko/concepts/checkpointing","matchLevel":1},"v1.15.26":{"href":"/v1.15.26/ko/concepts/checkpointing","matchLevel":1},"v1.15.25":{"href":"/v1.15.25/ko/concepts/checkpointing","matchLevel":1},"v1.15.24":{"href":"/v1.15.24/ko/concepts/checkpointing","matchLevel":1},"v1.15.23":{"href":"/v1.15.23/ko/concepts/checkpointing","matchLevel":1},"v1.15.22":{"href":"/v1.15.22/ko/concepts/checkpointing","matchLevel":1},"v1.15.21":{"href":"/v1.15.21/ko/concepts/checkpointing","matchLevel":1},"v1.15.20":{"href":"/v1.15.20/ko/concepts/checkpointing","matchLevel":1},"v1.15.19":{"href":"/v1.15.19/ko/concepts/checkpointing","matchLevel":1},"v1.15.18":{"href":"/v1.15.18/ko/concepts/checkpointing","matchLevel":1},"v1.15.17":{"href":"/v1.15.17/ko/concepts/checkpointing","matchLevel":1},"v1.15.16":{"href":"/v1.15.16/ko/concepts/checkpointing","matchLevel":1},"v1.15.15":{"href":"/v1.15.15/ko/concepts/checkpointing","matchLevel":1},"v1.15.14":{"href":"/v1.15.14/ko/concepts/checkpointing","matchLevel":1},"v1.15.13":{"href":"/v1.15.13/ko/concepts/checkpointing","matchLevel":1},"v1.15.12":{"href":"/v1.15.12/ko/concepts/checkpointing","matchLevel":1},"v1.15.11":{"href":"/v1.15.11/ko/concepts/checkpointing","matchLevel":1},"v1.15.10":{"href":"/v1.15.10/ko/concepts/checkpointing","matchLevel":1},"v1.15.9":{"href":"/v1.15.9/ko/concepts/checkpointing","matchLevel":1},"v1.15.8":{"href":"/v1.15.8/ko/concepts/checkpointing","matchLevel":1},"v1.15.7":{"href":"/v1.15.7/ko/concepts/checkpointing","matchLevel":1},"v1.15.6":{"href":"/v1.15.6/ko/concepts/checkpointing","matchLevel":1},"v1.15.5":{"href":"/v1.15.5/ko/concepts/checkpointing","matchLevel":1},"v1.15.4":{"href":"/v1.15.4/ko/concepts/checkpointing","matchLevel":1},"v1.15.3":{"href":"/v1.15.3/ko/concepts/checkpointing","matchLevel":1},"v1.15.2":{"href":"/v1.15.2/ko/concepts/checkpointing","matchLevel":1},"v1.15.1":{"href":"/v1.15.1/ko/concepts/checkpointing","matchLevel":1},"v1.15.0":{"href":"/v1.15.0/ko/concepts/checkpointing","matchLevel":1},"v1.14.7":{"href":"/v1.14.7/ko/concepts/checkpointing","matchLevel":1},"v1.14.6":{"href":"/v1.14.6/ko/concepts/checkpointing","matchLevel":1},"v1.14.5":{"href":"/v1.14.5/ko/concepts/checkpointing","matchLevel":1},"v1.14.4":{"href":"/v1.14.4/ko/concepts/checkpointing","matchLevel":1},"v1.14.3":{"href":"/v1.14.3/ko/concepts/checkpointing","matchLevel":1},"v1.14.2":{"href":"/v1.14.2/ko/concepts/checkpointing","matchLevel":1},"v1.14.1":{"href":"/v1.14.1/ko/concepts/checkpointing","matchLevel":1},"v1.14.0":{"href":"/v1.14.0/ko/concepts/checkpointing","matchLevel":0},"v1.13.0":{"href":"/v1.13.0/ko/concepts/agents","matchLevel":2},"v1.12.2":{"href":"/v1.12.2/ko/concepts/agents","matchLevel":2},"v1.12.1":{"href":"/v1.12.1/ko/concepts/agents","matchLevel":2},"v1.12.0":{"href":"/v1.12.0/ko/concepts/agents","matchLevel":2},"v1.11.1":{"href":"/v1.11.1/ko/concepts/agents","matchLevel":2},"v1.11.0":{"href":"/v1.11.0/ko/concepts/agents","matchLevel":2},"v1.10.1":{"href":"/v1.10.1/ko/concepts/agents","matchLevel":2},"v1.10.0":{"href":"/v1.10.0/ko/concepts/agents","matchLevel":2}},"firstHrefInLanguage":{"en":{"href":"/v1.14.0/en/concepts/checkpointing","matchLevel":1},"pt-BR":{"href":"/v1.14.0/pt-BR/concepts/checkpointing","matchLevel":1},"ko":{"href":"/v1.14.0/ko/concepts/checkpointing","matchLevel":0},"ar":{"href":"/v1.14.0/ar/concepts/checkpointing","matchLevel":1}}},"lastModified":"2026-06-17T16:03:15.652Z","originalFileLocation":"v1.14.0/ko/concepts/checkpointing.mdx","locale":"ko"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"실행 상태를 자동으로 저장하여 크루, 플로우, 에이전트가 실패 후 재개할 수 있습니다.\">\u003cmeta data-mint-head name=\"keywords\" content=\"AI agents, multi-agent systems, CrewAI, artificial intelligence, automation, Python framework, agent collaboration, AI workflows\">\u003cmeta data-mint-head name=\"application-name\" content=\"CrewAI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/crewai/4u_yrBmnBvL-de5g/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/crewai/4u_yrBmnBvL-de5g/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/crewai/4u_yrBmnBvL-de5g/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/crewai/4u_yrBmnBvL-de5g/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/crewai/4u_yrBmnBvL-de5g/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/crewai/4u_yrBmnBvL-de5g/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/crewai/4u_yrBmnBvL-de5g/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/crewai/4u_yrBmnBvL-de5g/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/crewai/4u_yrBmnBvL-de5g/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Checkpointing - CrewAI\">\u003cmeta data-mint-head property=\"og:description\" content=\"실행 상태를 자동으로 저장하여 크루, 플로우, 에이전트가 실패 후 재개할 수 있습니다.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CrewAI Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.crewai.com/v1.14.0/ko/concepts/checkpointing\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.crewai.com/images/crew_only_logo.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Checkpointing - CrewAI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"실행 상태를 자동으로 저장하여 크루, 플로우, 에이전트가 실패 후 재개할 수 있습니다.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.crewai.com/images/crew_only_logo.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/crewai/4u_yrBmnBvL-de5g/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CrewAI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#EB6658\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.crewai.com/v1.14.0/ko/concepts/checkpointing\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v1.14.0/ko/concepts/checkpointing.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://docs.crewai.com/v1.14.0/ko/concepts/checkpointing\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.crewai.com/v1.14.0/en/concepts/checkpointing\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.crewai.com/v1.14.0/pt-BR/concepts/checkpointing\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ar\" href=\"https://docs.crewai.com/v1.14.0/ar/concepts/checkpointing\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.crewai.com/v1.14.0/en/concepts/checkpointing\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.crewai.com/#organization\",\"name\":\"CrewAI\",\"url\":\"https://docs.crewai.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/crewai/5SZbe87tsCWZY09V/images/crew_only_logo.png?fit=max\u0026auto=format\u0026n=5SZbe87tsCWZY09V\u0026q=85\u0026s=439ca5dc63a1768cad7196005ff5636f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.crewai.com#website\",\"name\":\"CrewAI\",\"url\":\"https://docs.crewai.com\",\"publisher\":{\"@id\":\"https://docs.crewai.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.crewai.com/v1.14.0/ko/concepts/checkpointing#webpage\",\"url\":\"https://docs.crewai.com/v1.14.0/ko/concepts/checkpointing\",\"name\":\"Checkpointing\",\"description\":\"실행 상태를 자동으로 저장하여 크루, 플로우, 에이전트가 실패 후 재개할 수 있습니다.\",\"dateModified\":\"2026-06-17T16:03:15.652Z\",\"isPartOf\":{\"@id\":\"https://docs.crewai.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.crewai.com/v1.14.0/ko/concepts/checkpointing#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.crewai.com/v1.14.0/ko/concepts/checkpointing#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"핵심 개념\",\"item\":\"https://docs.crewai.com/v1.14.0/ko/concepts/agents\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Checkpointing\",\"item\":\"https://docs.crewai.com/v1.14.0/ko/concepts/checkpointing\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.crewai.com/v1.14.0/ko/concepts/checkpointing#article\",\"headline\":\"Checkpointing\",\"name\":\"Checkpointing\",\"description\":\"실행 상태를 자동으로 저장하여 크루, 플로우, 에이전트가 실패 후 재개할 수 있습니다.\",\"url\":\"https://docs.crewai.com/v1.14.0/ko/concepts/checkpointing\",\"mainEntityOfPage\":{\"@id\":\"https://docs.crewai.com/v1.14.0/ko/concepts/checkpointing#webpage\"},\"image\":\"https://docs.crewai.com/images/crew_only_logo.png\",\"dateModified\":\"2026-06-17T16:03:15.652Z\",\"publisher\":{\"@id\":\"https://docs.crewai.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.crewai.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CrewAI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"CrewAI","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/v1.14.0/en/concepts/checkpointing"}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/v1.14.0/pt-BR/concepts/checkpointing"}]},{"language":"ko","versions":[{"version":"Edge","tag":"Edge","pages":[{"title":"Edge","href":"/edge/ko/concepts/checkpointing"}]},{"version":"v1.15.36","default":true,"tag":"Latest","pages":[{"title":"v1.15.36","href":"/v1.15.36/ko/concepts/checkpointing"}]},{"version":"v1.15.35","pages":[{"title":"v1.15.35","href":"/v1.15.35/ko/concepts/checkpointing"}]},{"version":"v1.15.34","pages":[{"title":"v1.15.34","href":"/v1.15.34/ko/concepts/checkpointing"}]},{"version":"v1.15.33","pages":[{"title":"v1.15.33","href":"/v1.15.33/ko/concepts/checkpointing"}]},{"version":"v1.15.32","pages":[{"title":"v1.15.32","href":"/v1.15.32/ko/concepts/checkpointing"}]},{"version":"v1.15.31","pages":[{"title":"v1.15.31","href":"/v1.15.31/ko/concepts/checkpointing"}]},{"version":"v1.15.30","pages":[{"title":"v1.15.30","href":"/v1.15.30/ko/concepts/checkpointing"}]},{"version":"v1.15.29","pages":[{"title":"v1.15.29","href":"/v1.15.29/ko/concepts/checkpointing"}]},{"version":"v1.15.28","pages":[{"title":"v1.15.28","href":"/v1.15.28/ko/concepts/checkpointing"}]},{"version":"v1.15.27","pages":[{"title":"v1.15.27","href":"/v1.15.27/ko/concepts/checkpointing"}]},{"version":"v1.15.26","pages":[{"title":"v1.15.26","href":"/v1.15.26/ko/concepts/checkpointing"}]},{"version":"v1.15.25","pages":[{"title":"v1.15.25","href":"/v1.15.25/ko/concepts/checkpointing"}]},{"version":"v1.15.24","pages":[{"title":"v1.15.24","href":"/v1.15.24/ko/concepts/checkpointing"}]},{"version":"v1.15.23","pages":[{"title":"v1.15.23","href":"/v1.15.23/ko/concepts/checkpointing"}]},{"version":"v1.15.22","pages":[{"title":"v1.15.22","href":"/v1.15.22/ko/concepts/checkpointing"}]},{"version":"v1.15.21","pages":[{"title":"v1.15.21","href":"/v1.15.21/ko/concepts/checkpointing"}]},{"version":"v1.15.20","pages":[{"title":"v1.15.20","href":"/v1.15.20/ko/concepts/checkpointing"}]},{"version":"v1.15.19","pages":[{"title":"v1.15.19","href":"/v1.15.19/ko/concepts/checkpointing"}]},{"version":"v1.15.18","pages":[{"title":"v1.15.18","href":"/v1.15.18/ko/concepts/checkpointing"}]},{"version":"v1.15.17","pages":[{"title":"v1.15.17","href":"/v1.15.17/ko/concepts/checkpointing"}]},{"version":"v1.15.16","pages":[{"title":"v1.15.16","href":"/v1.15.16/ko/concepts/checkpointing"}]},{"version":"v1.15.15","pages":[{"title":"v1.15.15","href":"/v1.15.15/ko/concepts/checkpointing"}]},{"version":"v1.15.14","pages":[{"title":"v1.15.14","href":"/v1.15.14/ko/concepts/checkpointing"}]},{"version":"v1.15.13","pages":[{"title":"v1.15.13","href":"/v1.15.13/ko/concepts/checkpointing"}]},{"version":"v1.15.12","pages":[{"title":"v1.15.12","href":"/v1.15.12/ko/concepts/checkpointing"}]},{"version":"v1.15.11","pages":[{"title":"v1.15.11","href":"/v1.15.11/ko/concepts/checkpointing"}]},{"version":"v1.15.10","pages":[{"title":"v1.15.10","href":"/v1.15.10/ko/concepts/checkpointing"}]},{"version":"v1.15.9","pages":[{"title":"v1.15.9","href":"/v1.15.9/ko/concepts/checkpointing"}]},{"version":"v1.15.8","pages":[{"title":"v1.15.8","href":"/v1.15.8/ko/concepts/checkpointing"}]},{"version":"v1.15.7","pages":[{"title":"v1.15.7","href":"/v1.15.7/ko/concepts/checkpointing"}]},{"version":"v1.15.6","pages":[{"title":"v1.15.6","href":"/v1.15.6/ko/concepts/checkpointing"}]},{"version":"v1.15.5","pages":[{"title":"v1.15.5","href":"/v1.15.5/ko/concepts/checkpointing"}]},{"version":"v1.15.4","pages":[{"title":"v1.15.4","href":"/v1.15.4/ko/concepts/checkpointing"}]},{"version":"v1.15.3","pages":[{"title":"v1.15.3","href":"/v1.15.3/ko/concepts/checkpointing"}]},{"version":"v1.15.2","pages":[{"title":"v1.15.2","href":"/v1.15.2/ko/concepts/checkpointing"}]},{"version":"v1.15.1","pages":[{"title":"v1.15.1","href":"/v1.15.1/ko/concepts/checkpointing"}]},{"version":"v1.15.0","pages":[{"title":"v1.15.0","href":"/v1.15.0/ko/concepts/checkpointing"}]},{"version":"v1.14.7","pages":[{"title":"v1.14.7","href":"/v1.14.7/ko/concepts/checkpointing"}]},{"version":"v1.14.6","pages":[{"title":"v1.14.6","href":"/v1.14.6/ko/concepts/checkpointing"}]},{"version":"v1.14.5","pages":[{"title":"v1.14.5","href":"/v1.14.5/ko/concepts/checkpointing"}]},{"version":"v1.14.4","pages":[{"title":"v1.14.4","href":"/v1.14.4/ko/concepts/checkpointing"}]},{"version":"v1.14.3","pages":[{"title":"v1.14.3","href":"/v1.14.3/ko/concepts/checkpointing"}]},{"version":"v1.14.2","pages":[{"title":"v1.14.2","href":"/v1.14.2/ko/concepts/checkpointing"}]},{"version":"v1.14.1","pages":[{"title":"v1.14.1","href":"/v1.14.1/ko/concepts/checkpointing"}]},{"version":"v1.14.0","tabs":[{"tab":"홈","icon":"house","pages":[{"title":"홈","href":"/v1.14.0/ko"}]},{"tab":"기술 문서","icon":"book-open","groups":[{"group":"시작 안내","pages":[{"title":"소개","icon":"handshake","mode":"wide","href":"/v1.14.0/ko/introduction"},{"title":"설치","icon":"wrench","mode":"wide","href":"/v1.14.0/ko/installation"},{"title":"퀵스타트","icon":"rocket","mode":"wide","href":"/v1.14.0/ko/quickstart"}]},{"group":"가이드","pages":[{"group":"전략","icon":"compass","pages":[{"title":"CrewAI 사용 사례 평가","icon":"scale-balanced","mode":"wide","href":"/v1.14.0/ko/guides/concepts/evaluating-use-cases"}]},{"group":"에이전트 (Agents)","icon":"user","pages":[{"title":"효과적인 에이전트 제작","icon":"robot","mode":"wide","href":"/v1.14.0/ko/guides/agents/crafting-effective-agents"}]},{"group":"크루 (Crews)","icon":"users","pages":[{"title":"첫 번째 크루 만들기","icon":"users-gear","mode":"wide","href":"/v1.14.0/ko/guides/crews/first-crew"}]},{"group":"플로우 (Flows)","icon":"code-branch","pages":[{"title":"첫 Flow 빌드하기","icon":"diagram-project","mode":"wide","href":"/v1.14.0/ko/guides/flows/first-flow"},{"title":"플로우 상태 관리 마스터하기","icon":"diagram-project","mode":"wide","href":"/v1.14.0/ko/guides/flows/mastering-flow-state"}]},{"group":"도구","icon":"wrench","pages":[{"title":"커스텀 도구 배포하기","icon":"box-open","mode":"wide","href":"/v1.14.0/ko/guides/tools/publish-custom-tools"}]},{"group":"코딩 도구","icon":"terminal","pages":[{"title":"코딩 도구","icon":"terminal","mode":"wide","href":"/v1.14.0/ko/guides/coding-tools/agents-md"}]},{"group":"고급","icon":"gear","pages":[{"title":"프롬프트 커스터마이징","icon":"message-pen","mode":"wide","href":"/v1.14.0/ko/guides/advanced/customizing-prompts"},{"title":"지문 인식","icon":"fingerprint","mode":"wide","href":"/v1.14.0/ko/guides/advanced/fingerprinting"}]},{"group":"마이그레이션","icon":"shuffle","pages":[{"title":"LangGraph에서 CrewAI로 옮기기: 엔지니어를 위한 실전 가이드","icon":"switch","mode":"wide","href":"/v1.14.0/ko/guides/migration/migrating-from-langgraph"}]}]},{"group":"핵심 개념","pages":[{"title":"에이전트","icon":"robot","mode":"wide","href":"/v1.14.0/ko/concepts/agents"},{"title":"작업","icon":"list-check","mode":"wide","href":"/v1.14.0/ko/concepts/tasks"},{"title":"에이전트 기능","icon":"puzzle-piece","mode":"wide","href":"/v1.14.0/ko/concepts/agent-capabilities"},{"title":"크루","icon":"people-group","mode":"wide","href":"/v1.14.0/ko/concepts/crews"},{"title":"Flows","icon":"arrow-progress","mode":"wide","href":"/v1.14.0/ko/concepts/flows"},{"title":"프로덕션 아키텍처","icon":"server","mode":"wide","href":"/v1.14.0/ko/concepts/production-architecture"},{"title":"Knowledge","icon":"book","mode":"wide","href":"/v1.14.0/ko/concepts/knowledge"},{"title":"스킬","icon":"bolt","mode":"wide","href":"/v1.14.0/ko/concepts/skills"},{"title":"LLMs","icon":"microchip-ai","mode":"wide","href":"/v1.14.0/ko/concepts/llms"},{"title":"파일","icon":"file-image","href":"/v1.14.0/ko/concepts/files"},{"title":"프로세스","icon":"bars-staggered","mode":"wide","href":"/v1.14.0/ko/concepts/processes"},{"title":"협업","icon":"screen-users","mode":"wide","href":"/v1.14.0/ko/concepts/collaboration"},{"title":"교육","icon":"dumbbell","mode":"wide","href":"/v1.14.0/ko/concepts/training"},{"title":"메모리","icon":"database","mode":"wide","href":"/v1.14.0/ko/concepts/memory"},{"title":"Reasoning","icon":"brain","mode":"wide","href":"/v1.14.0/ko/concepts/reasoning"},{"title":"계획","icon":"ruler-combined","mode":"wide","href":"/v1.14.0/ko/concepts/planning"},{"title":"테스트","icon":"vial","mode":"wide","href":"/v1.14.0/ko/concepts/testing"},{"title":"CLI","icon":"terminal","mode":"wide","href":"/v1.14.0/ko/concepts/cli"},{"title":"도구","icon":"screwdriver-wrench","mode":"wide","href":"/v1.14.0/ko/concepts/tools"},{"title":"이벤트 리스너","description":"CrewAI 이벤트에 연결하여 맞춤형 통합 및 모니터링 구축","icon":"spinner","mode":"wide","href":"/v1.14.0/ko/concepts/event-listener"},{"title":"Checkpointing","icon":"floppy-disk","mode":"wide","href":"/v1.14.0/ko/concepts/checkpointing"}]},{"group":"MCP 통합","pages":[{"title":"CrewAI에서 MCP 서버를 도구로 활용하기","description":"`crewai-tools` 라이브러리를 사용하여 MCP 서버를 CrewAI agent에 도구로 통합하는 방법을 알아봅니다.","icon":"plug","mode":"wide","href":"/v1.14.0/ko/mcp/overview"},{"title":"MCP DSL 통합","icon":"code","mode":"wide","href":"/v1.14.0/ko/mcp/dsl-integration"},{"title":"Stdio 전송","icon":"server","mode":"wide","href":"/v1.14.0/ko/mcp/stdio"},{"title":"SSE 트랜스포트","icon":"wifi","mode":"wide","href":"/v1.14.0/ko/mcp/sse"},{"title":"스트리머블 HTTP 전송","icon":"globe","mode":"wide","href":"/v1.14.0/ko/mcp/streamable-http"},{"title":"여러 MCP 서버에 연결하기","icon":"layer-group","mode":"wide","href":"/v1.14.0/ko/mcp/multiple-servers"},{"title":"MCP 보안 고려사항","icon":"lock","mode":"wide","href":"/v1.14.0/ko/mcp/security"}]},{"group":"도구 (Tools)","pages":[{"title":"도구 개요","icon":"toolbox","mode":"wide","href":"/v1.14.0/ko/tools/overview"},{"group":"파일 \u0026 문서","icon":"folder-open","pages":[{"title":"개요","icon":"face-smile","mode":"wide","href":"/v1.14.0/ko/tools/file-document/overview"},{"title":"파일 읽기","icon":"folders","mode":"wide","href":"/v1.14.0/ko/tools/file-document/filereadtool"},{"title":"파일 쓰기","icon":"file-pen","mode":"wide","href":"/v1.14.0/ko/tools/file-document/filewritetool"},{"title":"PDF RAG 검색","icon":"file-pdf","mode":"wide","href":"/v1.14.0/ko/tools/file-document/pdfsearchtool"},{"title":"DOCX RAG 검색","icon":"file-word","mode":"wide","href":"/v1.14.0/ko/tools/file-document/docxsearchtool"},{"title":"MDX RAG 검색","icon":"markdown","mode":"wide","href":"/v1.14.0/ko/tools/file-document/mdxsearchtool"},{"title":"XML RAG 검색","icon":"file-xml","mode":"wide","href":"/v1.14.0/ko/tools/file-document/xmlsearchtool"},{"title":"TXT RAG 검색","icon":"file-lines","mode":"wide","href":"/v1.14.0/ko/tools/file-document/txtsearchtool"},{"title":"JSON RAG 검색","icon":"file-code","mode":"wide","href":"/v1.14.0/ko/tools/file-document/jsonsearchtool"},{"title":"CSV RAG 검색","icon":"file-csv","mode":"wide","href":"/v1.14.0/ko/tools/file-document/csvsearchtool"},{"title":"디렉터리 RAG 검색","icon":"address-book","mode":"wide","href":"/v1.14.0/ko/tools/file-document/directorysearchtool"},{"title":"디렉터리 읽기","icon":"folder-tree","mode":"wide","href":"/v1.14.0/ko/tools/file-document/directoryreadtool"},{"title":"OCR 도구","icon":"image","mode":"wide","href":"/v1.14.0/ko/tools/file-document/ocrtool"},{"title":"PDF 텍스트 작성 도구","icon":"file-pdf","mode":"wide","href":"/v1.14.0/ko/tools/file-document/pdf-text-writing-tool"}]},{"group":"웹 스크래핑 \u0026 브라우징","icon":"globe","pages":[{"title":"개요","icon":"face-smile","mode":"wide","href":"/v1.14.0/ko/tools/web-scraping/overview"},{"title":"웹사이트 스크랩","icon":"magnifying-glass-location","mode":"wide","href":"/v1.14.0/ko/tools/web-scraping/scrapewebsitetool"},{"title":"웹사이트 요소 스크랩 도구","icon":"code","mode":"wide","href":"/v1.14.0/ko/tools/web-scraping/scrapeelementfromwebsitetool"},{"title":"Scrapfly 웹사이트 스크레이핑 도구","icon":"spider","mode":"wide","href":"/v1.14.0/ko/tools/web-scraping/scrapflyscrapetool"},{"title":"Selenium 스크래퍼","icon":"clipboard-user","mode":"wide","href":"/v1.14.0/ko/tools/web-scraping/seleniumscrapingtool"},{"title":"Scrapegraph 스크레이프 도구","icon":"chart-area","mode":"wide","href":"/v1.14.0/ko/tools/web-scraping/scrapegraphscrapetool"},{"title":"Spider 스크레이퍼","icon":"spider-web","mode":"wide","href":"/v1.14.0/ko/tools/web-scraping/spidertool"},{"title":"Browserbase 웹 로더","icon":"browser","mode":"wide","href":"/v1.14.0/ko/tools/web-scraping/browserbaseloadtool"},{"title":"Hyperbrowser 로드 도구","icon":"globe","mode":"wide","href":"/v1.14.0/ko/tools/web-scraping/hyperbrowserloadtool"},{"title":"Stagehand 도구","icon":"hand","mode":"wide","href":"/v1.14.0/ko/tools/web-scraping/stagehandtool"},{"title":"Firecrawl 웹사이트 크롤링","icon":"fire-flame","mode":"wide","href":"/v1.14.0/ko/tools/web-scraping/firecrawlcrawlwebsitetool"},{"title":"Firecrawl 웹사이트 스크랩","icon":"fire-flame","mode":"wide","href":"/v1.14.0/ko/tools/web-scraping/firecrawlscrapewebsitetool"},{"title":"Oxylabs 스크래퍼","icon":"globe","mode":"wide","href":"/v1.14.0/ko/tools/web-scraping/oxylabsscraperstool"},{"title":"Bright Data 도구","icon":"spider","mode":"wide","href":"/v1.14.0/ko/tools/web-scraping/brightdata-tools"}]},{"group":"검색 및 연구","icon":"magnifying-glass","pages":[{"title":"개요","icon":"face-smile","mode":"wide","href":"/v1.14.0/ko/tools/search-research/overview"},{"title":"Google Serper 검색","icon":"google","mode":"wide","href":"/v1.14.0/ko/tools/search-research/serperdevtool"},{"title":"Brave Search","icon":"searchengin","mode":"wide","href":"/v1.14.0/ko/tools/search-research/bravesearchtool"},{"title":"EXA 검색 웹 로더","icon":"globe-pointer","mode":"wide","href":"/v1.14.0/ko/tools/search-research/exasearchtool"},{"title":"Linkup 검색 도구","icon":"link","mode":"wide","href":"/v1.14.0/ko/tools/search-research/linkupsearchtool"},{"title":"Github 검색","icon":"github","mode":"wide","href":"/v1.14.0/ko/tools/search-research/githubsearchtool"},{"title":"웹사이트 RAG 검색","icon":"globe-stand","mode":"wide","href":"/v1.14.0/ko/tools/search-research/websitesearchtool"},{"title":"코드 문서 RAG 검색","icon":"code","mode":"wide","href":"/v1.14.0/ko/tools/search-research/codedocssearchtool"},{"title":"YouTube 채널 RAG 검색","icon":"youtube","mode":"wide","href":"/v1.14.0/ko/tools/search-research/youtubechannelsearchtool"},{"title":"YouTube 동영상 RAG 검색","icon":"youtube","mode":"wide","href":"/v1.14.0/ko/tools/search-research/youtubevideosearchtool"},{"title":"Tavily 검색 도구","icon":"magnifying-glass","mode":"wide","href":"/v1.14.0/ko/tools/search-research/tavilysearchtool"},{"title":"Tavily 추출기 도구","icon":"square-poll-horizontal","mode":"wide","href":"/v1.14.0/ko/tools/search-research/tavilyextractortool"},{"title":"Arxiv 논문 도구","icon":"box-archive","mode":"wide","href":"/v1.14.0/ko/tools/search-research/arxivpapertool"},{"title":"SerpApi 구글 검색 도구","icon":"google","mode":"wide","href":"/v1.14.0/ko/tools/search-research/serpapi-googlesearchtool"},{"title":"SerpApi 구글 쇼핑 도구","icon":"cart-shopping","mode":"wide","href":"/v1.14.0/ko/tools/search-research/serpapi-googleshoppingtool"},{"title":"Databricks SQL 쿼리 도구","icon":"trowel-bricks","mode":"wide","href":"/v1.14.0/ko/tools/search-research/databricks-query-tool"}]},{"group":"데이터베이스 \u0026 데이터","icon":"database","pages":[{"title":"개요","icon":"face-smile","mode":"wide","href":"/v1.14.0/ko/tools/database-data/overview"},{"title":"MySQL RAG 검색","icon":"database","mode":"wide","href":"/v1.14.0/ko/tools/database-data/mysqltool"},{"title":"PG RAG 검색","icon":"elephant","mode":"wide","href":"/v1.14.0/ko/tools/database-data/pgsearchtool"},{"title":"Snowflake 검색 도구","icon":"snowflake","mode":"wide","href":"/v1.14.0/ko/tools/database-data/snowflakesearchtool"},{"title":"NL2SQL 도구","icon":"language","mode":"wide","href":"/v1.14.0/ko/tools/database-data/nl2sqltool"},{"title":"Qdrant 벡터 검색 도구","icon":"vector-square","mode":"wide","href":"/v1.14.0/ko/tools/database-data/qdrantvectorsearchtool"},{"title":"Weaviate 벡터 검색","icon":"network-wired","mode":"wide","href":"/v1.14.0/ko/tools/database-data/weaviatevectorsearchtool"},{"title":"MongoDB 벡터 검색 도구","icon":"leaf","mode":"wide","href":"/v1.14.0/ko/tools/database-data/mongodbvectorsearchtool"},{"title":"SingleStore 검색 도구","icon":"circle","mode":"wide","href":"/v1.14.0/ko/tools/database-data/singlestoresearchtool"}]},{"group":"인공지능 \u0026 머신러닝","icon":"brain","pages":[{"title":"개요","icon":"face-smile","mode":"wide","href":"/v1.14.0/ko/tools/ai-ml/overview"},{"title":"DALL-E 도구","icon":"image","mode":"wide","href":"/v1.14.0/ko/tools/ai-ml/dalletool"},{"title":"비전 도구","icon":"eye","mode":"wide","href":"/v1.14.0/ko/tools/ai-ml/visiontool"},{"title":"AI 마인드 툴","icon":"brain","mode":"wide","href":"/v1.14.0/ko/tools/ai-ml/aimindtool"},{"title":"LlamaIndex 도구","icon":"address-book","mode":"wide","href":"/v1.14.0/ko/tools/ai-ml/llamaindextool"},{"title":"LangChain 도구","icon":"link","mode":"wide","href":"/v1.14.0/ko/tools/ai-ml/langchaintool"},{"title":"RAG 도구","icon":"vector-square","mode":"wide","href":"/v1.14.0/ko/tools/ai-ml/ragtool"},{"title":"코드 인터프리터","icon":"code-simple","mode":"wide","href":"/v1.14.0/ko/tools/ai-ml/codeinterpretertool"}]},{"group":"클라우드 \u0026 스토리지","icon":"cloud","pages":[{"title":"개요","icon":"face-smile","mode":"wide","href":"/v1.14.0/ko/tools/cloud-storage/overview"},{"title":"S3 리더 도구","icon":"aws","mode":"wide","href":"/v1.14.0/ko/tools/cloud-storage/s3readertool"},{"title":"S3 Writer Tool","icon":"aws","mode":"wide","href":"/v1.14.0/ko/tools/cloud-storage/s3writertool"},{"title":"Bedrock 지식 베이스 검색기","icon":"aws","mode":"wide","href":"/v1.14.0/ko/tools/cloud-storage/bedrockkbretriever"}]},{"group":"Integrations","icon":"plug","pages":[{"title":"개요","icon":"plug","mode":"wide","href":"/v1.14.0/ko/tools/integration/overview"},{"title":"Bedrock Invoke Agent Tool","icon":"aws","mode":"wide","href":"/v1.14.0/ko/tools/integration/bedrockinvokeagenttool"},{"title":"CrewAI Run Automation Tool","icon":"robot","href":"/v1.14.0/ko/tools/integration/crewaiautomationtool"}]},{"group":"자동화","icon":"bolt","pages":[{"title":"개요","icon":"face-smile","mode":"wide","href":"/v1.14.0/ko/tools/automation/overview"},{"title":"Apify 액터","icon":"); -webkit-mask-image: url('https://upload.wikimedia.org/wikipedia/commons/a/ae/Apify.svg');/*","mode":"wide","href":"/v1.14.0/ko/tools/automation/apifyactorstool"},{"title":"Composio 도구","icon":"gear-code","mode":"wide","href":"/v1.14.0/ko/tools/automation/composiotool"},{"title":"MultiOn Tool","icon":"globe","mode":"wide","href":"/v1.14.0/ko/tools/automation/multiontool"},{"title":"Zapier 액션 도구","icon":"bolt","mode":"wide","href":"/v1.14.0/ko/tools/automation/zapieractionstool"}]}]},{"group":"Observability","pages":[{"title":"CrewAI Tracing","icon":"magnifying-glass-chart","mode":"wide","href":"/v1.14.0/ko/observability/tracing"},{"title":"개요","icon":"face-smile","mode":"wide","href":"/v1.14.0/ko/observability/overview"},{"title":"Arize Phoenix","icon":"magnifying-glass-chart","mode":"wide","href":"/v1.14.0/ko/observability/arize-phoenix"},{"title":"Braintrust","icon":"magnifying-glass-chart","mode":"wide","href":"/v1.14.0/ko/observability/braintrust"},{"title":"Datadog 통합","icon":"dog","mode":"wide","href":"/v1.14.0/ko/observability/datadog"},{"title":"Galileo 갈릴레오","icon":"telescope","mode":"wide","href":"/v1.14.0/ko/observability/galileo"},{"title":"LangDB 통합","icon":"database","mode":"wide","href":"/v1.14.0/ko/observability/langdb"},{"title":"Langfuse 통합","icon":"vials","mode":"wide","href":"/v1.14.0/ko/observability/langfuse"},{"title":"Langtrace 연동","icon":"chart-line","mode":"wide","href":"/v1.14.0/ko/observability/langtrace"},{"title":"Maxim Integration","icon":"infinity","mode":"wide","href":"/v1.14.0/ko/observability/maxim"},{"title":"MLflow 통합","icon":"bars-staggered","mode":"wide","href":"/v1.14.0/ko/observability/mlflow"},{"title":"Neatlogs 통합","icon":"magnifying-glass-chart","mode":"wide","href":"/v1.14.0/ko/observability/neatlogs"},{"title":"OpenLIT 통합","icon":"magnifying-glass-chart","mode":"wide","href":"/v1.14.0/ko/observability/openlit"},{"title":"Opik 통합","icon":"meteor","mode":"wide","href":"/v1.14.0/ko/observability/opik"},{"title":"Patronus AI 평가","icon":"shield-check","mode":"wide","href":"/v1.14.0/ko/observability/patronus-evaluation"},{"title":"Portkey 통합","icon":"key","mode":"wide","href":"/v1.14.0/ko/observability/portkey"},{"title":"Weave 통합","icon":"radar","mode":"wide","href":"/v1.14.0/ko/observability/weave"}]},{"group":"학습","pages":[{"title":"개요","icon":"face-smile","mode":"wide","href":"/v1.14.0/ko/learn/overview"},{"title":"전략적 LLM 선택 가이드","icon":"brain-circuit","mode":"wide","href":"/v1.14.0/ko/learn/llm-selection-guide"},{"title":"조건부 태스크","icon":"diagram-subtask","mode":"wide","href":"/v1.14.0/ko/learn/conditional-tasks"},{"title":"코딩 에이전트","icon":"rectangle-code","mode":"wide","href":"/v1.14.0/ko/learn/coding-agents"},{"title":"커스텀 도구 생성","icon":"hammer","mode":"wide","href":"/v1.14.0/ko/learn/create-custom-tools"},{"title":"커스텀 LLM 구현","icon":"code","mode":"wide","href":"/v1.14.0/ko/learn/custom-llm"},{"title":"커스텀 매니저 에이전트","icon":"user-shield","mode":"wide","href":"/v1.14.0/ko/learn/custom-manager-agent"},{"title":"에이전트 맞춤화","icon":"user-pen","mode":"wide","href":"/v1.14.0/ko/learn/customizing-agents"},{"title":"DALL-E를 활용한 이미지 생성","icon":"image","mode":"wide","href":"/v1.14.0/ko/learn/dalle-image-generation"},{"title":"도구 출력 결과로 강제 지정하기","icon":"wrench-simple","mode":"wide","href":"/v1.14.0/ko/learn/force-tool-output-as-result"},{"title":"계층적 프로세스","icon":"sitemap","mode":"wide","href":"/v1.14.0/ko/learn/hierarchical-process"},{"title":"실행 중 인간 입력","icon":"user-plus","mode":"wide","href":"/v1.14.0/ko/learn/human-input-on-execution"},{"title":"Human-in-the-Loop (HITL) 워크플로우","icon":"user-check","mode":"wide","href":"/v1.14.0/ko/learn/human-in-the-loop"},{"title":"Flow에서 인간 피드백","icon":"user-check","mode":"wide","href":"/v1.14.0/ko/learn/human-feedback-in-flows"},{"title":"Crew 비동기 시작","icon":"rocket-launch","mode":"wide","href":"/v1.14.0/ko/learn/kickoff-async"},{"title":"각 항목에 대한 Kickoff Crew","icon":"at","mode":"wide","href":"/v1.14.0/ko/learn/kickoff-for-each"},{"title":"모든 LLM에 연결하기","icon":"brain-circuit","mode":"wide","href":"/v1.14.0/ko/learn/llm-connections"},{"title":"멀티모달 에이전트 사용하기","icon":"video","mode":"wide","href":"/v1.14.0/ko/learn/multimodal-agents"},{"title":"최신 Crew Kickoff에서 작업 다시 실행하기","icon":"arrow-right","mode":"wide","href":"/v1.14.0/ko/learn/replay-tasks-from-latest-crew-kickoff"},{"title":"순차 프로세스","icon":"forward","mode":"wide","href":"/v1.14.0/ko/learn/sequential-process"},{"title":"crew.py에서 어노테이션 사용하기","icon":"at","mode":"wide","href":"/v1.14.0/ko/learn/using-annotations"},{"title":"실행 훅 개요","mode":"wide","href":"/v1.14.0/ko/learn/execution-hooks"},{"title":"LLM 호출 훅","mode":"wide","href":"/v1.14.0/ko/learn/llm-hooks"},{"title":"도구 호출 훅","mode":"wide","href":"/v1.14.0/ko/learn/tool-hooks"}]},{"group":"Telemetry","pages":[{"title":"텔레메트리","icon":"signal-stream","mode":"wide","href":"/v1.14.0/ko/telemetry"}]}]},{"tab":"엔터프라이즈","icon":"briefcase","href":"https://docs-platform.crewai.com/platform/ko/introduction"},{"tab":"API 레퍼런스","icon":"magnifying-glass","pages":[{"title":"API 레퍼런스","href":"/v1.14.0/ko/api-reference/introduction"}]},{"tab":"예시","icon":"code","pages":[{"title":"예시","href":"/v1.14.0/ko/examples/example"}]},{"tab":"변경 로그","icon":"clock","pages":[{"title":"변경 로그","href":"/v1.14.0/ko/changelog"}]}]},{"version":"v1.13.0","pages":[{"title":"v1.13.0","href":"/v1.13.0/ko/concepts/agents"}]},{"version":"v1.12.2","pages":[{"title":"v1.12.2","href":"/v1.12.2/ko/concepts/agents"}]},{"version":"v1.12.1","pages":[{"title":"v1.12.1","href":"/v1.12.1/ko/concepts/agents"}]},{"version":"v1.12.0","pages":[{"title":"v1.12.0","href":"/v1.12.0/ko/concepts/agents"}]},{"version":"v1.11.1","pages":[{"title":"v1.11.1","href":"/v1.11.1/ko/concepts/agents"}]},{"version":"v1.11.0","pages":[{"title":"v1.11.0","href":"/v1.11.0/ko/concepts/agents"}]},{"version":"v1.10.1","pages":[{"title":"v1.10.1","href":"/v1.10.1/ko/concepts/agents"}]},{"version":"v1.10.0","pages":[{"title":"v1.10.0","href":"/v1.10.0/ko/concepts/agents"}]}],"global":{"anchors":[{"anchor":"웹사이트","icon":"globe","href":"https://crewai.com"},{"anchor":"포럼","icon":"discourse","href":"https://community.crewai.com"},{"anchor":"블로그","icon":"newspaper","href":"https://blog.crewai.com"},{"anchor":"CrewGPT","icon":"robot","href":"https://chatgpt.com/g/g-qqTuUWsBY-crewai-assistant"}]}},{"language":"ar","pages":[{"title":"ar","href":"/v1.14.0/ar/concepts/checkpointing"}]}]},"basePath":"","title":"Checkpointing - CrewAI","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":[],"chunks":[]}