콘텐츠로 이동

자동화

자동화 페이지(사이드바 > 자동화)는 키보드 앞에 사람이 없어도 추론 작업을 일정대로 실행합니다. 문서 폴더의 일일 요약, URL을 대상으로 한 시간별 상태 점검, 주간 보고서 초안 같은 작업이 여기에 어울리죠. 자동화 하나는 모델(필요하면 에이전트까지)과 프롬프트 템플릿, 입력 소스, 출력 동작의 조합으로 구성됩니다.

자동화 페이지 다크 모드의 자동화 페이지

페이지에는 자동화(목록)와 실행 기록 두 개의 탭이 있습니다. 컨테이너 태스크 탭은 컨테이너 태스크 실행기가 연결될 때까지 이 버전에서 숨겨져 있으며, 기존 컨테이너 태스크가 있는 경우 실행 기록을 확인하거나 삭제할 수 있도록 자동화 탭에 읽기 전용 섹션으로 표시됩니다(컨테이너 작업 스케줄링 참고).

자동화 만들기

새 자동화를 누르면 아래 양식이 열립니다. 대화로 만들기는 카나리 빌드(업데이트 채널의 기미상궁 버전)에서 미리보기로 사용할 수 있는 기능인데, 카나리 빌드에서는 새 자동화가 마지막으로 고른 방법으로 시작하고 옆의 화살표를 누르면 두 방법을 모두 고를 수 있습니다.

  • 대화로 만들기(카나리 빌드의 기본값): 목록 자리에 대화가 열리고 한 번에 하나씩 묻는데, 답이 몇 가지로 정해진 질문에는 선택지를 보여 주고 언제든 직접 입력할 수도 있습니다. 할 일, 실행 시각(일정을 시간대와 함께 풀어 쓰고 다음 실행 시각 세 개를 알려 줍니다), 필요한 입력, 결과를 받을 곳, 실행할 모델, 필요한 도구를 차례로 물은 뒤 요약을 보여 줍니다. 첫 메시지는 자동화가 할 일로 기록됩니다. 대화를 시작하기 전에 앱이 고른 모델로 첫 메시지를 확인합니다. 서비스 계정 로그인이나 다른 서비스에 글을 올리거나 보내는 일이 필요해 보이거나, 작은 모델(8B 미만)로는 어려운 전문적인 판단이 필요해 보이면 어려울 수 있는 요청이라는 안내와 함께 고쳐 쓰기와 계속 진행을 보여 줍니다. 계속 진행을 누르면 요청한 대로 대화를 시작하고, 새 메시지를 보내면 해당 메시지가 첫 메시지를 대신하며 다시 확인됩니다. 도우미가 답하고 나면 다음 질문의 선택지가 메시지 아래에 나타나고 마지막에 직접 입력이 있어, 선택지만 골라도 요약까지 갈 수 있습니다. 도구 단계에서는 도우미가 할 일, 입력, 결과를 받을 곳을 보고 결과에 필요하다고 판단한 도구가 미리 선택되어 있습니다. 도구를 눌러 켜거나 끈 뒤 선택한 도구 사용을 고르거나, 필요 없음을 고르면 됩니다. 모든 도구에서 고르기를 누르면 전체 도구 목록이 열리고, 해당 목록에서 켠 도구가 나머지 도구와 함께 선택됩니다. 입력 없이 할 일에 웹 주소가 들어 있으면 웹 페이지 가져오기가 미리 선택됩니다. URL 입력은 실행마다 해당 페이지의 내용을 전달하므로, 해당 페이지를 요약하는 데에는 도구가 필요 없습니다. 도우미가 요청에 아직 자동화로 할 수 없는 일이 필요하다고 판단하면(외부 계정 로그인, 외부 서비스에 글을 올리거나 지우거나 바꾸는 일, 실행할 때마다 사용할 코드 저장, 선택한 모델로는 어려운 판단), 대화에 필요한 항목마다 한 줄씩 안내하고 설정 선택지 대신 고쳐 쓰기와 그래도 초안으로 저장을 보여 줍니다. 자동화를 만드는 것은 도우미가 아니라 앱입니다. 만들고 켜기나 초안으로 저장을 고르면 앱이 자동화를 목록에 저장하고, 저장한 결과를 한 줄로 알려 주며 목록에서 보기를 함께 보여 줍니다. 실행 시간이나 모델이 아직 정해지지 않았다면 만들고 켜기를 골라도 초안으로 저장됩니다. 예약 실행에는 확인할 사람이 없으므로, 자동화가 무언가를 보내거나 기록하거나 지울 수 있는 도구를 사용하면 요약은 선택지를 보여 주기 전에 해당 도구마다 먼저 묻습니다. 허용을 고르면 예약 실행에서 묻지 않고 해당 도구를 사용하고, 빼기를 고르면 자동화에서 해당 도구를 뺍니다. 실행 전에 확인을 받도록 설정된 도구는 예약 실행에서 매번 거부되므로, 요약은 이를 알리고 같은 두 가지를 보여 줍니다. 정하기 전에는 아무것도 저장되지 않으며, 허용한 도구는 요약 아래에 표시됩니다. 요약에서 테스트 실행을 고르면 초안으로 저장한 뒤 한 번 실행합니다. 결과는 대화에 나타나고 실행 기록에 테스트로 표시되어 남으며, 알림이나 파일, 웹훅으로는 보내지 않습니다. 실행 중에 중지할 수 있고, 끝난 뒤에도 대화는 이어집니다. 이후 만들고 켜기나 초안으로 저장을 고르면 같은 초안이 갱신됩니다. 첫 메시지를 보내면 대화 옆에 지금까지 정한 내용을 담은 카드가 나타나고, 앱이 저장하기 전까지는 저장 전으로 표시됩니다. 고급 편집기에서 열기를 누르면 언제든 같은 값으로 아래 양식이 열리고, 정한 내용이 생기면 위쪽에 나타나는 초안으로 저장을 누르면 아직 마치지 않은 자동화가 목록에 저장됩니다. 대화에는 도구를 호출할 수 있는 모델이 필요합니다. 도구 호출을 지원하지 않는 모델도 모델 목록에 도구 호출 미지원으로 표시되지만 고를 수는 없습니다. 작은 모델(8B 미만, Gemma 3n E4B는 4B로 계산)을 고르면 메시지 입력창 위에 직접 입력한 답을 초안에 기록하지 못할 수 있다는 안내가 나타납니다. 대화에 나오는 선택지는 그대로 사용할 수 있습니다. 고른 모델을 아직 준비하는 중이면 보낸 메시지는 기다렸다가 모델이 준비되면 전달됩니다.
  • 직접 설정: 아래 양식을 채웁니다.

