기본적으로 CrewAI는 순차적 프로세스로 작업을 관리한다. 하지만 계층적 접근 방식을 도입하면 작업 관리에 명확한 계층 구조를 적용할 수 있다. 이 방식에서는 ‘매니저’ 에이전트가 워크플로를 조율하고, 작업을 위임하며, 결과를 검증하여 효율적이고 원활한 실행을 보장한다. 이 매니저 에이전트는 CrewAI가 자동으로 생성하거나 사용자가 직접 설정할 수 있다.
계층적 프로세스를 활용하려면 프로세스 속성을 Process.hierarchical로 명시적으로 설정해야 한다. 기본값은 Process.sequential이기 때문이다. 크루를 정의할 때 관리자를 지정하고 명확한 명령 체계를 수립한다.
작업 위임과 실행을 원활하게 하려면 에이전트 수준에서 도구를 할당한다. 관리자의 지시에 따라 지정된 에이전트가 작업을 수행할 수 있도록 한다. 작업 실행 중 도구 사용을 정밀하게 제어하려면 작업 수준에서 도구를 지정할 수도 있다.
계층적 프로세스에서 manager_llm 매개변수를 설정하는 것은 매우 중요하다. 시스템이 올바르게 작동하려면 관리자 LLM을 설정해야 하며, 이를 통해 맞춤형 의사결정이 가능해진다.
from langchain_openai import ChatOpenAIfrom crewai import Crew, Process, Agent# 에이전트는 배경 이야기, 캐시, 상세 모드 등의 속성으로 정의된다researcher = Agent( role='연구원', goal='심층 분석 수행', backstory='숨겨진 트렌드를 발견하는 데 능숙한 경험 많은 데이터 분석가', cache=True, verbose=False, # tools=[] # 선택적으로 지정 가능하며, 기본값은 빈 리스트다 use_system_prompt=True, # 이 에이전트에 대해 시스템 프롬프트를 활성화 또는 비활성화한다 max_rpm=30, # 분당 요청 수 제한 max_iter=5 # 최종 답변을 위한 최대 반복 횟수)writer = Agent( role='작가', goal='매력적인 콘텐츠 작성', backstory='기술 분야에서 스토리텔링에 열정적인 창의적인 작가', cache=True, verbose=False, # tools=[] # 선택적으로 도구를 지정할 수 있으며, 기본값은 빈 리스트다 use_system_prompt=True, # 이 에이전트에 대해 시스템 프롬프트를 활성화 또는 비활성화한다 max_rpm=30, # 분당 요청 수 제한 max_iter=5 # 최종 답변을 위한 최대 반복 횟수)# 계층적 프로세스와 추가 설정으로 크루를 구성한다project_crew = Crew( tasks=[...], # 관리자의 감독 하에 위임되고 실행될 작업들 agents=[researcher, writer], manager_llm=ChatOpenAI(temperature=0, model="gpt-4"), # manager_agent가 설정되지 않은 경우 필수 process=Process.hierarchical, # 계층적 관리 방식을 지정한다 respect_context_window=True, # 작업에 대한 컨텍스트 윈도우를 준수한다 memory=True, # 작업 실행을 개선하기 위해 메모리 사용을 활성화한다 manager_agent=None, # 선택 사항: manager_llm 대신 특정 에이전트를 관리자로 명시적으로 설정한다 planning=True, # 실행 전 전략을 위한 계획 기능을 활성화한다)
CrewAI의 계층적 프로세스를 도입하고, 시스템의 기능을 정확히 이해하며 적절하게 구성하면 프로젝트 관리를 체계적이고 효율적으로 수행할 수 있다. 고급 기능과 커스텀 설정을 활용해 워크플로를 특정 요구사항에 맞게 조정하면, 최적의 작업 실행과 프로젝트 성공을 보장할 수 있다.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"CrewAI","colors":{"primary":"#EB6658","light":"#F3A78B","dark":"#C94C3C"},"favicon":"favicon.svg","logo":{"light":"https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/crew_only_logo.png?fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=416de478f9659f33187a270b65cd8692","dark":"https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/crew_only_logo.png?fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=416de478f9659f33187a270b65cd8692"},"appearance":{"default":"dark","strict":false},"navbar":{"primary":{"type":"github","href":"https://github.com/crewAIInc/crewAI"}},"search":{"prompt":"Search CrewAI docs"},"seo":{"indexing":"navigable"},"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"}},"navigation":{"global":{"anchors":[{"anchor":"Community","href":"https://community.crewai.com","icon":"discourse"},{"anchor":"Changelog","href":"https://github.com/crewAIInc/crewAI/releases","icon":"timeline"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"burtk","hasAudioNarration":false,"actualSubdomain":"burtk","customDomains":["crewai.burt.pe.kr"],"gitSource":{"type":"github","owner":"skyfe79","repo":"crewai-dev-docs","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e68f044dd579e9b57b28","collectionId":"1fdb12df-1617-45b8-8d8f-6adc9443d8ef","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21e68f044dd579e9b57b28:success","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Get Started","count":75},{"language":"default","tag":"Tools","count":32},{"language":"default","tag":"How to Guides","count":20},{"language":"default","tag":"Core Concepts","count":16},{"language":"default","tag":"Examples","count":2},{"language":"default","tag":"Telemetry","count":1}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"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":"byok-sep-25","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":"billing-updated-9-15","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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"how-to/hierarchical-process","slug":"/how-to/hierarchical-process","pageMetadata":{"title":"계층적 프로세스","description":"CrewAI 프로젝트 내에서 계층적 프로세스를 이해하고 적용하기 위한 종합 가이드. 최신 코딩 관행과 기능을 반영하여 업데이트됨.","icon":"sitemap","href":"/how-to/hierarchical-process"},"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: \"CrewAI 프로젝트 내에서 계층적 프로세스를 이해하고 적용하기 위한 종합 가이드. 최신 코딩 관행과 기능을 반영하여 업데이트됨.\"\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={code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`소개`,children:`소개`}),`\n`,_jsx(_components.p,{children:`CrewAI의 계층적 프로세스는 전통적인 조직 구조를 모방해 효율적인 업무 위임과 실행을 위한 구조화된 접근 방식을 도입한다. 이러한 체계적인 워크플로는 업무가 최적의 효율성과 정확성으로 처리되도록 보장함으로써 프로젝트 결과를 향상시킨다.`}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`계층적 프로세스는 GPT-4와 같은 고급 모델을 활용하도록 설계되어 복잡한 업무를 더 효율적으로 처리하면서 토큰 사용을 최적화한다.`})}),`\n`,_jsx(Heading,{level:`2`,id:`계층적-프로세스-개요`,children:`계층적 프로세스 개요`}),`\n`,_jsx(_components.p,{children:`기본적으로 CrewAI는 순차적 프로세스로 작업을 관리한다. 하지만 계층적 접근 방식을 도입하면 작업 관리에 명확한 계층 구조를 적용할 수 있다. 이 방식에서는 ‘매니저’ 에이전트가 워크플로를 조율하고, 작업을 위임하며, 결과를 검증하여 효율적이고 원활한 실행을 보장한다. 이 매니저 에이전트는 CrewAI가 자동으로 생성하거나 사용자가 직접 설정할 수 있다.`}),`\n`,_jsx(Heading,{level:`3`,id:`주요-기능`,children:`주요 기능`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`작업 위임`}),`: 관리자 에이전트가 각 구성원의 역할과 역량에 따라 작업을 배분한다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`결과 검증`}),`: 관리자가 결과를 평가해 요구 사항을 충족하는지 확인한다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`효율적인 워크플로`}),`: 기업 구조를 모방해 작업 관리를 체계적으로 수행한다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`시스템 프롬프트 처리`}),`: 시스템이 미리 정의된 프롬프트를 사용할지 여부를 선택적으로 지정한다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`불용어 제어`}),`: 불용어를 사용할지 여부를 선택적으로 지정하며, o1 모델을 포함한 다양한 모델을 지원한다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`컨텍스트 윈도우 존중`}),`: 중요한 컨텍스트를 우선시하도록 컨텍스트 윈도우 존중 기능을 활성화한다. 이 기능은 이제 기본 동작이다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`위임 제어`}),`: 사용자가 명시적으로 제어할 수 있도록 위임 기능은 기본적으로 비활성화된다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`분당 최대 요청 수`}),`: 분당 처리할 최대 요청 수를 설정할 수 있다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`최대 반복 횟수`}),`: 최종 답변을 얻기 위한 최대 반복 횟수를 제한한다.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`계층적-프로세스-구현`,children:`계층적 프로세스 구현`}),`\n`,_jsxs(_components.p,{children:[`계층적 프로세스를 활용하려면 프로세스 속성을 `,_jsx(_components.code,{children:`Process.hierarchical`}),`로 명시적으로 설정해야 한다. 기본값은 `,_jsx(_components.code,{children:`Process.sequential`}),`이기 때문이다. 크루를 정의할 때 관리자를 지정하고 명확한 명령 체계를 수립한다.`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`작업 위임과 실행을 원활하게 하려면 에이전트 수준에서 도구를 할당한다. 관리자의 지시에 따라 지정된 에이전트가 작업을 수행할 수 있도록 한다. 작업 실행 중 도구 사용을 정밀하게 제어하려면 작업 수준에서 도구를 지정할 수도 있다.`})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`계층적 프로세스에서 `,_jsx(_components.code,{children:`manager_llm`}),` 매개변수를 설정하는 것은 매우 중요하다. 시스템이 올바르게 작동하려면 관리자 LLM을 설정해야 하며, 이를 통해 맞춤형 의사결정이 가능해진다.`]})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`38`,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:`38`,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:` langchain_openai `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ChatOpenAI`})]}),`\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:` Crew, Process, Agent`})]}),`\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:`researcher `}),_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:`'연구원'`}),_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:`'심층 분석 수행'`}),_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:`'숨겨진 트렌드를 발견하는 데 능숙한 경험 많은 데이터 분석가'`}),_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:` cache`}),_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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` verbose`}),_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:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # tools=[] # 선택적으로 지정 가능하며, 기본값은 빈 리스트다`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` use_system_prompt`}),_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:`# 이 에이전트에 대해 시스템 프롬프트를 활성화 또는 비활성화한다`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_rpm`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`30`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 분당 요청 수 제한`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_iter`}),_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:`#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:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`writer `}),_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:`'작가'`}),_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:`'매력적인 콘텐츠 작성'`}),_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:`'기술 분야에서 스토리텔링에 열정적인 창의적인 작가'`}),_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:` cache`}),_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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` verbose`}),_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:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # tools=[] # 선택적으로 도구를 지정할 수 있으며, 기본값은 빈 리스트다`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` use_system_prompt`}),_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:`# 이 에이전트에 대해 시스템 프롬프트를 활성화 또는 비활성화한다`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_rpm`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`30`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 분당 요청 수 제한`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` max_iter`}),_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:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # 최종 답변을 위한 최대 반복 횟수`})]}),`\n`,_jsx(_components.span,{className:`line`,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:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`project_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:` 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:`], `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 관리자의 감독 하에 위임되고 실행될 작업들`})]}),`\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:` manager_llm`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`ChatOpenAI(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`temperature`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gpt-4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# manager_agent가 설정되지 않은 경우 필수`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` process`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Process.hierarchical, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 계층적 관리 방식을 지정한다`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` respect_context_window`}),_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:`# 작업에 대한 컨텍스트 윈도우를 준수한다`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` memory`}),_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:`# 작업 실행을 개선하기 위해 메모리 사용을 활성화한다`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` manager_agent`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`None`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 선택 사항: manager_llm 대신 특정 에이전트를 관리자로 명시적으로 설정한다`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` planning`}),_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:`# 실행 전 전략을 위한 계획 기능을 활성화한다`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`워크플로우-실행-과정`,children:`워크플로우 실행 과정`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`업무 배정`}),`: 매니저는 각 에이전트의 역량과 사용 가능한 도구를 고려해 전략적으로 업무를 할당한다.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`실행 및 검토`}),`: 에이전트는 비동기 실행 옵션과 콜백 함수를 활용해 업무를 완료하며, 이를 통해 워크플로우를 효율적으로 관리한다.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`순차적 업무 진행`}),`: 계층적 프로세스임에도 불구하고, 매니저의 감독 하에 업무가 논리적인 순서로 원활하게 진행된다.`]}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`결론`,children:`결론`}),`\n`,_jsx(_components.p,{children:`CrewAI의 계층적 프로세스를 도입하고, 시스템의 기능을 정확히 이해하며 적절하게 구성하면 프로젝트 관리를 체계적이고 효율적으로 수행할 수 있다. 고급 기능과 커스텀 설정을 활용해 워크플로를 특정 요구사항에 맞게 조정하면, 최적의 작업 실행과 프로젝트 성공을 보장할 수 있다.`})]})}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":"계층적 프로세스","description":"CrewAI 프로젝트 내에서 계층적 프로세스를 이해하고 적용하기 위한 종합 가이드. 최신 코딩 관행과 기능을 반영하여 업데이트됨.","icon":"sitemap","href":"/how-to/hierarchical-process"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"소개","slug":"소개","depth":2,"children":[]},{"title":"계층적 프로세스 개요","slug":"계층적-프로세스-개요","depth":2,"children":[{"title":"주요 기능","slug":"주요-기능","depth":3,"children":[]}]},{"title":"계층적 프로세스 구현","slug":"계층적-프로세스-구현","depth":2,"children":[{"title":"워크플로우 실행 과정","slug":"워크플로우-실행-과정","depth":3,"children":[]}]},{"title":"결론","slug":"결론","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"burtk","siteName":"CrewAI","title":"계층적 프로세스 - CrewAI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T06:46:23.892Z","originalFileLocation":"how-to/hierarchical-process.mdx"},"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=\"dark\"}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=\"CrewAI 프로젝트 내에서 계층적 프로세스를 이해하고 적용하기 위한 종합 가이드. 최신 코딩 관행과 기능을 반영하여 업데이트됨.\">\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/burtk/hKdXq3QrSgYI5ALr/_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/burtk/hKdXq3QrSgYI5ALr/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/burtk/hKdXq3QrSgYI5ALr/_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/burtk/hKdXq3QrSgYI5ALr/_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/burtk/hKdXq3QrSgYI5ALr/_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/burtk/hKdXq3QrSgYI5ALr/_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/burtk/hKdXq3QrSgYI5ALr/_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/burtk/hKdXq3QrSgYI5ALr/_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/burtk/hKdXq3QrSgYI5ALr/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"계층적 프로세스 - CrewAI\">\u003cmeta data-mint-head property=\"og:description\" content=\"CrewAI 프로젝트 내에서 계층적 프로세스를 이해하고 적용하기 위한 종합 가이드. 최신 코딩 관행과 기능을 반영하여 업데이트됨.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CrewAI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://crewai.burt.pe.kr/how-to/hierarchical-process\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://burtk.mintlify.app/_mintlify/api/og/v2?division=How+to+Guides\u0026amp;title=%EA%B3%84%EC%B8%B5%EC%A0%81+%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4\u0026amp;description=CrewAI+%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8+%EB%82%B4%EC%97%90%EC%84%9C+%EA%B3%84%EC%B8%B5%EC%A0%81+%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EB%A5%BC+%EC%9D%B4%ED%95%B4%ED%95%98%EA%B3%A0+%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0+%EC%9C%84%ED%95%9C+%EC%A2%85%ED%95%A9+%EA%B0%80%EC%9D%B4%EB%93%9C.+%EC%B5%9C%EC%8B%A0+%EC%BD%94%EB%94%A9+%EA%B4%80%ED%96%89%EA%B3%BC+%EA%B8%B0%EB%8A%A5%EC%9D%84+%EB%B0%98%EC%98%81%ED%95%98%EC%97%AC+%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8%EB%90%A8.\u0026amp;theme=5c009710c6400deb3b026f8d\u0026amp;signature=b6f66bad0f7b4a94811a625ec5578a611b95832b1fb99d68d82669ba88baadd7\">\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=\"계층적 프로세스 - CrewAI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"CrewAI 프로젝트 내에서 계층적 프로세스를 이해하고 적용하기 위한 종합 가이드. 최신 코딩 관행과 기능을 반영하여 업데이트됨.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://burtk.mintlify.app/_mintlify/api/og/v2?division=How+to+Guides\u0026amp;title=%EA%B3%84%EC%B8%B5%EC%A0%81+%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4\u0026amp;description=CrewAI+%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8+%EB%82%B4%EC%97%90%EC%84%9C+%EA%B3%84%EC%B8%B5%EC%A0%81+%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EB%A5%BC+%EC%9D%B4%ED%95%B4%ED%95%98%EA%B3%A0+%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0+%EC%9C%84%ED%95%9C+%EC%A2%85%ED%95%A9+%EA%B0%80%EC%9D%B4%EB%93%9C.+%EC%B5%9C%EC%8B%A0+%EC%BD%94%EB%94%A9+%EA%B4%80%ED%96%89%EA%B3%BC+%EA%B8%B0%EB%8A%A5%EC%9D%84+%EB%B0%98%EC%98%81%ED%95%98%EC%97%AC+%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8%EB%90%A8.\u0026amp;theme=5c009710c6400deb3b026f8d\u0026amp;signature=b6f66bad0f7b4a94811a625ec5578a611b95832b1fb99d68d82669ba88baadd7\">\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/burtk/hKdXq3QrSgYI5ALr/_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://crewai.burt.pe.kr/how-to/hierarchical-process\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/how-to/hierarchical-process.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://crewai.burt.pe.kr/#organization\",\"name\":\"CrewAI\",\"url\":\"https://crewai.burt.pe.kr\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/crew_only_logo.png?fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=416de478f9659f33187a270b65cd8692\"}},{\"@type\":\"WebSite\",\"@id\":\"https://crewai.burt.pe.kr#website\",\"name\":\"CrewAI\",\"url\":\"https://crewai.burt.pe.kr\",\"publisher\":{\"@id\":\"https://crewai.burt.pe.kr/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://crewai.burt.pe.kr/how-to/hierarchical-process#webpage\",\"url\":\"https://crewai.burt.pe.kr/how-to/hierarchical-process\",\"name\":\"계층적 프로세스\",\"description\":\"CrewAI 프로젝트 내에서 계층적 프로세스를 이해하고 적용하기 위한 종합 가이드. 최신 코딩 관행과 기능을 반영하여 업데이트됨.\",\"dateModified\":\"2026-01-07T06:46:23.892Z\",\"isPartOf\":{\"@id\":\"https://crewai.burt.pe.kr#website\"},\"breadcrumb\":{\"@id\":\"https://crewai.burt.pe.kr/how-to/hierarchical-process#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://crewai.burt.pe.kr/how-to/hierarchical-process#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"How to Guides\",\"item\":\"https://crewai.burt.pe.kr/how-to/create-custom-tools\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"계층적 프로세스\",\"item\":\"https://crewai.burt.pe.kr/how-to/hierarchical-process\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://crewai.burt.pe.kr/how-to/hierarchical-process#article\",\"headline\":\"계층적 프로세스\",\"name\":\"계층적 프로세스\",\"description\":\"CrewAI 프로젝트 내에서 계층적 프로세스를 이해하고 적용하기 위한 종합 가이드. 최신 코딩 관행과 기능을 반영하여 업데이트됨.\",\"url\":\"https://crewai.burt.pe.kr/how-to/hierarchical-process\",\"mainEntityOfPage\":{\"@id\":\"https://crewai.burt.pe.kr/how-to/hierarchical-process#webpage\"},\"dateModified\":\"2026-01-07T06:46:23.892Z\",\"publisher\":{\"@id\":\"https://crewai.burt.pe.kr/#organization\"},\"isPartOf\":{\"@id\":\"https://crewai.burt.pe.kr#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":{"anchors":[{"anchor":"Community","href":"https://community.crewai.com","icon":"discourse"},{"anchor":"Changelog","href":"https://github.com/crewAIInc/crewAI/releases","icon":"timeline"}]},"tabs":[{"tab":"Get Started","groups":[{"group":"Get Started","pages":[{"title":"소개","icon":"handshake","href":"/introduction"},{"title":"설치","icon":"wrench","href":"/installation"},{"title":"Quickstart","icon":"rocket","href":"/quickstart"}]},{"group":"Core Concepts","pages":[{"title":"Agents","icon":"robot","href":"/concepts/agents"},{"title":"Tasks","icon":"list-check","href":"/concepts/tasks"},{"title":"Crews","icon":"people-group","href":"/concepts/crews"},{"title":"Flows","icon":"arrow-progress","href":"/concepts/flows"},{"title":"Knowledge","icon":"book","href":"/concepts/knowledge"},{"title":"LLMs","icon":"microchip-ai","href":"/concepts/llms"},{"title":"Processes","icon":"bars-staggered","href":"/concepts/processes"},{"title":"협업","icon":"screen-users","href":"/concepts/collaboration"},{"title":"Training","icon":"dumbbell","href":"/concepts/training"},{"title":"Memory","icon":"database","href":"/concepts/memory"},{"title":"Planning","icon":"brain","href":"/concepts/planning"},{"title":"테스트","icon":"vial","href":"/concepts/testing"},{"title":"CLI","icon":"terminal","href":"/concepts/cli"},{"title":"도구","icon":"screwdriver-wrench","href":"/concepts/tools"},{"title":"LangChain 도구 활용하기","icon":"link","href":"/concepts/langchain-tools"},{"title":"LlamaIndex 도구 활용하기","icon":"toolbox","href":"/concepts/llamaindex-tools"}]},{"group":"How to Guides","pages":[{"title":"커스텀 도구 만들기","icon":"hammer","href":"/how-to/create-custom-tools"},{"title":"순차적 프로세스","description":"CrewAI 프로젝트에서 작업 실행을 위한 순차적 프로세스 활용에 대한 종합 가이드.","icon":"forward","href":"/how-to/sequential-process"},{"title":"계층적 프로세스","icon":"sitemap","href":"/how-to/hierarchical-process"},{"title":"나만의 매니저 에이전트 만들기","description":"CrewAI에서 커스텀 에이전트를 매니저로 설정하는 방법을 배워보세요. 이를 통해 태스크 관리와 조정에 더 많은 제어권을 가질 수 있습니다.","icon":"user-shield","href":"/how-to/custom-manager-agent"},{"title":"다양한 LLM 연결하기","icon":"brain-circuit","href":"/how-to/llm-connections"},{"title":"커스텀 에이전트 설정","icon":"user-pen","href":"/how-to/customizing-agents"},{"title":"멀티모달 에이전트 활용하기","icon":"video","href":"/how-to/multimodal-agents"},{"title":"코딩 에이전트","icon":"rectangle-code","href":"/how-to/coding-agents"},{"title":"도구 출력 결과 강제 지정","icon":"wrench-simple","href":"/how-to/force-tool-output-as-result"},{"title":"실행 과정에서의 인간 입력","icon":"user-check","href":"/how-to/human-input-on-execution"},{"title":"비동기 방식으로 크루 시작하기","icon":"rocket-launch","href":"/how-to/kickoff-async"},{"title":"Kickoff Crew for Each","icon":"at","href":"/how-to/kickoff-for-each"},{"title":null,"href":"/how-to/replay-tasks-from-latest-crew-kickoff"},{"title":"조건부 작업","icon":"diagram-subtask","href":"/how-to/conditional-tasks"},{"title":"AgentOps를 활용한 에이전트 모니터링","icon":"paperclip","href":"/how-to/agentops-observability"},{"title":"Langtrace를 활용한 에이전트 모니터링","icon":"chart-line","href":"/how-to/langtrace-observability"},{"title":"MLflow를 활용한 에이전트 모니터링","icon":"bars-staggered","href":"/how-to/mlflow-observability"},{"title":"OpenLIT로 에이전트 모니터링 시작하기","icon":"magnifying-glass-chart","href":"/how-to/openlit-observability"},{"title":"Portkey를 활용한 에이전트 모니터링","icon":"key","href":"/how-to/portkey-observability"},{"title":"Langfuse로 에이전트 모니터링하기","icon":"magnifying-glass-chart","href":"/how-to/langfuse-observability"}]},{"group":"Tools","pages":[{"title":"Browserbase Web Loader","icon":"browser","href":"/tools/browserbaseloadtool"},{"title":"Code Docs RAG Search","icon":"code","href":"/tools/codedocssearchtool"},{"title":"Code Interpreter","icon":"code-simple","href":"/tools/codeinterpretertool"},{"title":"Composio Tool","icon":"gear-code","href":"/tools/composiotool"},{"title":"CSV RAG 검색","icon":"file-csv","href":"/tools/csvsearchtool"},{"title":"DALL-E Tool","icon":"image","href":"/tools/dalletool"},{"title":"Directory RAG Search","icon":"address-book","href":"/tools/directorysearchtool"},{"title":"디렉토리 읽기","icon":"folder-tree","href":"/tools/directoryreadtool"},{"title":"DOCX RAG 검색","icon":"file-word","href":"/tools/docxsearchtool"},{"title":"EXA Search Web Loader","icon":"globe-pointer","href":"/tools/exasearchtool"},{"title":"파일 읽기","icon":"folders","href":"/tools/filereadtool"},{"title":"파일 쓰기","icon":"file-pen","href":"/tools/filewritetool"},{"title":"Firecrawl 웹사이트 크롤링","icon":"fire-flame","href":"/tools/firecrawlcrawlwebsitetool"},{"title":"Firecrawl 웹사이트 스크랩","icon":"fire-flame","href":"/tools/firecrawlscrapewebsitetool"},{"title":"Firecrawl Search","icon":"fire-flame","href":"/tools/firecrawlsearchtool"},{"title":"Github Search","icon":"github","href":"/tools/githubsearchtool"},{"title":"Google Serper 검색","icon":"google","href":"/tools/serperdevtool"},{"title":"JSON RAG 검색","icon":"file-code","href":"/tools/jsonsearchtool"},{"title":"MDX RAG 검색","icon":"markdown","href":"/tools/mdxsearchtool"},{"title":"MySQL RAG 검색","icon":"database","href":"/tools/mysqltool"},{"title":"NL2SQL Tool","icon":"language","href":"/tools/nl2sqltool"},{"title":"PDF RAG 검색","icon":"file-pdf","href":"/tools/pdfsearchtool"},{"title":"PG RAG 검색","icon":"database","href":"/tools/pgsearchtool"},{"title":"웹사이트 스크래핑","icon":"magnifying-glass-location","href":"/tools/scrapewebsitetool"},{"title":"Selenium Scraper","icon":"clipboard-user","href":"/tools/seleniumscrapingtool"},{"title":"Spider Scraper","icon":"spider-web","href":"/tools/spidertool"},{"title":"TXT RAG 검색","icon":"file-lines","href":"/tools/txtsearchtool"},{"title":"Vision Tool","icon":"eye","href":"/tools/visiontool"},{"title":"웹사이트 RAG 검색","icon":"globe-stand","href":"/tools/websitesearchtool"},{"title":"XML RAG 검색","icon":"file-xml","href":"/tools/xmlsearchtool"},{"title":"YouTube 채널 RAG 검색","icon":"youtube","href":"/tools/youtubechannelsearchtool"},{"title":"YouTube Video RAG Search","icon":"youtube","href":"/tools/youtubevideosearchtool"}]},{"group":"Telemetry","pages":[{"title":"Telemetry","icon":"signal-stream","href":"/telemetry"}]}]},{"tab":"Examples","pages":[{"title":"Examples","href":"/examples/example"}]}]},"basePath":"","title":"계층적 프로세스 - CrewAI","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}