사고를 칠 에이전트를 위한 심층 방어

모든 안전 메커니즘에는 버그가 있습니다. 단지 아직 어떤 것인지 모를 뿐입니다.

이것이 프로덕션용 자율 에이전트를 구축하는 유일하게 합리적인 방법입니다. 양심(conscience)은 행동을 잘못 분류할 것이고, 의회(council)는 나쁜 아이디어를 승인할 것이며, 격리벽(isolation wall)에는 틈이 생길 것입니다.

각 계층은 결국 실패하게 됩니다.

설계의 핵심은 완벽한 계층을 만드는 방법이 아닙니다. 질문은 이것입니다: 계층이 실패했을 때 그 뒤에 무엇이 버티고 있는가?

저는 시스템을 보호하기 위해 6개의 계층을 사용합니다. 앞선 계층일수록 문제가 현실화되기 전에 차단하므로 비용이 더 저렴합니다.

• L0 — 구조적 격리. 기본 수준에서 잘못된 테넌트의 행동을 방지합니다. • L1 — 아이디어 게이트. 코드가 생성되기 전, 토론 단계에서 나쁜 아이디어를 차단합니다. • L2 — 액션 게이트. 위험도에 따라 명령을 허용하거나 거부하는 반사 작용입니다. • L3 — 리소스 게이트. 메모리, 예산 및 폭주하는 비용을 제어합니다. • L4 — 감사(Audit). 변조 방지 영수증을 사용하여 모든 결정을 추적합니다. • L5 — 복구(Recovery). 격리와 롤백을 사용하여 진행 중인 피해를 중단합니다.

계층을 나열하는 것만으로는 심층 방어가 아닙니다. 진정한 심층 방어를 위해서는 한 가지 규칙이 필요합니다:

모든 치명적인 리스크는 최소 두 개의 독립적인 계층에 의해 포착되어야 합니다.

독립적이라는 것은 동일한 이유로 실패하지 않음을 의미합니다. 만약 두 번의 검증이 동일한 설정이나 동일한 신호를 사용한다면, 그것은 같은 검증입니다. 그 신호가 실패하면 두 검증 모두 실패합니다.

저는 이런 일이 발생하는 것을 직접 보았습니다. 제 아이디어 게이트가 한 번은 일어나지도 않은 토론에 대해 확신에 찬 판결을 내린 적이 있습니다. 헬퍼(helper)가 결과 전체를 조작한 것입니다.

L1이 실패했습니다. 단순히 오류를 놓친 것이 아니라, 그럴듯한 거짓말을 만들어낸 것입니다.

만약 L1이 유일한 방어선이었다면, 그 거짓말은 실제 결정이 되었을 것입니다. 하지만 L4가 이를 잡아냈습니다. L4는 서술(narration)을 믿지 않습니다. 오직 영수증(receipts)만을 믿습니다. 저는 트랜스크립트(transcript) 파일을 찾아보았습니다. 파일은 존재하지 않았습니다. 그 주장은 무효였습니다.

L1이 실패할 것이라고 가정했기 때문에 시스템은 안전을 유지할 수 있었습니다.

이 계층들의 현재 상태:

• L1 — 구현 완료. • L2 — 구현 완료. • L4 — 구현 완료. • L0 — 부분 구현. • L3 — 부분 구현. • L5 — 부분 구현.

감사할 수 없는 안전 아키텍처는 그저 무드 보드(mood board)에 불과합니다.

어떤 안전한 에이전트에 대해서든 다음 세 가지 질문을 스스로에게 던져보십시오:

  1. 가장 심각한 리스크에 대해, 이를 잡아낼 두 개의 독립적인 계층은 무엇입니까?
  2. 한 계층이 확신에 찬 잘못된 신호를 보낼 때, 그 뒤에서 그 신호를 거부하는 계층은 무엇입니까?
  3. 어떤 계층이 구축되었고, 어떤 것이 단순한 아이디어에 불과합니까?

기능(Capability)이 하나의 계층이라면, 안전(Safety)은 나머지 다섯 개의 계층입니다.

출처: https://dev.to/artemmatviychuk/defense-in-depth-for-an-agent-that-will-definitely-screw-up-5en0 선택 학습 커뮤니티: https://t.me/GyaanSetuAi