라이브킷 Agent에서 대화 세션을 강제로 종료하는 방법은?
# ask-ai
l
라이브킷 Agent에서 대화 세션을 강제로 종료하는 방법은?
t
Thanks for reaching out, Dan(송희웅). I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
요청하신 대화 세션 강제 종료 방법(라이브킷 Agent 관련)에 대해 답변드립니다. 요약 • 에이전트만 종료하려면:
AgentSession.shutdown()
또는
JobContext.shutdown()
사용. ◦ `drain=True`로 설정하면 현재 발화를 자연스럽게 마친 뒤 종료(그레이스풀 종료). • 방 전체(모든 참가자)를 강제로 종료하려면: 서버에서 방 삭제 API 호출(
delete_room
) — 방에 있는 모든 사용자·에이전트 연결이 끊기고 녹음(egress)도 중단됩니다. 이 방법이 전체 대화 세션을 즉시 끝내는 가장 확실한 방법입니다. 예시 코드 • Python (AgentSession 종료, 그레이스풀):
Copy code
await session.shutdown(drain=True)
• Node.js (JobContext에서 종료):
Copy code
ctx.shutdown('Session ended');
• Python (방 삭제):
Copy code
from livekit import api
api_client = api.LiveKitAPI(LIVEKIT_URL, LIVEKIT_API_KEY, LIVEKIT_API_SECRET)
await api_client.room.delete_room(api.DeleteRoomRequest(room=ctx.job.room.name))
• Node.js (방 삭제):
Copy code
import { RoomServiceClient } from 'livekit-server-sdk';
const roomServiceClient = new RoomServiceClient(LIVEKIT_URL, LIVEKIT_API_KEY, LIVEKIT_API_SECRET);
await roomServiceClient.deleteRoom(ctx.job.room.name);
질문 • 에이전트만 종료하길 원하시나요, 아니면 방 전체(모든 참가자)를 즉시 종료하길 원하시나요? 원하는 방식 알려주시면 구체적인 구현 예나 주의사항(권한·API 키 등)을 바로 안내해드리겠습니다. Sources: Job lifecycle | LiveKit docs