자동화
Letaido 실행이 일정에 따라 어떻게 작동하는지 설명합니다. 두 가지 종류가 있습니다. 하나는 에이전트가 사용자를 위해 만든 작은 프로그램을 실행하고, 다른 하나는 에이전트를 깨워서 직접 작업을 수행하도록 합니다.
원하는 작업과 실행 시점을 설명하면 에이전트가 자동화를 작성하고 일정을 선택한 후 한 번 승인을 요청하며, 그 이후부터 실행합니다. 모든 실행의 출력(stdout, stderr, 종료 코드)이 저장되어 나중에 검토할 수 있습니다.
두 가지 유형의 자동화
1. 스크립트 자동화
에이전트가 프로그램을 한 번 작성한 후 일정에 따라 자동으로 실행합니다. 빠르고 저렴하며 예측 가능합니다. 실행 간 단계가 변경되지 않습니다. 작업이 기계적이고 매주 출력이 동일하게 보일 때 사용하십시오.
Example asks:
- "매주 월요일 오전 9시에 지난주 키워드 변동 사항을 가져와서 Slack으로 DM을 보내주세요."
- "매월 1일에 지난달 데이터를 보고서 아카이브에 보관합니다."
- "매시간 브랜드 레이더 캐시를 새로고침하여 대시보드가 즉시 로드되도록 합니다."
2. 에이전트 자동화
저장된 프로그램을 실행하는 대신, 스케줄은 서면 지시사항(프롬프트)으로 에이전트를 깨웁니다. 에이전트는 매번 새롭게 이를 읽고, 현재 워크스페이스에 있는 내용을 확인한 후, 채팅에서와 동일한 방식으로 행동을 결정합니다.
작업에 판단이 필요하거나, 실행 간 상황이 변경되거나, 에이전트가 매 사이클마다 작은 개선을 수행하고 시간이 지남에 따라 이러한 개선 사항이 누적되기를 원할 때 사용합니다.
Example asks:
- "매일 UTC 9시에 워크스페이스에서 변경된 사항을 확인하고 팀 위키를 업데이트합니다." (위 목록의 위키 동기화 자동화이며, 다음 섹션에서 다룹니다.)
- "매주 금요일 오후에 이번 주 경쟁사 데이터를 확인하고 월요일에 주목할 만한 사항을 알려줍니다."
- "매주 월요일에 이 랜딩페이지 초안을 확인하고 가장 큰 개선 사항 하나를 찾아 적용합니다." 몇 주 동안 실행하면 페이지가 스스로 재작성됩니다: 여러 사이클 후 결과 확인.
참고: 에이전트 자동화는 스크립트 자동화보다 비용이 더 많이 듭니다(단순 Python 대신 실행할 때마다 LLM 호출). 하지만 스크립트로는 절대 처리할 수 없는 작업을 처리합니다.
관리형 자동화 (Letaido가 사전 설치)
일부 자동화는 모든 워크스페이스에 사전 설치되어 제공되며, Letaido가 개선함에 따라 최신 상태로 유지됩니다. 첫 번째 관리형 자동화는 Wiki sync로, 매일 실행되는 에이전트 자동화이며 새로운 채팅 세션, 파일 편집 및 업로드를 요약하여 워크스페이스의 장기 메모리를 ~/workspace/wiki/에 최신 상태로 유지합니다.
wiki/ 폴더는 워크스페이스 장기 메모리에 대한 개념 증명입니다. 에이전트가 결정 사항, 명명된 엔티티, 규칙 및 최근 작업을 기록하여 향후 대화가 이전 대화가 중단된 지점부터 이어갈 수 있도록 하는 공간입니다. Wiki 동기화는 사용자가 직접 업데이트를 기억할 필요 없이 최신 상태를 유지하도록 합니다.
관리형 자동화는 자동화 탭에서 사전 설치됨으로 표시되며 기본적으로 읽기 전용입니다. 사용자 정의하려면 사용자 정의를 클릭하여 편집 가능한 사본으로 포크하십시오. 포크된 사본은 워크스페이스에 유지되며, 원본은 레타이두의 업데이트와 함께 계속 실행됩니다.
트리거 (곧 출시 예정)
현재 모든 자동화는 cron에 의해 트리거됩니다. 다음 단계에서는 이벤트 기반 트리거가 추가되어 연결된 앱에서 무언가 발생했을 때 자동화가 실행될 수 있습니다: 새로운 GitHub PR이 열렸을 때, HubSpot 거래가 Closed-Won으로 이동했을 때, 특정 채널에 Slack 메시지가 게시되었을 때 등입니다.
이를 통해 다음과 같은 패턴을 활용할 수 있습니다:
- "메인 저장소에 새로운 PR이 열릴 때마다 Claude Code와 Codex를 실행하여 보안 검토를 수행한 다음, 공동 요약을 #engineering에 게시합니다."
- "누군가 Slack의 #incoming-leads에 게시할 때마다 Ahrefs에서 해당 회사를 조회하고 4줄 분량의 컨텍스트 요약으로 답변합니다."
그때까지는 웹훅 큐를 폴링하는 스크립트 자동화와 Webhooks & triggers에 설명된 구독을 결합하여 이미 오늘부터 서드파티 이벤트에 대응할 수 있습니다. Slack, GitHub, HubSpot, Linear, Notion, Webflow 및 기타 수십 개의 제공업체가 이미 해당 큐에 이벤트를 전달하고 있으며, cron으로 예약된 스크립트가 이를 가져와서 작업을 수행합니다.
자동화를 요청할 때와 일회성 작업을 요청할 때
질문의 형태를 보면 어떤 것을 원하는지 알 수 있습니다.
- "매주 월요일마다", "분기마다", "X가 발생할 때마다"라고 말하면: 자동화입니다.
- "이번 주 월요일", "지금 당장", "이 URL 하나에 대해"라고 말하면: 일회성 채팅 실행입니다.
반면에 일회성 작업은 지금 당장 한 번만 수행하고자 하는 모든 것을 의미합니다:
- "지난주 데이터를 가져와서 요약해 주세요."
- "이 100개의 URL 목록을 확인하고 404를 반환하는 URL을 알려주세요."
승인이 어떻게 보이는지
자동화가 처음 등록되면 다음과 같은 승인 카드가 표시됩니다:
- 이름과 한 줄 설명입니다.
- 일정(cron 표현식)입니다.
- 종류(스크립트 또는 에이전트)입니다.
- 모델 및 컨텍스트 상한(에이전트 자동화의 경우)입니다.
- 스크립트 본문 또는 프롬프트 본문입니다.
소유자 또는 관리자가 한 번 클릭합니다. 그 후 자동화는 일정에 따라 실행됩니다. Automations 탭에서 일시 중지, 재개, 수동 트리거(지금 실행), 사용자 정의 또는 삭제할 수 있습니다.
일반적인 일정
| 주기 | Cron 표현식 |
|---|---|
| 5분마다 | */5 * * * * |
| 매시간 정각 | 0 * * * * |
| 매일 9:00 UTC | 0 9 * * * |
| 매주 월요일 8:00 UTC | 0 8 * * 1 |
| 하루 2회 (오전 9시, 오후 6시) | 0 9,18 * * * |
Cron 시간은 이 호스트에서 UTC로 설정됩니다. 로컬 시간대가 필요한 경우, 에이전트는 연중 로컬 시간에 매핑되는 UTC 시간을 선택하거나, 로컬 시간이 올바른 시간대에 있을 때만 작동하는 스크립트 내 zoneinfo 가드를 추가합니다. DST는 번거롭습니다. 에이전트는 이것이 문제가 될 때 알려줍니다.
종속성
자동화에 아직 승인되지 않은 Python 패키지나 커넥터가 필요한 경우, 에이전트는 다음과 같이 동작합니다:
- 종속성이 존재하는지 확인합니다.
- 존재하지 않는 경우, 표준 승인 흐름을 통해 설치 또는 커넥터 승인을 요청합니다.
- 소유자/관리자의 승인을 기다립니다.
- 그런 다음 자동화를 등록합니다.
종속성에 대한 승인 카드 하나와 자동화에 대한 승인 카드 하나를 볼 수 있습니다. 에이전트는 일반적으로 관련 요청을 일괄 처리하므로 세 번 클릭하는 대신 전체 플로우에 대해 한 번만 클릭하면 됩니다.
이 워크스페이스에서 실행 중인 자동화
Automations 탭의 워크스페이스에서 목록을 확인할 수 있습니다. 현재 읽고 계신 문서 사이트는 이 중 세 개로 유지 관리됩니다:
- Wiki sync (일일, Letaido 관리): 새로운 채팅 세션, 파일 편집 및 업로드를 읽고 이를
~/workspace/wiki/의 워크스페이스 위키로 정리하는 에이전트 자동화입니다. 이는 다음 두 자동화가 의존하는 장기 메모리입니다. - Docs sync (30분마다):
~/workspace/docs/에서 마크다운을 읽고 HTML로 렌더링한 다음 공개 사이트에 푸시하여 방문자가 30분 이내에 최신 버전을 볼 수 있도록 하는 스크립트 자동화입니다. - Docs auto-update suggestions (매주 월요일 10:00 유럽/부쿠레슈티): 위키를 읽고 지난 주 워크스페이스에서 변경된 내용을 나열한 다음 Andrei가 검토할 수 있도록 챕터별로 구체적인 편집을 제안하는 에이전트 자동화입니다. 제안만 제공하며 자동 게시는 하지 않습니다.
제한 사항
- 자동화 실행은 1시간 후 타임아웃됩니다. 더 긴 작업은 단계별로 나누고 중간 상태를 데이터베이스에 기록해야 합니다.
- stdout 및 stderr는 실행당 50KB로 제한됩니다. 더 큰 내용은 파일이나 데이터베이스 행에 저장해야 합니다.
- 일정은 승인 후 플랫폼에서 관리합니다. 일정을 변경하려면 에이전트가 새 자동화를 등록하고 기존 자동화를 제거해야 하며, cron을 자동으로 편집하지 않습니다.
내부 작동 방식. 각 자동화는 플랫폼의 자동화 테이블에 있는 행과 crontab 항목으로 구성됩니다. 러너는 스크립트를 셸로 실행하거나(스크립트 방식) 저장된 프롬프트로 새로운 에이전트 채팅을 생성하며(에이전트 방식), stdin/stdout/stderr를 캡처하고 실행 ID 환경 변수를 설정한 후 실행 기록을 다시 작성합니다. 스크립트가 시스템 전체에 설치되지 않은 항목을 가져오면 실행 기록에 명확한 오류와 함께 즉시 실패합니다.