제한 및 경계
Letaido가 하지 않는 것, 할 수 없는 것, 그리고 알아두면 좋은 소프트 제한 사항입니다.
하드 "불가능" (설계상)
이는 의도적인 거부입니다. 영리한 프롬프트로 무시할 수 없습니다.
- 명시적 승인 없이 영향력 있는 작업 수행. Python 패키지 설치, 작업 등록, 새로운 아웃바운드 도메인 허용 목록 추가, 새로운 자격 증명 연결 등은 모두 승인 카드를 표시합니다. 소유자 또는 관리자가 한 번 클릭합니다.
- 공개 사이트 모드 전환. 비공개 / 승인됨 / 공개는 소유자 또는 관리자만 가능하며, 워크스페이스 UI를 통해서만 가능합니다. 에이전트는 프로그래밍 방식으로 전환하지 않습니다.
- 승인된 커넥터 없이 외부 서비스 접근. 이메일 전송, 결제 API 호출, Slack 게시 또는 제3자에 대한 기타 쓰기 작업은 호출을 수행하는 표면(채팅, 콘솔 또는 사이트)에 대해 승인된 커넥터가 필요합니다.
- 다른 워크스페이스 접근. 모든 워크스페이스는 OS, 데이터베이스 및 비밀 저장소 수준에서 격리됩니다.
강제적 "불가능"
- 콘솔 프로세스는
~/workspace/downloads/외부의 비공개 워크스페이스 파일을 읽을 수 없습니다. - 공개 사이트는 콘솔 내부 데이터를 읽을 수 없습니다. Postgres 역할이 데이터베이스 계층에서 접근을 REVOKE합니다. 실패는 조용하지 않고 명확하게 드러납니다.
- 어떤 표면도 플랫폼 구성 디렉토리(
/opt/letaido/config/)를 읽을 수 없습니다. - 명시적인 도메인 허용 목록 없이는 루프백이 아닌 호스트로의 아웃바운드 HTTPS가 불가능합니다.
- nginx는 30초에 타임아웃됩니다. 긴 작업은 작업 ID를 반환하고 폴링합니다. 에이전트는 요청받지 않아도 이를 준수하는 앱을 작성합니다.
소프트 제한 (알아두면 유용함)
- 컨텍스트 윈도우. 단일 채팅은 유한한 컨텍스트 윈도우를 가집니다. 긴 세션은 성능이 저하됩니다. 에이전트는 채팅에서 중간 결과를 반복하는 것보다 디스크에 기록하는 것을 선호하며, 부수적인 작업(긴 리서치, 히스토리 독립적인 초안)을 위해 별도의 채팅을 생성합니다.
- 백그라운드 작업 런타임. 실행당 1시간입니다. 더 긴 작업은 Postgres에 상태를 저장하며 단계별로 분할해야 합니다.
- 작업 출력 캡처. stdout과 stderr는 실행당 50KB로 제한됩니다. 더 큰 출력은 파일이나 데이터베이스 행에 저장됩니다.
- 웹훅 이벤트 보존. 며칠이 지난 읽지 않은 이벤트는 삭제됩니다. 컨슈머가 오프라인이었다면 가정하지 말고 큐 깊이를 확인하십시오.
- LLM 토큰. 플랫폼에서 부과하는 채팅당 제한은 없지만, 매우 긴 단일 프롬프트는 비용이 더 많이 들고 속도가 느립니다. 에이전트는 자연스럽게 청크로 나눕니다.
- 공개 사이트 팬아웃. 방문자당 서드파티 API 호출은 없습니다. 에이전트는
site_db에 캐시하거나 사이트가 읽기만 하는 작업을 통해 사전 계산합니다.
승인 워크플로
카드를 표시하는 모든 항목에 대해:
- 에이전트가 요청을 수행합니다(
pip install,register_job,request_domain_access,request_connector_secret,request_connector_approval,create_webhook). - 채팅에 카드가 표시됩니다. 클릭할 때까지 에이전트가 대기합니다.
- 소유자 또는 관리자가 승인 또는 거부를 클릭합니다.
- 에이전트가 자동으로 재시도하고 계속 진행합니다.
에이전트가 미리 계획을 세우면 카드가 조금씩 전달되지 않습니다. 범위 요청을 집계하는 것이 플레이북의 일부입니다. 계획한 모든 작업에 대한 범위를 나열하는 하나의 Slack 범위 카드를 요청하며, 세 번에 걸쳐 조금씩 요청하지 않습니다.
워크스페이스 역할, 권한 및 팀원 초대 방법은 별도의 문서에서 확인할 수 있습니다: 워크스페이스 역할 및 공유.
에이전트가 요청을 거부하는 경우
평이한 영어로:
- "Mateusz의 워크스페이스에 무엇이 있는지 확인해 주세요." 절대 불가능합니다. 워크스페이스 간 격리는 완전합니다.
- "공개 사이트 모드를 우회하는 SQL을 작성해 주세요." 불가능합니다. 토글은 nginx 레이어에 있습니다.
- "이 고객 목록을 이메일로 보내주세요." Resend 또는 Mailchimp 커넥터가 적절한 표면에 대해 올바른 범위로 승인되고 작업이 기록되는 경우에만 가능합니다.
- "X에 대해 확신한다고 말해 주세요"라고 확신하지 못할 때 요청하는 경우. 확인할 수 없다는 점, 시도한 내용, 그리고 질문을 해결할 수 있는 방법을 명시적으로 말합니다.
에이전트가 거부할 때
거부하지 말고 논쟁하세요:
- "더 나아지게 만들어 줘." (어떤 측면에서 더 나아지게? 길이, 톤, 전환율, 정확성?)
- 다중 시스템 작업에 대해 "한 번에 모든 것을 처리해 줘." (먼저 계획을 세운 다음 실행합니다.)
- "숫자는 믿어 줘." (정합성 검사를 실행하고 발견한 내용을 알려드립니다.)
- "그냥 추측해 줘." (가정을 제시하고 레이블을 붙인 다음 진행 여부를 물어봅니다.)
내부 작동 방식. 제한은 여러 계층에서 적용됩니다: 파일 시스템 권한(워크스페이스 경계), Postgres 역할(데이터 경계), nginx 라우팅(가시성), 방화벽(아웃바운드 네트워크), 그리고 커넥터 디스패처(범위가 지정된 자격 증명). 이들 중 어느 것도 에이전트가 올바르게 작동하는 것에 의존하지 않습니다. 에이전트가 올바르게 작동하는 것은 보너스일 뿐, 보안 모델이 아닙니다.