콘텐츠로 이동

apply_patch tool로 효율적인 코드 수정하기

여러 파일을 동시에 수정해야 할 때, 하나씩 수동으로 API를 호출하는 건 꽤 번거로운 일이에요. 특히 코드의 여러 부분을 한꺼번에 고치다 보면 수정 내용이 꼬이거나 관리가 어려워지기도 하죠.

이럴 때 구조화된 패치 형식을 사용하면 여러 개의 파일이나 코드 조각을 훨씬 깔끔하고 안전하게 처리할 수 있습니다. apply_patch tool이 어떻게 이 과정을 도와주는지 바로 살펴볼게요.

  • OpenAI 모델 (OpenAI Codex 포함)
  • tools.exec.applyPatch.enabled 설정 활성화

apply_patch tool은 *** Begin Patch와 *** End Patch 사이에 변경 사항을 담아 전달하는 방식으로 작동해요. 5분 안에 바로 시작해 볼까요?

  1. 설정 확인: 이 기능은 실험적 기능이며 기본적으로 비활성화되어 있습니다. tools.exec 설정 아래에서 기능을 활성화하세요.
  2. 패치 작성: input 파라미터에 아래와 같은 구조로 내용을 작성합니다.
{
"tool": "apply_patch",
"input": "*** Begin Patch\n*** Update File: src/index.ts\n@@\n-const foo = 1\n+const foo = 2\n*** End Patch"
}

패치 안에서는 다음과 같은 구조화된 명령어를 사용할 수 있습니다:

  • *** Add File: path/to/file.txt: 새로운 파일을 생성하고 내용을 추가합니다.
  • *** Update File: src/app.ts: 기존 파일의 특정 부분을 수정합니다.
  • *** Delete File: obsolete.txt: 더 이상 필요 없는 파일을 삭제합니다.
  • *** Move to:: *** Update File: 내에서 사용하여 파일 이름을 변경합니다.
  • 기능이 작동하지 않나요?: apply_patch는 기본적으로 꺼져 있습니다. tools.exec.applyPatch.enabled 값이 true로 설정되어 있는지 꼭 확인해 주세요.
  • 모델 제한 사항: 이 tool은 OpenAI 모델에서만 사용할 수 있습니다. 특정 모델로 사용을 제한하고 싶다면 tools.exec.applyPatch.allowModels 설정을 활용해 보세요.

더 궁금한 점이 있다면 AI Setup Assistant에서 바로 물어보세요.

OpenClaw

OpenClaw Expert

아직 막혀 있나요?

이 문서에서 답을 못 찾았다면 OpenClaw Expert에게 바로 물어보세요.