claude_code 프리셋으로 시작합니다. 다른 표면, 정체성 또는 권한 모델을 가진 에이전트의 경우 자신의 프롬프트를 작성합니다.
시스템 프롬프트 작동 방식
시스템 프롬프트는 대화 전체에서 Claude의 동작 방식을 형성하는 초기 명령 집합입니다. Agent SDK에는 이에 대한 세 가지 시작점이 있습니다:- 최소 기본값: TypeScript에서
systemPrompt를 설정하지 않거나 Python에서system_prompt를 설정하지 않으면, SDK는 도구 호출을 다루지만claude_code프리셋의 나머지 콘텐츠(보안 및 안전 명령 포함)를 생략하는 최소 프롬프트를 사용합니다. 이는 기본적으로 Claude Code 시스템 프롬프트를 사용하는claude -p와 다릅니다. CLI에서 마이그레이션하고 일치하는 동작을 원하면claude_code프리셋을 설정합니다. claude_code프리셋: Claude Code CLI가 사용하는 시스템 프롬프트로, 도구 사용 명령 및 보안과 안전 명령을 포함합니다. TypeScript에서systemPrompt: { type: "preset", preset: "claude_code" }를 설정하거나 Python에서system_prompt={"type": "preset", "preset": "claude_code"}를 설정하고, 선택적으로append를 사용하여 끝에 자신의 명령을 추가합니다.- 사용자 정의 문자열: 직접 작성한 프롬프트입니다. SDK는 제공하는 것만 전송합니다.
시작점 결정
결정 요소는 에이전트가 Claude Code와 얼마나 유사한지입니다: 저장소에서 작동하는 코딩 에이전트로, 인간이 스트리밍 출력을 보고 작업을 조종합니다. 제품이 그것으로부터 멀어질수록, 자신의 프롬프트를 더 많이 작성하고 싶을 것입니다.
“Claude Code와 다름”은 일반적으로 다음 중 하나를 의미합니다:
- 다른 표면: 출력이 이를 트리거한 사람에 의해 터미널에서 읽혀지지 않습니다. 채팅 UI, 구조화된 출력 소비자 및 비코딩 자동화는 각각 출력이 렌더링되고 검토되는 방식과 일치하는 프롬프트가 필요합니다. CI 작업이 린트 오류를 수정하거나 diff를 검토하는 것과 같은 무인 코딩 자동화는 작업 자체가 프리셋이 작성된 것이기 때문에 여전히 프리셋에 맞습니다.
- 다른 정체성: 에이전트는 자신을 Claude Code로 제시하지 않아야 합니다. 지원 봇, 데이터 분석 어시스턴트 또는 도메인별 에이전트는 자신의 이름, 범위 및 페르소나가 필요합니다.
- 다른 권한 모델: 에이전트는 인간이 각 단계를 승인하지 않고 자율적으로 실행되거나 좁은 리소스 집합에서 작동합니다. Claude Code의 프롬프트는 인간이 전체 도구 세트에 액세스할 수 있는 루프에 있다고 가정합니다.
- 비코딩 작업: Claude Code의 프롬프트 대부분은 코딩 지침입니다. 연구, 콘텐츠 또는 운영 에이전트의 경우, 해당 지침은 실제로 필요한 명령과 경쟁합니다.
에이전트 동작 사용자 정의
append와 사용자 정의 프롬프트 문자열은 각각 시스템 프롬프트를 직접 변경하며, 출력 스타일은 Claude Code가 모든 응답에 대해 Claude에 제공하는 명령을 변경합니다. CLAUDE.md는 다른 경로를 따릅니다: SDK가 이를 읽고 그 내용을 프로젝트 컨텍스트로 대화에 주입하므로, 선택한 시스템 프롬프트와 함께 동작을 형성합니다. Skills, hooks, 그리고 permissions도 시스템 프롬프트 외부에서 동작을 형성하며 자체 페이지에서 다룹니다.
프로젝트 수준 명령을 위한 CLAUDE.md 파일
CLAUDE.md 파일은 Claude에 지속적인 프로젝트 컨텍스트와 명령을 제공합니다. SDK는 그 내용을 대화에 주입하고 시스템 프롬프트는 건드리지 않으므로, 모든 시스템 프롬프트 구성과 함께 작동합니다. CLAUDE.md에 무엇을 넣을지, 어디에 배치할지, 그리고 효과적인 명령을 작성하는 방법에 대해서는 When to add to CLAUDE.md와 How Claude remembers your project의 나머지 부분을 참조하십시오. 이 섹션은 SDK에 특정한 내용을 다룹니다: CLAUDE.md가 로드되는 방식입니다. SDK는 일치하는 설정 소스가 활성화될 때 CLAUDE.md를 읽습니다:'project'는 작업 디렉토리에서 CLAUDE.md 또는 .claude/CLAUDE.md를 로드하고, 'user'는 ~/.claude/CLAUDE.md를 로드합니다. 기본 query() 옵션은 두 소스를 모두 활성화하므로 CLAUDE.md가 자동으로 로드됩니다. TypeScript에서 settingSources를 명시적으로 설정하거나 Python에서 setting_sources를 명시적으로 설정하면, 필요한 소스를 포함하십시오. CLAUDE.md 로딩은 claude_code 프리셋이 아닌 설정 소스에 의해 제어됩니다.
SDK와 함께 CLAUDE.md 로드
CLAUDE.md를 로드하려면,settingSources를 CLAUDE.md가 있는 수준을 포함하도록 설정하십시오. 아래 예제는 프로젝트 수준 CLAUDE.md를 claude_code 프리셋과 함께 로드하므로, Claude는 전체 코딩 에이전트 프롬프트와 프로젝트의 규칙을 모두 가지고 있습니다:
settingSources 배열을 전달하면 로드되지 않습니다.
지속적인 구성을 위한 출력 스타일
출력 스타일은 Claude의 역할, 톤, 그리고 출력 형식을 변경하는 저장된 명령 집합입니다. 마크다운 파일로 저장되며 세션 및 프로젝트 전체에서 재사용할 수 있습니다.출력 스타일 생성
출력 스타일은 frontmatter에 메타데이터가 있는 마크다운 파일이며, 그 뒤에 프롬프트 내용이 있습니다. 모든 프로젝트에서 사용 가능한 사용자 수준 스타일의 경우~/.claude/output-styles/에 저장하거나, 팀과 커밋하고 공유할 수 있는 프로젝트 수준 스타일의 경우 저장소의 .claude/output-styles/에 저장하십시오.
사용자 정의 출력 스타일은 claude_code 프리셋의 소프트웨어 엔지니어링 명령을 자신의 명령으로 바꿉니다. 이를 유지하고 명령을 그 위에 계층화하려면, frontmatter에서 keep-coding-instructions: true를 설정하십시오. 이러한 명령은 Claude Code의 전체 시스템 프롬프트에만 있으므로, 더 짧은 시스템 프롬프트를 사용하는 세션에서는 이 설정이 효과가 없습니다. 모든 모델에서 전체 프롬프트를 선택하려면 CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT를 0으로 설정하십시오. 에이전트가 여전히 소프트웨어 엔지니어링 작업을 수행할 때 이를 유지하십시오. 역할을 완전히 바꿀 때는 이를 제외하십시오.
아래 예제는 코딩 명령을 유지하는 코드 리뷰 담당자 페르소나를 정의합니다. 코드 리뷰는 Claude Code의 보안 및 코드 품질 지침의 이점을 여전히 얻기 때문입니다. 프로젝트 전체에서 사용 가능하도록 ~/.claude/output-styles/code-reviewer.md로 저장하십시오:
~/.claude/output-styles/code-reviewer.md
출력 스타일 활성화
생성되면, 다음을 통해 출력 스타일을 활성화합니다:-
CLI:
/output-style <style>을 실행합니다. 예를 들어/output-style concise를 실행하거나,/config를 실행하고 하나를 선택합니다./output-style명령은 Claude Code v2.1.269 이상이 필요합니다. -
설정:
.claude/settings.local.json에서outputStyle을 설정합니다 -
TypeScript SDK:
query()에 전달된 인라인settings객체 내에서outputStyle을 설정하거나,settings가 이를 설정하는 설정 파일을 가리키도록 합니다.outputStyle은 최상위Options필드가 아닙니다:
settings 옵션을 통해 outputStyle을 설정하며, 이는 '{"outputStyle": "Explanatory"}'와 같은 JSON 문자열 또는 이를 설정하는 설정 파일의 경로를 사용합니다.
SDK 사용자를 위한 참고: 출력 스타일은 settingSources: ['user'] 또는 settingSources: ['project'](TypeScript) / setting_sources=["user"] 또는 setting_sources=["project"](Python)을 옵션에 포함할 때 로드됩니다.
claude_code 프리셋에 추가
Claude Code 프리셋을 append 속성과 함께 사용하여 모든 기본 제공 기능을 유지하면서 사용자 정의 명령을 추가할 수 있습니다.
사용자 및 머신 전체에서 프롬프트 캐싱 개선
기본적으로, 동일한claude_code 프리셋과 append 텍스트를 사용하는 두 세션은 자동 메모리 위치가 다를 때 프롬프트 캐시 항목을 공유할 수 없습니다. 프리셋은 append 텍스트 앞의 시스템 프롬프트에 해당 위치를 포함하므로, 사용자, 머신, 체크아웃 전체에서 다릅니다.
CLAUDE.md 내용과 작업 디렉토리, 플랫폼, 셸, OS 버전과 같은 환경 세부 정보는 Claude Code가 이를 시스템 프롬프트가 아닌 대화에 전달하기 때문에 시스템 프롬프트 캐시에 영향을 주지 않습니다.
세션 전체에서 시스템 프롬프트를 동일하게 만들려면, TypeScript에서 excludeDynamicSections: true를 설정하거나 Python에서 "exclude_dynamic_sections": True를 설정하십시오. 사용자별 컨텍스트는 첫 번째 사용자 메시지로 이동하여, 정적 프리셋과 append 텍스트만 시스템 프롬프트에 남으므로 동일한 구성이 사용자 및 머신 전체에서 캐시 항목을 공유합니다.
excludeDynamicSections는 @anthropic-ai/claude-agent-sdk v0.2.98 이상 또는 Python의 경우 claude-agent-sdk v0.1.58 이상이 필요합니다. 프리셋 객체 형식에만 설정하십시오. SDK는 사용자 정의 프롬프트 대신 프리셋을 전달할 때 이를 무시합니다. 사용자 정의 프롬프트의 명령을 TypeScript SDK에서 캐시된 상태로 유지하려면, Cache the static part of a custom prompt를 참조하십시오.append 블록을 excludeDynamicSections와 쌍으로 만들어 에이전트 플릿이 동일한 캐시된 시스템 프롬프트를 재사용할 수 있도록 합니다:
--exclude-dynamic-system-prompt-sections를 참조하십시오.
사용자 정의 시스템 프롬프트
사용자 정의 문자열을systemPrompt로 제공하여 기본값을 완전히 자신의 명령으로 바꿀 수 있습니다.
system_prompt={"type": "file", "path": "..."} 형식으로 파일에서 큰 사용자 정의 프롬프트를 로드합니다. Python SDK는 문자열 프롬프트를 CLI 서브프로세스에 대한 하나의 명령줄 인수로 전달하므로, OS 인수 길이 제한을 초과하는 프롬프트는 API 요청이 전송되기 전에 프로세스 생성 시 실패합니다. Linux에서 오류는 Argument list too long입니다. 플랫폼 임계값 및 Windows 동작은 SystemPromptFile을 참조하십시오.
사용자 정의 프롬프트의 정적 부분 캐시
TypeScript SDK에서는 사용자 정의 프롬프트를 하나의 문자열 대신 문자열 배열로 전달할 수 있으며, 정적 부분과 나머지 부분 사이에SYSTEM_PROMPT_DYNAMIC_BOUNDARY 마커를 포함합니다. 프롬프트가 모든 요청에서 동일한 명령과 요청마다 변경되는 컨텍스트(예: 에이전트가 처리하는 고객 또는 티켓)를 결합할 때 이를 사용합니다. 두 부분을 하나의 문자열로 전달하면, 요청별 부분의 변경이 전체 시스템 프롬프트를 변경하므로 정적 명령도 캐시를 놓칩니다. 배열 형식은 Python SDK에서 사용할 수 없습니다. ClaudeAgentOptions는 system_prompt가 허용하는 형식을 나열합니다.
SDK는 Claude API를 직접 호출하거나 Claude Platform on AWS에서 실행할 때만 프롬프트를 분할합니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry, 또는 LLM gateway와 같은 다른 모든 구성에서, 그리고
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1을 설정할 때마다, SDK는 전체 프롬프트를 하나의 블록으로 전송하며, 이는 하나의 문자열을 전달하는 것과 같습니다.@anthropic-ai/claude-agent-sdk에서 SYSTEM_PROMPT_DYNAMIC_BOUNDARY를 가져오고 두 부분 사이의 배열 요소로 전달합니다. SDK는 마커 앞의 문자열을 하나의 텍스트 블록으로 전송하고 마커 뒤의 문자열을 두 번째 블록으로 전송하며, 각각 자체 캐시 중단점을 가집니다. 아래 예제에서 지원 에이전트는 분류 명령을 파일에서 로드하고 각 요청에서 하나의 티켓에 대한 세부 정보를 받으므로, 명령은 캐시된 상태로 유지되고 티켓 세부 정보는 변경됩니다:
TypeScript
cache_creation_input_tokens 및 cache_read_input_tokens 필드를 설명합니다.
SDK는 다음과 같이 배열의 블록을 조립합니다:
- SDK는 마커의 각 측면에 있는 문자열을 그 사이에 빈 줄과 함께 조인하고 마커 자체를 제거하므로, 마커 텍스트는 Claude에 도달하지 않습니다.
- 마커를 두 번 이상 포함하면, 첫 번째가 분할이고 SDK는 나머지를 제거합니다.
- 마커를 생략하면, SDK는 모든 문자열을 하나의 블록으로 조인하며, 이는 하나의 문자열을 전달하는 것과 같습니다.
--system-prompt 또는 --system-prompt-file 플래그를 사용하면, 프롬프트는 하나의 문자열이므로 마커를 전달할 배열이 없습니다. 정적 부분과 요청별 부분 사이에 __SYSTEM_PROMPT_DYNAMIC_BOUNDARY__만 포함된 줄을 포함하십시오. Claude Code는 프롬프트를 첫 번째 줄에서 동일한 두 블록으로 분할하고 해당 줄을 제거합니다. Claude Code v2.1.275 이상이 필요합니다.
SDK에서는 배열 형식을 선호하십시오. 이는 마커 줄 없이 경계를 전달합니다.
기존 세션의 프롬프트 변경
기본적으로,resume 또는 continue로 세션으로 돌아간 후 다른 append 또는 사용자 정의 프롬프트를 전달하면, Claude는 다음 턴에서 이를 보지 못합니다. Claude Code는 세션의 첫 번째 요청에서 시스템 프롬프트를 기록하고 세션이 압축될 때까지 해당 기록을 재사용합니다. 새 텍스트는 그 압축 후 또는 새 세션에서 적용됩니다.
Claude의 명령을 세션 중간에 업데이트
시스템 프롬프트에 넣은 명령이 세션이 실행되는 동안 변경되어야 하는 경우, 예를 들어 사용자가 에이전트를 읽기 전용 모드로 전환했거나 앱에서 구성을 편집한 경우,systemPrompt를 변경하는 대신 대화에 새 명령을 보내십시오:
- 다음 메시지에서: 보내는 다음 사용자 메시지에 새 명령을 포함합니다.
- hook에서:
UserPromptSubmit또는PostToolUsehook callback에서additionalContext를 반환하며, “작업 공간이 이제 읽기 전용입니다”와 같은 사실 진술로 작성합니다. SDK는 hook이 발생한 지점에서 텍스트를 대화에 삽입하므로, 기록된 프롬프트는 변경되지 않습니다.
표현을 반복할 때 기록 끄기
프롬프트 표현을 반복하고 각 편집이 재개하는 세션에 도달하기를 원할 때, 시스템 프롬프트의 객체 형식에서snapshot을 false로 설정하십시오. Claude Code는 모든 요청에서 프롬프트를 다시 빌드합니다. 필드는 TypeScript의 systemPrompt의 프리셋 및 사용자 정의 형식과 Python의 system_prompt에서 사용 가능하며, @anthropic-ai/claude-agent-sdk v0.3.257 이상 또는 claude-agent-sdk v0.2.153 이상이 필요합니다.
프로덕션에서는 기록을 켜진 상태로 유지하십시오. 기록이 꺼져 있으면, 재개된 세션에서 다른 append 또는 사용자 정의 프롬프트가 다음 턴에서 Claude에 도달하며, 해당 요청은 세션의 프롬프트 캐시를 재사용할 수 없습니다. API가 preserved thinking을 적용하는 경우, Claude는 이전 턴의 사고도 잃습니다.
cloud sessions 외부에서, extraArgs를 통해 --bare를 전달하거나 CLAUDE_CODE_SIMPLE=1을 설정하여 Claude Code를 bare mode에서 시작하면, snapshot: true를 설정하지 않는 한 기록이 꺼집니다.
기본적으로 append 또는 사용자 정의 프롬프트를 기록하려면 Claude Code v2.1.265 이상이 필요하며, TypeScript Agent SDK는 v0.3.265부터 이를 번들로 제공하고 Python Agent SDK는 v0.2.153부터 제공합니다. Claude Code v2.1.268 이전에는 feature flags를 가져오지 않는 세션(Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry의 세션 포함)이 모든 요청에서 프롬프트를 다시 빌드했으며 snapshot은 효과가 없었습니다.
Claude Code가 시스템 프롬프트 외부에 추가하는 컨텍스트
시스템 리마인더는 Claude Code가 세션 중에 대화에 추가하는 메시지로, CLAUDE.md 파일의 내용이나 파일이 디스크에서 변경되었다는 메모와 같은 컨텍스트를 Claude에 제공합니다. Claude Code는 이를 시스템 프롬프트가 아닌 대화에 전송하므로,claude_code 사전 설정을 사용하든 systemPrompt로 자체 문자열을 전달하든 대부분 Claude에 도달합니다.
이 섹션에서는 에이전트의 동작을 변경할 가능성이 가장 높은 알림, 에이전트가 대체하는 컨텍스트를 끄는 방법, 그리고 특정 요청에서 Claude가 받은 내용을 확인하는 방법을 다룹니다.
Claude Code가 대화에 추가하는 알림
시스템 알림은 Claude Code가 코드에서 전송하는 프롬프트와 함께 대화에 추가하는 텍스트입니다. 다음 알림들은 에이전트의 동작을 변경할 가능성이 가장 높은 것들입니다:- 프로젝트 지침:
settingSources옵션이 로드하는 CLAUDE.md 파일 - 출력 스타일 지침: 주 대화에서 활성 출력 스타일의 지침
- 커밋 및 풀 요청 속성:
attribution설정의Co-Authored-By트레일러 및 풀 요청 푸터 - 훅 출력: 훅이
additionalContext로 반환하는 텍스트 - 사용 가능한 스킬: Claude가 호출할 수 있는 스킬의 이름 및 설명
- 사용 가능한 서브에이전트: Claude가 시작할 수 있는 서브에이전트의 이름 및 설명
- 작업 목록 알림: 작업 추적 도구가 있는 세션에서 Claude가 여러 턴 동안 작업 목록을 건드리지 않았을 때 작업 목록을 업데이트하라는 프롬프트
- 파일 변경 메모: Claude가 이전에 읽은 파일이 디스크에서 변경되었다는 메모
systemPrompt로 자신의 문자열을 전달하는 경우, 시스템 알림이 무엇인지 설명하는 문장을 추가합니다. claude_code 사전 설정에는 하나가 있으며, 문자열이 전체 사전 설정을 대체합니다. 없으면 프롬프트의 아무것도 Claude에게 CLAUDE.md 콘텐츠 및 훅 출력과 같은 알림이 사용자가 아닌 애플리케이션에서 오는 것임을 알려주지 않습니다. 예를 들어:
에이전트가 대체하는 컨텍스트 끄기
에이전트가 동일한 지침의 자체 버전을 제공할 때 기본 제공 컨텍스트의 일부를 끕니다. 예를 들어, 프롬프트가 Claude에게 커밋 메시지를PROJ-142: fix login redirect로 작성하도록 지시하고 트레일러가 없으면, Claude Code는 여전히 Claude에게 각 커밋 메시지를 Co-Authored-By 트레일러로 끝내도록 지시하므로 Claude는 동일한 커밋에 대해 두 가지 충돌하는 지침을 받습니다.
TypeScript에서 settings 옵션을 통해 설정 키를 전달하고, Python에서 settings를 통해 전달하며, env 옵션을 통해 환경 변수를 전달합니다. TypeScript에서 env는 상속된 환경을 대체하므로 process.env를 이에 전개합니다.
기본 제공 커밋 및 풀 리퀘스트 지침을 제외하려면
includeGitInstructions를 false로 설정합니다. 이 지침은 Bash 도구 설명의 일부이므로 사용자 정의 systemPrompt를 사용할 때도 Claude에 도달합니다. 다만 최소 기본값, 사용자 정의 systemPrompt, 또는 자체 프롬프트가 있는 사용자 정의 메인 스레드 에이전트를 사용하는 경우에는 git 상태 스냅샷 없이 세션이 시작됩니다.
CLAUDE_CODE_DISABLE_ATTACHMENTS를 설정하면, Claude Code는 또한 @ 파일 언급을 파일 콘텐츠로 확장하는 대신 일반 텍스트로 전송합니다. 사용 가능한 서브에이전트 목록 및 백그라운드 작업 알림은 여전히 도착합니다. @ 파일 언급의 확장만 중지하려면 Claude Code v2.1.299 이상에서 대신 CLAUDE_CODE_DISABLE_FILE_MENTIONS=1을 설정합니다. 그러면 Claude는 언급된 경로와 함께 파일 도구로 해당 경로를 읽으라는 메모를 받습니다.
다음 예제는 append에 자체 커밋 규칙을 포함하는 에이전트용입니다. 트레일러 및 푸터를 제거하기 위해 두 attribution 키를 빈 문자열로 설정하고, Claude Code의 자체 커밋 워크플로우 지침이 귀하의 지침과 경쟁하지 않도록 includeGitInstructions를 끕니다:
git log -1로 새 커밋을 확인합니다. 메시지는 Co-Authored-By 트레일러 없이 끝납니다.
Claude가 받은 내용 확인
SDK 메시지 스트림에는 시스템 알림이 포함되지 않으므로, 코드가 받는 메시지를 읽으면 Claude가 본 내용을 보여주지 않습니다. 이를 확인하려면 Claude Code가 전송하는 요청을 기록합니다:- 원본 요청 로깅:
OTEL_LOG_RAW_API_BODIES를file:<dir>로 설정합니다. Claude Code는 각 요청 본문을 해당 디렉토리에 씁니다. - 제어하는 게이트웨이:
ANTHROPIC_BASE_URL을 요청 본문을 기록하는 프록시로 지정합니다.
messages 배열을 확인합니다. 알림은 <system-reminder> 태그로 래핑된 사용자 메시지 내에 나타나거나, 일부 모델에서는 system 역할을 가진 별도의 메시지로 나타납니다.
네 가지 방식 모두 비교
네 가지 사용자 정의 방법은 위치, 공유 방식,claude_code 사전에서 보존되는 내용이 다릅니다.
“추가와 함께”는 TypeScript에서
systemPrompt: { type: "preset", preset: "claude_code", append: "..." }를 사용하거나 Python에서 system_prompt={"type": "preset", "preset": "claude_code", "append": "..."}를 사용하는 것을 의미합니다. CLAUDE.md는 시스템 프롬프트 자체를 변경하지 않습니다. SDK는 프로젝트 컨텍스트로 대화에 내용을 주입합니다.
접근 방식 결합
접근 방식들은 구성됩니다. 지속적인 출력 스타일 또는 CLAUDE.md는 장기적인 동작을 설정하고,append는 저장된 구성을 건드리지 않으면서 세션별 지침을 그 위에 계층화합니다.
출력 스타일과 세션별 추가 사항 결합
아래 예제는 Code Reviewer 출력 스타일이 이미 활성화되어 있다고 가정합니다.append 블록은 세션별 초점 영역을 페르소나 위에 계층화하므로, 단일 검토 세션이 저장된 출력 스타일을 변경하지 않으면서 OAuth 및 토큰 저장소에 우선순위를 지정할 수 있습니다:
참고 항목
- 출력 스타일: CLI용 출력 스타일을 생성, 관리 및 공유합니다. 파일 형식 및 저장 위치를 포함합니다.
- Claude가 프로젝트를 기억하는 방식: CLAUDE.md에 무엇을 넣을지, 어디에 배치할지, 효과적인 프로젝트 지침을 작성하는 방법
- TypeScript SDK 참조:
systemPrompt,settingSources,settings를 포함한 전체Options타입 - Python SDK 참조:
system_prompt및setting_sources를 포함한 전체ClaudeAgentOptions타입 - 설정: 출력 스타일 및 기타 구성이 저장되는 위치를 포함한
settings.json참조