도구가 힘을 주고, policy가 모양을 준다
도구를 가진 에이전트는 시스템 안의 행위자야. 그 행위자에게는 least privilege, audit log, 명시적 approval boundary가 필요해. “조심해라”라고 프롬프트에 쓰는 건 permission model이 아니야.
blast radius로 도구를 분류해
read-only tool은 대체로 자유롭게 실행 가능해. write tool은 validation이 필요하고, destructive tool은 사람 승인이나 아주 좁은 자동화 범위가 필요해. privileged tool은 identity, policy, audit trail이 필요하다.
code execution은 특히 의심해야 해. container, restricted subprocess, ephemeral workspace, network limit, timeout을 써. 신뢰하지 않는 generated code를 소중한 host에서 그대로 돌리지 마. 진짜로.
승인은 의미 단위여야 한다
사용자가 효과를 이해하지 못하는데 `tool X with args Y`를 승인하라고 하면 안 돼. “파일 3개 삭제”, “이 수신자들에게 이 메일 전송”, “이 commit을 production에 배포”처럼 사람이 이해하는 말로 승인받아야 해.