apply_patch 도구
구조화된 패치 형식을 사용하여 파일 변경 사항을 적용합니다. 단일 edit 호출로는 불안정할 수 있는 멀티 파일 또는 멀티 헝크 편집에 적합합니다.
이 도구는 하나 이상의 파일 작업을 감싸는 단일 input 문자열을 받습니다:
*** Begin Patch
*** Add File: path/to/file.txt
+line 1
+line 2
*** Update File: src/app.ts
@@
-old line
+new line
*** Delete File: obsolete.txt
*** End Patch
파라미터
input(필수):*** Begin Patch와*** End Patch를 포함한 전체 패치 내용.
참고 사항
- 패치 경로는 상대 경로(워크스페이스 디렉터리 기준)와 절대 경로를 모두 지원합니다.
tools.exec.applyPatch.workspaceOnly의 기본값은true(워크스페이스 내 제한)입니다.apply_patch가 워크스페이스 디렉터리 외부에 쓰기/삭제를 의도적으로 수행해야 하는 경우에만false로 설정하세요.*** Update File:헝크 내에서*** Move to:를 사용하여 파일 이름을 변경할 수 있습니다.- 필요한 경우
*** End of File로 EOF 전용 삽입을 표시합니다. - 실험적 기능이며 기본적으로 비활성화되어 있습니다.
tools.exec.applyPatch.enabled로 활성화하세요. - OpenAI 전용(OpenAI Codex 포함).
tools.exec.applyPatch.allowModels로 모델별 제한이 가능합니다. - 설정은
tools.exec하위에만 존재합니다.
예시
{
"tool": "apply_patch",
"input": "*** Begin Patch\n*** Update File: src/index.ts\n@@\n-const foo = 1\n+const foo = 2\n*** End Patch"
}