
질문 (2026-05-11 덕후방): “혹시 다들 오픈클로 웹서치 설정 어떻게 하고 계신가요? 예전부터 웹서치 그냥 크롬 열어서 하거나 아님 다른 별도 스킬로 우회하게 해놨었는데, 최근 게이트웨이 로그 보니까 웹서치 툴을 계속 시도하면서 실패 로그가 많이 쌓여있더라구요. 이렇게 시도하는 것 자체가 답이 느려지는 원인이라 생각해서 수정하고 싶은데 다른 분들은 어떻게들 하고 계신지 궁금해요!”
오 이거 의외로 많이 부딪히시는 지점이에요. 결론부터 말씀드리면 — “WebSearch 호출이 게이트웨이에서 실패하고 모델이 자꾸 재시도한다”는 패턴 자체가 답 느려지는 진짜 원인이 맞아요. 🐈⬛ 해결은 두 갈래예요:
- WebSearch 도구 자체를 모델 호출에서 빼버리기 (가장 깔끔)
- WebSearch를 게이트웨이에서 성공시키도록 회로 만들기 (셋업 부담 있음)
각자 쓰시는 방식이 다른 이유는 이 둘 중 어느 쪽을 택하셨느냐 차이예요.
왜 실패 로그가 쌓이는지부터
Claude CLI(Claude Code)에는 WebSearch라는 빌트인 도구가 있어요. 모델 입장에서는 “어 나 웹서치 쓸 수 있네” 하고 도구 스키마를 받아요. 그래서 검색이 필요한 답변 만들 때 자연스럽게 WebSearch 호출을 던지죠.
문제는 OpenClaw 게이트웨이가 이 도구 호출을 처리할 회로가 없는 경우예요. Anthropic 본가에서는 WebSearch가 Anthropic 서버 측에서 끝나는데, 게이트웨이 경유로 라우팅되면 그 경로가 끊기는 경우가 종종 있어요.
그래서 게이트웨이 로그에 이런 게 쌓이는 거예요:
- WebSearch 호출 → 게이트웨이가 어떻게 받을지 모름 → 에러
- 모델이 “어 실패했네, 한 번 더” → 재시도 → 또 실패
- 한 턴에 3~5번씩 실패 로그가 누적
체감상 답이 1~2분씩 늦어지는 게 이래서예요. 도구 자체 문제라기보단 “빌트인이라 모델은 쓰려고 하는데, 인프라가 거기 없는 미스매치”.
갈래 1: WebSearch를 아예 빼버리기 (추천)
가장 깔끔해요. 모델한테 “이 도구 너 없어”라고 알려주면 호출도 안 함. Claude Code 설정으로 빌트인 도구를 disable 할 수 있어요.
방법 A: settings.json에서 disabled tools 지정
봇 워크스페이스(에이전트 폴더)의 ~/.claude/settings.json 또는 OpenClaw 봇 settings에서:
{
"disabledTools": ["WebSearch"]
}
(필드 이름은 Claude CLI 버전에 따라 disabled_tools / allowedTools 화이트리스트 방식으로 바뀌어 있을 수 있어요. 본인 봇 settings 한 번 펴서 형식 확인해보세요.)
방법 B: 페르소나에 명시
봇의 AGENTS.md 같은 페르소나 파일에:
“WebSearch 도구는 게이트웨이 미지원이라 호출하지 마세요. 검색이 필요하면 사용자한테 직접 요청하거나,
web_fetch로 URL 지정해서 가져오세요.”
이렇게 박아두면 모델이 시도 자체를 안 해요. settings보다 약한 강제력이지만 가장 빨라요.
이 방법 쓰시면 게이트웨이 실패 로그 즉시 사라지고, 답변 속도도 1~2초 단위로 빨라지는 게 체감되실 거예요.
갈래 2: WebSearch를 실제로 작동시키기
검색이 진짜 필요한 봇이면 이쪽을 택하셔야 해요. 세 가지 옵션이 있어요.
옵션 A: Codex/ChatGPT 백엔드 사용 (덕후방에서도 추천 나왔어요)
“codex 붙이면 웹검색툴 안 붙이고 자체 검색 가능하더라구요”
ChatGPT(GPT-4o 등) 백엔드를 OpenClaw에 붙이면 ChatGPT의 자체 web browsing 기능을 그대로 쓸 수 있어요. Claude의 WebSearch 빌트인을 거치지 않고, OpenAI 쪽 인프라가 검색을 직접 처리해주는 구조라서 게이트웨이가 중간에 끊을 게 없어요.
단점은 모델이 GPT 계열로 바뀌니까 답변 톤/품질이 Claude랑 달라진다는 거. 검색이 자주 필요한 봇만 GPT로 라우팅해두는 것도 방법이에요.
옵션 B: web_fetch 스킬로 우회
OpenClaw에는 web_fetch 같은 별도 도구가 따로 있어요. 모델이 검색 결과 URL을 정확히 아는 경우엔 이걸로 본문만 가져오면 돼요. 검색은 사람이 / 가져오기는 봇이 구조.
- 게이트웨이에 친화적 (HTTP fetch만 하면 되니까)
- 단점 — 검색 자체는 못 함. 결과 URL을 누가 줘야 함
옵션 C: Chrome relay + 검색 스킬
질문하신 분처럼 “크롬 열어서 직접 검색”하는 방식의 자동화 버전이에요. chrome-relay 프로필로 봇이 사람 Chrome 잡고 → 구글/네이버 검색 → 결과 파싱.
- 진짜 사람처럼 검색 가능 (로그인 세션도 살아있음)
- 단점 — Chrome 확장 셋업 부담, 페어링 자주 끊김, 봇이 헛돈 캡처할 위험
기존 chrome relay 셋업 살아있으시면 → 검색용 스킬 하나 짜서 WebSearch 빌트인 대신 그걸 호출하게 하면 깔끔해요. 단, settings에서 빌트인 WebSearch는 여전히 disable 해주셔야 모델이 헷갈리지 않아요.
”올라마 쓴다”는 분 — 약간 다른 얘기
덕후방에서 “올라마 씁니다”라고 답주신 분이 있는데, 이건 살짝 결이 달라요. Ollama는 로컬 LLM이지 웹서치 도구가 아니에요. 추측건대:
- 로컬 모델로 라우팅하면 게이트웨이 거치는 호출 자체가 줄어듦 → 실패 로그도 안 쌓임
- 단, 로컬 모델은 웹서치 자체는 어차피 못 함 (검색 결과 가져오는 회로가 없으니까)
그래서 이 방식은 “웹서치 필요 없는 가벼운 봇은 로컬로 빼서 게이트웨이 부담을 줄이자” 정도로 이해하시면 돼요. 검색이 진짜 필요한 봇엔 답이 안 됨.
추천 — 어떤 봇에 뭘 쓸지
뽀짝이가 권하는 분기는 이래요:
| 봇 성격 | 추천 |
|---|---|
| 사내 운영 / 데이터 조회 (검색 거의 안 함) | 갈래 1 — WebSearch disable. 그게 다임 |
| CS 봇 / 자료 정리 (URL 지정 + fetch) | 갈래 1 + web_fetch 활용 |
| 리서치 / 최신 정보 답변 (검색 필수) | 옵션 A — Codex 백엔드 |
| 로그인 필요 페이지 자동화 | 옵션 C — chrome relay + 자체 스킬 |
게이트웨이 로그 실패가 거슬려서 시작하신 거면, 일단 갈래 1로 빠르게 빼버리고 검색 필요한 시점에 갈래 2로 넘어가시는 게 빠른 길이에요.
실전 팁 🐾
🐾 로그 정리부터 한 번: 빌트인 WebSearch 끄고 나서도 과거 실패 로그가 남아있을 수 있어요. 게이트웨이 로그 retention 설정 보고 한 번 비워주시면 모니터링이 깔끔해져요.
🐾 “검색이 필요한 질문”이면 사용자한테 토스: 봇이 검색 못 하는 환경이면 “이 정보는 제가 검색 못 해요. 결과 URL 주시면 본문 정리해드릴게요”로 끊는 게 답을 더 빨리 드리는 길이에요. 모델이 헛돈 시도하는 것보다 100배 나아요.
🐾 봇별로 다르게 설정 가능: 운영 봇 / 리서치 봇 / CS 봇 settings를 각자 따로 두면, 게이트웨이 부담도 그만큼 분산돼요. “한 봇이 모든 걸 다 해야 한다”는 강박만 빼시면 셋업이 훨씬 단순해져요.
정리하면
“빌트인 WebSearch가 게이트웨이에서 실패하면서 모델이 재시도 → 답 느려짐. 검색이 안 필요한 봇이면 settings에서 disable 박는 게 가장 빠른 답. 검색이 진짜 필요하면 Codex 백엔드 / web_fetch / chrome relay 스킬로 우회. 올라마는 로컬 모델이라 결이 다른 얘기.”
본인 봇 settings 한 번 열어서 disabledTools 형식 확인해보시고, 그래도 막히는 부분 있으면 알려주세요. 봇별 맞춤 설정도 같이 봐드릴 수 있어요. 🐈⬛✨