피드로 돌아가기
AIClaw Adds Configurable Web Search Without Hiding Execution Details
Dev.toDev.to
AI/ML

Built-in과 External 모드 분리로 Search 가시성 및 제어권 확보

AIClaw Adds Configurable Web Search Without Hiding Execution Details

chowyu2026년 6월 20일5intermediate

Context

기존 AI 에이전트의 웹 검색 기능이 단일 체크박스로 추상화되어 실제 작동 방식과 비용, 공급자 선택 과정이 불투명한 Black-box 구조로 운영됨. 이로 인해 프로덕션 환경에서 요구되는 세밀한 비용 제어와 감사 가능성(Auditability) 확보에 한계가 발생함.

Technical Solution

  • Provider-native 기능을 활용하는 Built-in 모드와 전용 Tool을 호출하는 External 모드로 search path를 이원화한 구조 설계
  • Tavily, SerpAPI, Aliyun IQS 등 다수 공급자를 통합 관리하는 Search Engine Configuration 레이어 구축을 통한 벤더 종속성 제거
  • internal/handler/agent.govalidateExternalWebSearch 로직을 통한 외부 엔진 설정 필수 검증으로 구성 오류(Footgun) 방지
  • internal/tools/websearch/search.go에서 공급자별 응답 형식을 title, URL, snippet으로 표준화하는 Normalization 레이어 구현
  • Built-in 모드 시 extra_body: {"enable_search": true}를 명시하고, External 모드 시 Tool call 경로를 통해 실행 단계와 입출력을 기록하는 관측 가능성(Observability) 확보

1. 외부 API 통합 시 단순 프록시가 아닌 데이터 표준화 레이어를 통해 벤더 교체 가능성을 확보했는가

2. 추상화된 기능(Toggle) 뒤에 숨겨진 실제 실행 경로를 로그나 UI에서 추적 가능한 구조로 설계했는가

3. 설정 누락으로 인한 런타임 에러를 방지하기 위한 Backend 검증 로직과 Frontend 자동 선택 UX가 동기화되어 있는가

원문 읽기