async-agentic-tools은(는) 무엇을 하나요?
에이전트 프레임워크에서 진정한 비동기 도구 호출을 가능하게 하여 즉시 확인과 논블로킹 결과 콜백을 통해 지속적인 상호작용을 제공합니다.
개요
psrtech/async-agentic-tools 스킬은 AI 에이전트가 도구를 호출할 때 기존의 동기식 차단 방식 대신 비동기 방식을 사용할 수 있도록 합니다. 에이전트가 도구 실행을 요청하면 즉시 ack(확인)을 반환하고, 실제 결과는 준비되는 대로 콜백을 통해 전달됩니다. 이를 통해 에이전트는 결과를 기다리는 동안 다른 작업(예: 사용자와의 대화, 추가 도구 호출)을 계속 수행할 수 있습니다.
주요 기능
- 즉시 확인 (Immediate Acknowledgement): 도구 호출 시 즉시
ack를 반환하여 에이전트가 블로킹되지 않도록 합니다. - 비동기 콜백 (Non-blocking Callback): 결과가 준비되면 설정된 콜백 함수를 통해 비동기적으로 전달됩니다.
- 연속 상호작용 (Continuous Interaction): 에이전트가 도구 실행 중에도 사용자와의 대화를 유지할 수 있습니다.
- 다중 프레임워크 지원: 주요 에이전트 프레임워크(Claude Code, Cursor, Codex 등)와 호환됩니다.
사용 예시
from async_agentic_tools import AsyncToolManager
manager = AsyncToolManager()
# 비동기 도구 호출 예시
manager.call_tool(
name="search_code",
params={"query": "async pattern"},
on_result=lambda result: print(f"결과 수신: {result}")
)
# 즉시 ack 수신
print("요청이 접수되었습니다.")
# 에이전트는 계속 작업 수행 가능
설정
환경 변수 설정:
export ASYNC_TOOL_ENDPOINT="https://api.example.com/async-tools"
export ASYNC_TOOL_TIMEOUT=30 # 초 단위 타임아웃
지원되는 도구 유형
- 코드 검색 및 분석
- API 호출
- 데이터베이스 쿼리
- 파일 I/O 작업
- 외부 서비스 연동
주의사항
- 비동기 호출은 네트워크 지연이나 서버 부하에 영향을 받을 수 있습니다.
- 콜백 함수는 스레드 안전하게 구현해야 합니다.
- 타임아웃을 적절히 설정하여 교착 상태를 방지하세요.
라이선스
MIT License