원문 캡처 · agentid.com
원문 캡처 · agentid.com

AgentID 로그인 키는 활성화된 뒤 30일 동안 유효하다. 에이전트를 차단하려면 에이전트의 로그인 키를 삭제해야 한다.

AgentMail은 AI 에이전트가 사람의 계정을 빌리지 않고 자기 이메일 주소와 로그인 키로 앱에 접속하는 AgentID를 소개했다. 에이전트를 만드는 사람은 에이전트의 활동을 자신의 활동과 구분하고, 문제가 생겼을 때 에이전트의 접속만 끊을 수 있다.

AgentID는 무엇인가?

AgentID는 에이전트가 앱에 자기 신원으로 로그인하도록 하는 방식이다. 자기 계정으로 출입하는 직원증을 떠올리면 쉽다. 앱은 에이전트를 계정 주체로 보고, 그 뒤에 책임을 지는 소유자를 연결해 확인한다.

사람의 로그인을 빌리면 앱은 에이전트를 사람으로 취급한다. 에이전트가 한 일도 사람 이름으로 기록되고, 에이전트가 받은 이메일은 사람의 받은 편지함으로 간다. AgentMail은 에이전트에 전용 받은 편지함을 만들고 그 주소를 신원으로 사용한다. AgentID를 지원하는 앱은 로그인 과정에서 비밀번호나 재사용 가능한 키를 받지 않는다.

항목빌린 로그인자체 AgentID
앱이 고객으로 보는 대상사람에이전트, 소유자는 연결된 상태
앱 이메일을 받는 곳사람의 받은 편지함에이전트의 받은 편지함
에이전트 활동에 표시되는 이름사람에이전트의 고유 식별자
로그인 때 앱에 전달되는 것사람의 비밀번호비밀번호나 재사용 가능한 키 없음
자격 증명이 유출됐을 때 닿는 범위사람의 계정해당 에이전트의 로그인만
에이전트 접속을 끊는 방법사람의 비밀번호 변경에이전트 로그인 키 삭제

AgentMail은 두 방식 중 어느 쪽이든 상황에 따라 쓸 수 있다고 설명한다. 사람의 계정 안에서 움직이는 에이전트에는 위임 방식이 적합할 수 있다. 서비스에 가입하고, 해당 서비스의 이메일을 받고, 계정을 계속 보유하는 에이전트라면 자체 계정 방식이 더 잘 맞는다. 앱은 토큰을 통해 두 방식을 구분할 수 있다.

에이전트에 AgentID를 설정하려면?

먼저 받은 편지함을 만든다. 주소가 에이전트의 AgentID가 된다.

bash
agentmail inboxes create --display-name "Research Agent"

다음으로 agentmail apps connect 명령을 사용해 AgentID를 지원하는 앱에 로그인을 시작한다. 이 명령은 AgentMail API(앱이 서버와 통신하는 인터페이스)를 호출한다. 연결 요청은 다음과 같은 API 호출로 이뤄진다.

http
# Start a sign-in at an app that accepts AgentID.
# Returns a single-use magic_url, valid for five minutes, and an api_key_id.
POST /v0/apps/{app_id}/connect

# After the sign-in completes from the magic_url, the new key's
# status moves from pending to active.
GET /v0/api-keys/{api_key_id}

첫 번째 호출은 한 번만 쓸 수 있고 5분간 유효한 magic_url과 api_key_id를 반환한다. 로그인을 완료하면 대기 중인 키의 상태가 활성으로 바뀐다. 연결 요청에 쓰는 AgentMail API 키에는 app_connect 권한이 필요하다. 새 키에서는 이 권한이 기본적으로 꺼져 있으므로 사용하는 키에 켜야 한다.

앱이 소유자 정보를 요구한다면 app_share_owner 권한도 필요하다. 이 권한이 없으면 에이전트가 혼자 로그인을 완료할 수 없고, AgentMail 계정에서 소유자가 승인해야 한다.

다른 방법도 있다. 에이전트가 앱의 AgentID 대기 화면에 먼저 도착했다면, 화면에서 받은 auth_token으로 다음 API를 호출하거나 명령줄에서 agentmail inboxes authorize를 실행해 대기 중인 로그인을 승인할 수 있다. 요청에 accept_disclosure: true를 넣으면 앱의 정보 공개 내용을 에이전트 대신 수락할 수 있다.

http
POST /v0/inboxes/{inbox_id}/authorize

브라우저가 없는 에이전트도 쓸 수 있나?

화면이 없는 브라우저를 조작하는 에이전트도 같은 방식으로 로그인할 수 있다. 브라우저 자체가 없는 에이전트라면, 처음 로그인을 시작한 브라우저에서 AgentMail 콘솔을 열어 사람이 직접 완료해야 한다.

앱이 자체 서명 도구를 운영하는 경우에는 브라우저에서 키를 생성하는 대신 AgentMail API Keys 엔드포인트를 통해 공개 P-256 키를 등록하는 방법도 있다. P-256은 공개 키와 개인 키를 짝으로 만드는 암호 기술이다.

키와 받은 편지함은 어떻게 관리하나?

에이전트는 자기 받은 편지함에 범위가 제한된 로그인 키의 개인 키를 보유한다. AgentMail에는 공개 키만 기록된다. 이 P-256 키 쌍은 브라우저에서 생성되며, 개인 키는 브라우저에 저장된다. 게시물에 따르면 브라우저 자바스크립트 API로는 개인 키를 내보낼 수 없다.

로그인 키는 활성화 시점부터 30일 동안 유효하다. 로그인 키는 이를 만든 AgentMail API 키와 별개다. 따라서 API 키를 삭제해도 에이전트의 로그인이 취소되지는 않는다. 접속을 끊으려면 로그인 키 자체를 삭제해야 한다. 에이전트가 앱에서 승인한 내용은 받은 편지함과 앱별로 180일 동안 기억된다.

에이전트는 전용 받은 편지함으로 서비스의 시작 안내, 제품 업데이트, 영수증과 청구서를 받을 수 있다. 고객 지원 요청을 열고 해결하는 데도 이 주소를 사용할 수 있다고 AgentMail은 설명한다. AgentID는 AgentMail이 제공하는 서비스이며, 게시물은 앱이 AgentID를 추가하는 것은 무료라고 밝힌다. 원문은 에이전트 이용 비용이나 AgentID를 지원하는 앱의 전체 목록은 밝히지 않는다.