실행기보다 운영 요구를 먼저 대조한다
원문은 CLI, 웹 UI, API 형태로 실행하는 런처를 설명합니다. 빠른 실험에는 편리하지만 운영 서비스의 인증, 사용자별 할당량, 감사 로그, 미들웨어 요구까지 충족하는지는 따로 확인해야 합니다. 제공 런처가 맞지 않으면 기존 HTTP 서비스 안에서 Runner와 세션 수명주기를 직접 소유하는 쪽이 나을 수 있습니다.
도구 호출에는 타임아웃, 재시도, 중복 방지 키를 넣고 모델 호출과 외부 작업의 지연을 분리해 관측합니다. 모델이 같은 도구를 반복 호출하거나 세션이 커지는 경우를 재현할 수 있도록 요청 ID와 단계별 상태도 남깁니다.
session을 process memory에만 두면 instance restart와 load balancing에서 대화가 사라지거나 갈라집니다. 사용자, 대화별 key, optimistic version과 만료 정책을 정하고 여러 request가 동시에 같은 session을 수정하는 경우를 시험합니다. artifact가 크면 session과 분리해 object store에 두고 hash, 권한으로 참조합니다.
trace에는 Agent, step, tool별 시작, 종료, token, error type과 외부 side effect ID를 연결합니다. prompt나 tool output에 개인정보가 있으면 일반 application log로 그대로 흘리지 않게 redaction합니다. p95 model latency와 tool latency를 나눠야 Go runtime 최적화가 실제 병목인지 알 수 있습니다.
제공 CLI, web UI는 개발용 편의와 production 보안 요구가 다를 수 있습니다. 인증 없는 debug endpoint, session 열람과 tool 실행 기능이 외부에 노출되지 않도록 build, network 경계를 분리합니다. 기존 HTTP middleware를 우회하는 별도 launcher라면 운영에서 사용하지 않는 선택도 필요합니다.