Making Local AI Tool Calls More Reliable
개요
이 변경 사항은 로컬 AI 비서의 도구 호출 신뢰성을 개선하여, 모델이 텍스트 응답 대신 필요한 로컬 데이터 도구를 호출하도록 보장하는 데 중점을 둡니다.
주요 내용
- 문제점: 기존 시스템에서 tool_choice="auto"를 사용했을 때, AI 모델이 로컬 데이터 읽기 또는 업데이트에 필요한 도구 호출을 건너뛰고 일반 텍스트 응답을 반환하는 간헐적인 오류가 발생했습니다.
- 해결 방안:
* 첫 번째 요청은 기존과 동일하게 tool_choice="auto"를 사용하여 정상적인 대화를 지원합니다.
* 만약 첫 번째 요청에서 도구 호출이 발생하지 않으면, 어떠한 도구도 실행되기 전에 한 번의 안전한 재시도가 이루어지며, 이때 tool_choice="required"로 설정됩니다.
* 이 재시도는 중복 쓰기 작업을 방지합니다.
* 복구된 도구가 올바른 읽기 또는 쓰기 그룹에 속하는지 확인하는 검사가 추가되었습니다.
* 스트리밍 중에, 복구가 완료되기 전에 잘못된 응답이 표시되지 않도록 첫 번째 응답을 버퍼링합니다.
- 테스트: 67개의 자동화된 테스트와 라이브 로컬 Gemma 모델을 사용하여 솔루션을 검증했습니다. 테스트 흐름은 auto -> required -> auto 순서로 진행되었습니다.
- 검증 항목: 변경 사항을 주간 보고서 섹션에 업데이트하고, 최종 변경 사항을 검토했으며, 스크립트를 실행하여 기여를 확인했습니다. 또한, 해당 브랜치가 올바른 기본 브랜치를 사용하고 풀 요청이 의도된 브랜치를 대상으로 하는지 확인했습니다.
시사점
프롬프트는 기대 동작을 설명하지만, 신뢰할 수 있는 에이전트 시스템은 모델 결정 주변에 프로그램 수준의 검사를 필요로 한다는 점을 시사합니다.
댓글
GitHub Discussions