초안은 아직 마치지 않은 자동화입니다. 카드에 초안 배지가 붙고, 실행되지 않으며 지금 실행도 꺼져 있습니다. 이름, 일정, 모델, 프롬프트를 모두 정한 뒤 켜거나 양식에서 저장하면 초안이 완성됩니다.

양식은 다음과 같이 구성됩니다:

  1. 기본 정보: 이름 (예: "일일 요약", "시간별 점검").
  2. 일정: 빈도 프리셋(15분/30분마다, 매시간, 매일, 매주)을 고르거나 cron 표현식을 직접 입력합니다. 표현식은 입력하는 동안 검증되고, 시간대는 IANA 이름(예: Asia/Seoul, America/New_York)을 사용합니다.
  3. 모델 및 에이전트: 작업을 실행할 모델을 고릅니다. 목록에는 로컬 모델 파일과 등록된 프로바이더가 제공하는 모델이 함께 나옵니다. 자동화는 프로바이더 모델을 모델 ID만으로 저장하므로, 여러 프로바이더가 같은 모델을 제공해도 목록에는 한 번만 나타나고 실행할 때마다 라우터가 프로바이더를 고릅니다. 먼저 고른 쪽을 사용할 수 없으면 다른 쪽으로 넘어가는데, 실패한 프로바이더를 다시 시도해 줄 사람이 없는 무인 실행에서는 이 동작이 더 알맞습니다. 에이전트 필드의 기본값은 없음 (직접 추론)으로 프롬프트를 모델에 바로 보냅니다. 에이전트 프로필을 선택해도 프롬프트는 고른 모델에 바로 전달되며, 프로필의 시스템 프롬프트와 지침이 자동화의 시스템 프롬프트 앞에 붙습니다. 자동화에 도구 권한을 따로 정하지 않았다면 프로필의 도구 권한이 적용됩니다(도구 참고). 프로필의 선호 모델과 도구 목록은 사용하지 않으며, 자동화는 자신에게 정한 모델과 도구로 실행됩니다. 모델 수명 주기는 토글 세 개로 조절합니다:
    • 실행 전 모델 자동 실행: 모델이 실행 중이 아니면 실행합니다.
    • 실행 후 모델 중지: 실행이 끝나면 메모리를 해제합니다.
    • 앱 시작 시 누락된 실행 따라잡기: 예약 시각에 앱이 꺼져 있었다면 다음 실행 시 한 번 실행합니다.
  4. 도구: 예약 실행 중 모델이 호출할 수 있는 도구를 선택합니다. 아무것도 선택하지 않으면 도구 호출이 비활성화됩니다. 이 선택은 허용 목록이며, 모델에 도구 목록을 알려 줄 때뿐 아니라 도구를 실제로 실행하기 직전에도 검사합니다. 선택 목록 밖의 도구를 모델이 호출하면 거부 결과를 돌려받고 그 도구 없이 이어서 진행합니다. 같은 섹션의 도구별 권한 설정도 함께 적용되고, 자동화에 따로 지정하지 않으면 선택한 에이전트 프로필의 권한을 따릅니다. 자동화는 사람이 지켜보지 않는 상태로 실행되므로 한 번 확인 또는 매번 확인으로 표시된 도구는 승인해 줄 사람을 기다리지 않고 거부합니다. 자동화에 꼭 필요한 도구라면 항상 허용으로 지정하세요.
  5. 입력 소스: 프롬프트에 {{input}}으로 주입되는 외부 데이터입니다 (선택 사항):

    • 없음: 외부 입력 없음.
    • 파일: 지정한 파일 경로의 내용.
    • 디렉토리 (글로브): glob 패턴에 일치하는 파일들 (예: /data/docs/*.txt).
    • URL (HTTP GET): 해당 URL의 페이지 내용. HTML 페이지는 본문을 추출해 Markdown으로 변환하고, JSON이나 일반 텍스트 같은 다른 응답은 그대로 사용합니다.
    • 셸 명령어: 명령 실행 결과.

    셸 명령어

    셸 명령어는 실행할 때마다 앱의 권한으로, 확인 없이 실행됩니다. 신뢰할 수 있는 명령만 사용하세요.

    셸 명령어 입력은 설정 > 도구 및 확장 > 자동화 셸 명령어에서 셸 명령어를 자동화 입력으로 허용을 켜기 전까지 꺼져 있습니다. 꺼져 있는 동안에는 셸 명령어 입력을 쓰는 자동화를 저장, 가져오기, 복제할 수 없고, 이전에 저장한 자동화는 이 설정을 알려 주는 메시지와 함께 실행이 실패합니다. 조직 정책으로 이 설정을 잠글 수 있습니다(tools.allowScheduleCommandInput).

  6. 프롬프트: 모델에 보낼 프롬프트 템플릿과 선택적인 시스템 프롬프트입니다.

  7. 출력 동작: 결과를 어떻게 처리할지 정합니다:
    • 히스토리에만 저장: 실행 기록에서 확인합니다.
    • 파일로 저장: 지정한 디렉토리에 기록합니다.
    • 데스크탑 알림: OS 알림으로 표시합니다 (권한이 없으면 양식에서 알림 권한을 요청합니다).
    • 웹훅 (HTTP POST): 지정한 URL로 전송합니다.
  8. 매개변수: 실행에 적용할 생성 설정으로, temperature(0~2)와 최대 토큰 수를 포함합니다.

템플릿 변수

프롬프트 템플릿(및 시스템 프롬프트)에는 실행 시점에 치환되는 변수를 쓸 수 있습니다:

변수 치환 결과
{{input}} 입력 소스에서 가져온 데이터
{{date}} 현재 날짜 (YYYY-MM-DD)
{{time}} 현재 시각 (HH:MM:SS)
{{datetime}} 완전한 ISO 8601 타임스탬프
{{prev_result}} 이전 실행의 결과
{{file:/path/to/file}} 파일 내용 인라인 삽입 (최대 100 KB)
{{env:VAR_NAME}} 환경 변수 값 (민감한 변수 이름은 차단됨)

자동화 관리

자동화 카드에는 모델, 일정을 풀어 쓴 문구(예: "평일 오전 9:00", 내 시간대가 아니면 시간대까지), 마지막 실행 결과, 다음 실행 시각이 표시됩니다. 양식의 일정 아래에도 같은 문구와 다음 실행 시각 세 개가 나옵니다. 카드에서 바로 할 수 있는 일은 다음과 같습니다:

  • 삭제하지 않고 활성과 일시정지 사이를 전환합니다.
  • 지금 실행으로 일정과 무관하게 즉시 실행합니다.
  • 편집으로 양식에서 구성을 수정합니다. 카나리 빌드에서는 편집을 누르면 두 방법을 고를 수 있으며, 대화로 편집을 고르면 같은 대화가 해당 자동화의 현재 상태로 열리고, 카드와 요약 선택지가 함께 보입니다. 바꿀 내용을 말한 뒤 변경 저장을 누르면 켜짐과 꺼짐은 그대로 둔 채 저장하고, 꺼져 있으면 저장하고 켜기도 보이며, 테스트 실행은 변경을 저장하고 한 번 실행합니다. 고급 편집기에서 편집은 양식을 엽니다.
  • 삭제로 자동화를 제거합니다. 실행 기록도 함께 삭제되며, 진행 전에 확인 대화상자가 표시됩니다.

실행이 시작되거나 완료(소요 시간 포함)되거나 실패하면 데스크탑 알림이 표시됩니다.

실행 기록

실행 기록 탭에는 모든 실행이 자동화 이름, 상태, 시작 시각, 지속 시간, 결과와 함께 나열됩니다. 자동화, 상태, 날짜 범위로 필터링하고, 실행을 열어 전체 결과나 오류를 확인할 수 있습니다.

API와 CLI로 자동화하기

이 페이지의 모든 기능은 앱 없이도 사용할 수 있습니다. /schedules와 /executions 엔드포인트는 자동화 API 레퍼런스에 정리되어 있고, aigo schedule이 터미널에서 같은 엔드포인트를 감쌉니다(CLI 레퍼런스 참고). 양쪽 모두 자동화를 파일로 내보내 다른 기기에서 가져올 수 있습니다.

한 가지 주의가 함께 따라옵니다. 내보내기 문서는 웹훅 URL과 셸 명령줄을 평문으로 담고 있으며, 가져온 자동화는 활성 상태로 도착합니다. 그런 파일을 주고받기 전에 API 레퍼런스의 내보내기 경고를 읽어 보세요.