This is the full developer documentation for Endue AI # Endue 문서 > Endue 는 AI 에이전트에게 정체성을 주고, 이미 쓰고 있는 도구에 연결하고, 에이전트가 하는 일의 통제권을 사용자에게 남깁니다. Endue 는 실제 업무를 하는 AI 에이전트 플랫폼입니다. 에이전트에게 정체성과 목적을 주고 이미 쓰고 있는 도구에 연결하면, 대화 중에도·정해진 일정에도·이벤트에 반응해서도 에이전트가 일합니다. 그동안 계정 밖으로 나가는 모든 행동의 통제권은 사용자에게 남습니다. ## 시작하기 [섹션 제목: “시작하기”](#시작하기) Endue 는 여러 환경에서 돌아갑니다. 어디서 쓰든 같은 에이전트, 같은 대화, 같은 기록을 봅니다. 한쪽에서 시작해 다른 쪽에서 이어갈 수 있습니다. 시작할 곳을 고르세요. * 웹 브라우저에서 쓰는 Endue 작업 공간 전체입니다. 에이전트를 만들고, 대화하고, 도구를 연결하고, 루틴을 예약하고, 결과물을 검토하는 일이 설치 없이 됩니다. Endue 를 열어 로그인한 다음 [빠른 시작](/ko/docs/get-started/quickstart/)을 따라 첫 에이전트를 만드세요. 여기서 시작하기를 권합니다. 이 문서의 나머지도 기본적으로 웹 화면을 기준으로 설명합니다. * 데스크톱 endue Desktop 은 macOS 용 데스크톱 앱입니다. 웹과 같은 endue 를 창 하나로 엽니다. 내 컴퓨터의 파일을 에이전트가 다루게 하려면 그 컴퓨터에 [endue Computer](/ko/docs/build/own-server/)를 설치하세요. 설치 문서 작성 중 데스크톱 설치 안내는 작성 중입니다. 지금 데스크톱 앱이 하는 일은 [사용 환경](/ko/docs/get-started/surfaces/)에서 볼 수 있습니다. * 모바일 이미 돌고 있는 에이전트를 확인하기 위한 iOS · Android 앱입니다. 결과물을 읽고, 에이전트가 한 질문에 답하고, 에이전트가 하려는 행동을 승인하거나 거절합니다. 설치 문서 작성 중 모바일 설치 안내는 작성 중입니다. [사용 환경](/ko/docs/get-started/surfaces/)을 참고하세요. * CLI 로컬 런타임이자 명령줄 클라이언트인 `endue` 바이너리 하나입니다. 대화형 세션은 `endue chat`, 다른 도구로 파이프할 단발 작업은 `endue run` 입니다. 설치 문서 작성 중 CLI 는 아직 일반 공개 전입니다. 제공하는 명령은 [사용 환경](/ko/docs/get-started/surfaces/)에서 볼 수 있습니다. ## 할 수 있는 일 [섹션 제목: “할 수 있는 일”](#할-수-있는-일) 프롬프트가 아니라 정체성을 준다 Endue 의 에이전트는 채팅창이 아니라 계속 남는 존재입니다. 이름과 핸들, 프로필, 성격, 그리고 리비전 기록이 남는 시스템 프롬프트를 갖습니다. 그래서 행동 방식을 바꿔보고, 바꾼 것이 더 나쁘면 되돌릴 수 있습니다. 직접 만든 에이전트는 핸들로 부를 수 있고, 어디서 일하든 같은 에이전트가 나타납니다. → [에이전트 만들기](/ko/docs/get-started/core-concepts/#%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8) 이미 쓰는 도구에 연결한다 서른 개가 넘는 서비스에 에이전트를 연결합니다 — Gmail 과 Google Workspace, Slack, Notion, Linear, GitLab, Shopify, Figma, Datadog 등입니다. 연결하면 에이전트는 사용자가 승인한 계정 안에서 검색하고, 읽고, 만들고, 보냅니다. 그 밖은 하지 못합니다. 연결은 계정에 묶이고, 고른 에이전트에만 바인딩되며, 언제든 해지할 수 있습니다. → [연결 가능한 서비스](/ko/docs/connect/available-connectors/) 프롬프트를 다시 쓰는 대신 스킬을 가르친다 스킬은 반복되는 일 — 체크리스트, 절차, 명령 묶음 — 을 하나로 포장한 것입니다. 에이전트에 바인딩해 두고 계속 재사용합니다. 아직 쓸 권한이 없는 스킬을 에이전트가 먼저 요청할 수도 있고, 줄지 말지는 대화 안에서 사용자가 결정합니다. 중요한 것을 기억하게 한다 에이전트는 사용자와 업무에 대해 알게 된 것을 저장했다가 다음 대화에서 떠올릴 수 있습니다. 메모리는 명시적이고 들여다볼 수 있습니다. 무엇을 기억했는지 확인하고, 남으면 안 될 것은 지울 수 있습니다. 반복되는 일을 일정에 올린다 작업을 루틴으로 만들어 일정에 따라 돌립니다 — 아침 브리핑, 주간 보고, 야간 점검 같은 것들입니다. 루틴은 사용자가 앱에 있든 없든 실행되고, 결과물은 작업 공간에서 기다립니다. 긴 텍스트 대신 아웃풋을 받는다 보고서·문서·다이어그램처럼 남겨둘 만한 것을 에이전트가 만들면 아웃풋이 됩니다. 자기 페이지와 공유 링크를 갖습니다. 작업 공간 밖의 사람에게 그 링크를 건네도 다른 것에는 접근 권한이 생기지 않습니다. → [아웃풋](/ko/docs/capabilities/outputs/) 도는 동안에도 통제권을 쥔다 실행이 시작돼도 사용자가 배제되지 않습니다. 도는 도중에 방향을 잡아줄 수 있고, 계정 밖으로 무언가를 보내거나 데이터를 지우는 행동은 승인하거나 거절합니다. 바깥으로 나가는 일은 사용자의 확인 없이 일어나지 않습니다. → [핵심 개념: 실행](/ko/docs/get-started/core-concepts/#%EC%8B%A4%ED%96%89) 프로젝트와 스페이스로 일을 묶는다 관련된 대화·아웃풋·루틴을 프로젝트로 묶으면 에이전트가 맥락을 제대로 갖습니다. 스페이스는 팀이 에이전트와 그 결과물을 함께 쓰게 해줍니다. ## 필요한 페이지 찾기 [섹션 제목: “필요한 페이지 찾기”](#필요한-페이지-찾기) | 하고 싶은 일 | 여기서 시작 | | ------------------------------ | -------------------------------------------- | | 첫 에이전트를 만들고 대화해 보기 | [빠른 시작](/ko/docs/get-started/quickstart/) | | 에이전트·실행·아웃풋이 정확히 뭔지 이해하기 | [핵심 개념](/ko/docs/get-started/core-concepts/) | | 에이전트가 왜 그렇게 했는지 알기 | [Endue 의 동작 방식](/ko/docs/get-started/how-it-works/) | | 실제로 통하는 시스템 프롬프트 쓰기 | [시스템 프롬프트와 리비전](/ko/docs/build/system-prompt/) | | 이미 만든 에이전트의 결과를 개선하기 | [시험하고 다듬기](/ko/docs/build/iterating/) | | Gmail · Slack · Notion 등을 연결하기 | [연결 가능한 서비스](/ko/docs/connect/available-connectors/) | | 반복 작업을 일정에 올리기 | [루틴](/ko/docs/automate/routines/) | | 에이전트가 닿을 수 있는 범위를 파악하기 | [보안과 권한](/ko/docs/account/security/) | | 무엇이 잘못됐는지 알아내기 | [문제 해결](/ko/docs/troubleshooting/) | | 어떤 앱을 설치할지 정하기 | [사용 환경](/ko/docs/get-started/surfaces/) | | 제품에서 본 용어 찾아보기 | [용어집](/ko/docs/get-started/glossary/) | 에이전트와 함께 이 문서 읽기 모든 페이지는 순수 Markdown 으로도 제공되고, 사이트 전체가 [`/llms.txt`](/ko/docs/llms.txt) 와 [`/llms-full.txt`](/ko/docs/llms-full.txt) 에 색인돼 있습니다. 둘 중 하나를 에이전트에게 알려주면 현재 문서를 근거로 Endue 에 대해 답할 수 있습니다. ## 다음 단계 [섹션 제목: “다음 단계”](#다음-단계) [빠른 시작](/ko/docs/get-started/quickstart/)에이전트를 만들고, 도구를 연결하고, 첫 결과물을 받아봅니다. [핵심 개념](/ko/docs/get-started/core-concepts/)에이전트, 대화, 실행, 스킬, 커넥터, 메모리, 아웃풋. [Endue 의 동작 방식](/ko/docs/get-started/how-it-works/)모든 실행 뒤의 루프, 에이전트가 볼 수 있는 것, 실행이 멈추는 이유. [에이전트 만들기](/ko/docs/build/agent-builder/)정체성 · 시스템 프롬프트 · 모델 — 에이전트의 행동을 정하는 모든 것. [도구 연결하기](/ko/docs/connect/overview/)서른 개가 넘는 서비스, 그리고 접근을 좁게 유지하는 바인딩 모델. ## 도움 받기 [섹션 제목: “도움 받기”](#도움-받기) * **문서 검색** — 아무 페이지에서나 `Ctrl`/`⌘` + `K` 를 누르세요. * **용어 찾기** — [용어집](/ko/docs/get-started/glossary/)이 제품에서 보이는 모든 용어를 정의합니다. * **메일 보내기** — . # 페이지를 찾을 수 없습니다 > 그 페이지는 없거나 옮겨졌습니다. 이 문서 안의 링크를 따라오셨다면 저희 쪽 결함입니다 — 알려주세요. 그 밖의 경우에는 위쪽 검색을 쓰거나 [핵심 개념](/ko/docs/get-started/core-concepts/)에서 시작하세요. # 내 API 키 사용 > 에이전트의 모델 호출에 Endue 의 허용량 대신 사용자가 가진 모델 제공자 자격증명을 씁니다. **내 API 키 사용**(BYOK)은 Endue 가 *사용자의* 제공자 자격증명으로 모델을 호출한다는 뜻입니다. 제공자가 사용자에게 직접 청구하고, 그 호출은 Endue 허용량을 쓰지 않습니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) * 이미 제공자 크레딧이나 협상된 단가가 있을 때. * 청구나 감사 때문에 조직이 모델 트래픽을 자기 계정으로 돌리기를 요구할 때. * 자기 계정에서만 접근되는 모델을 쓰고 싶을 때. 여기에 해당하지 않는다면 내장 허용량이 더 간단합니다. 설정할 것도, 충전해 둘 것도 없습니다. ## 설정하기 [섹션 제목: “설정하기”](#설정하기) 1. **모델 제공자 대시보드에서 키를 만듭니다.** OpenRouter, xAI, OpenAI 키를 등록할 수 있습니다. 2. **Endue 의 설정 → 계정 → LLM 키를 열고** 그 제공자 줄에서 등록을 눌러 붙여넣습니다. 등록할 때 키가 유효한지 제공자에 한 번 확인합니다. 3. **동작을 확인합니다.** 평범한 대화를 한 번 돌려 실행이 끝나는지 보세요. 키는 자격증명입니다 그 키로 지출할 수 있는 사람은 누구나 청구서를 키울 수 있습니다. 제공자에서 지출 한도를 걸고, 유출이 의심되면 키를 교체하세요. 교체는 제공자에서 새 키를 만들고 Endue 에서 갈아 끼우는 것을 뜻합니다. 옛 키와 새 키는 실행 중에 서로 대체되지 않습니다. ## 등록할 수 있는 키 [섹션 제목: “등록할 수 있는 키”](#등록할-수-있는-키) | 키 | 쓰이는 모델 | 요청이 가는 곳 | | ---------- | ------- | ---------- | | OpenRouter | 모든 모델 | OpenRouter | | xAI | Grok 모델 | xAI | | OpenAI | GPT 모델 | OpenAI | 키를 여러 개 등록하면 모델의 제공자 키가 먼저 쓰입니다. Grok 모델은 xAI 키로, GPT 모델은 OpenAI 키로 가고, 나머지 모델은 OpenRouter 키로 갑니다. 맞는 키가 없는 모델은 endue 크레딧으로 실행됩니다. xAI·OpenAI 키로는 요청할 수 없는 모델이 있습니다. OpenAI 의 Codex·Pro 계열과 Grok 4.20 이 그렇습니다. 이 모델들은 OpenRouter 키가 있으면 그 키로, 없으면 endue 크레딧으로 실행됩니다. xAI·OpenAI 키로 실행할 때 달라지는 점이 세 가지 있습니다. * Grok 모델에 붙인 PDF 는 본문을 텍스트로 뽑아 전달합니다. 그림과 표의 모양은 전달되지 않습니다. * GPT 모델은 답을 만드는 동안 생각 과정이 표시되지 않습니다. 답은 같습니다. * 음성·영상 첨부를 글로 옮기는 일은 OpenRouter 를 거칩니다. OpenRouter 키 없이 xAI·OpenAI 키만 등록했다면 음성·영상 첨부는 모델에 전달되지 않습니다. OpenRouter 키를 함께 등록하면 전달됩니다. ## 바뀌는 것과 그대로인 것 [섹션 제목: “바뀌는 것과 그대로인 것”](#바뀌는-것과-그대로인-것) | 바뀌는 것 | 그대로인 것 | | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | | 모델 호출의 비용을 누가 내는가 | 에이전트의 행동에 관한 모든 것 | | 어떤 모델에 닿을 수 있는가 — 사용자 계정의 접근 권한이 적용됩니다 | [승인](/ko/docs/work/approvals/) · [커넥터](/ko/docs/connect/overview/) · [메모리](/ko/docs/capabilities/memory/) · [아웃풋](/ko/docs/capabilities/outputs/) | | 청구서가 어디로 오는가 | 여전히 적용되는 Endue 구독 | BYOK 는 모델 호출을 다룹니다. Endue 요금제를 바꾸거나 제품을 무료로 만들지는 않습니다. ## 키가 동작을 멈추면 [섹션 제목: “키가 동작을 멈추면”](#키가-동작을-멈추면) 실행 도중 제공자가 키를 거부하거나 제공자 계정에 크레딧이 없으면 그 실행은 모델 단계에서 실패합니다. 입력창 위에 어느 제공자의 키인지와 함께 안내가 뜨고, 안내의 **LLM 키 설정** 이 설정으로 데려갑니다. 키가 거부되면 endue 가 제공자에 그 키를 한 번 더 확인합니다. 거부가 맞으면 설정에 **거부됨** 으로 표시되고, 그 뒤의 실행은 다른 키나 endue 크레딧으로 이어집니다. 어느 쪽으로 실행됐는지도 입력창 위에 보입니다. 새 키로 다시 등록하거나 그 키를 삭제하면 안내가 사라집니다. 순서대로 확인하세요. 제공자에서 키가 아직 유효한지, 계정에 크레딧이 있는지, 고른 모델이 그 계정으로 닿을 수 있는 것인지. ## 한계 [섹션 제목: “한계”](#한계) * 키는 에이전트별이 아니라 계정별로 설정합니다. * 실행 도중에 키가 거부되면 그 실행은 실패합니다. 실행 중간에 다른 키나 크레딧으로 바뀌지 않습니다. * 내 키로 시작한 실행은 끝까지 내 키로만 모델을 부릅니다. 에이전트에 설정한 폴백 모델을 내 키로 부를 수 없으면 그 실행에서는 폴백이 쓰이지 않습니다. * 제공자의 요청 한도는 사용자의 것입니다. 바쁜 [루틴](/ko/docs/automate/routines/)은 거기 닿을 수 있습니다. * 자기 키로 발생한 비용은 Endue 의 사용량 화면이 아니라 제공자 쪽에서 보입니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [요금제와 사용량](/ko/docs/account/plans-and-usage/)내장 허용량을 소모하는 것들. [모델 고르기](/ko/docs/build/models/)카탈로그, 그리고 모델별 실행 비용. [보안과 권한](/ko/docs/account/security/)자격증명이 어떻게 다뤄지는지. # 요금제와 사용량 > 무엇이 사용량을 소모하는지, 주간 한도가 어떻게 동작하는지, 얼마나 썼는지 어디서 보는지. Endue 는 실제로 돈이 드는 것 하나를 측정합니다. **모델 사용량**입니다. 그 밖의 것 — 에이전트, 대화, 아웃풋, 커넥터 — 은 행동마다 과금되지 않습니다. ## 무엇이 사용량을 소모하는가 [섹션 제목: “무엇이 사용량을 소모하는가”](#무엇이-사용량을-소모하는가) 모든 [실행](/ko/docs/work/runs/)은 대화와 에이전트의 프롬프트, 도구 결과를 모델에 보내고 모델이 답합니다. 양방향 모두 계산됩니다. 그래서 사용량을 좌우하는 것은 다음과 같습니다. | 요인 | 영향 | | ----------------------------------------------------------------- | ------------------------------------------- | | **어떤 모델인가** | 압도적으로 가장 큰 요인 — 카탈로그 안에서도 가격이 10배 넘게 차이 납니다 | | **[추론 강도](/ko/docs/build/models/#%EC%B6%94%EB%A1%A0-%EA%B0%95%EB%8F%84)** | 강도가 높으면 답하기 전에 토큰을 더 씁니다 | | **실행이 몇 단계를 밟는가** | 도구 결과가 매번 모델로 되돌아갑니다 | | **대화 길이** | 긴 실은 단계마다 다시 읽힙니다 | | **[루틴](/ko/docs/automate/routines/)** | 지켜보든 아니든 자기 일정대로 돕니다 | ## 주간 한도 [섹션 제목: “주간 한도”](#주간-한도) 요금제의 허용량은 **이동하는 한 주**를 기준으로 측정됩니다. 한 번에 다 써버릴 수 있는 월 잔액이 아닙니다. 그 주의 허용량을 다 쓰면 창이 넘어갈 때까지 실행이 거절됩니다. 염두에 둘 결과가 둘 있습니다. * 하루 몰아 써도 한 달치를 소진하지는 못합니다. * 짧은 주기의 루틴에 비싼 모델을 물리는 것이 한도에 닿는 가장 흔한 경로입니다. 지켜보지 않는 동안 꾸준히 쓰기 때문입니다. 현재 수치를 보는 곳 허용량과 지금까지 쓴 양은 홈 화면의 **Usage** 탭 — [사용량 대시보드](/ko/docs/account/usage/) — 에 있습니다. 요금제와 결제 정보는 **설정 › 결제**에 있습니다. 현재 가격과 각 요금제에 포함된 내용은 앱의 요금제 페이지에 있습니다. 그것들은 바뀌므로 앱이 기준입니다. ## 사용량 줄이기 [섹션 제목: “사용량 줄이기”](#사용량-줄이기) 효과가 큰 순서로 대략 이렇습니다. 1. **작업에 모델을 맞추세요.** 일상적인 일에는 빠르고 값싼 모델을, 어려운 몇 메시지에는 강한 모델을 쓰세요. [모델 고르기](/ko/docs/build/models/)를 보세요. 2. **루틴마다 모델을 고정하세요.** 예약 작업의 비용이 예측 가능해집니다. 3. **다단계가 아닌 일에는 추론 강도를 낮추세요.** 4. **주제가 바뀌면 새 대화를 시작하세요.** 긴 실은 단계마다 다시 전송됩니다. 5. **필요 없는 [내장 툴 그룹](/ko/docs/capabilities/built-in-tools/)을 끄세요.** 알려진 도구 하나하나가 매 단계의 컨텍스트입니다. 6. **루틴 주기를 넓히세요.** 매시간이 네 시간마다의 네 배 값을 하는 경우는 드뭅니다. ## 내 API 키 쓰기 [섹션 제목: “내 API 키 쓰기”](#내-api-키-쓰기) 모델 제공자에게 직접 결제하고 싶다면 자기 키를 연결하면 됩니다. 그 모델의 호출에 그 키가 쓰입니다. [내 API 키 사용](/ko/docs/account/bring-your-own-key/)을 보세요. ## 한계 [섹션 제목: “한계”](#한계) * 사용량은 에이전트별이 아니라 계정별로 측정됩니다. 대시보드의 에이전트별 보기는 그 합계를 쪼갠 것이지 각자의 허용량이 아닙니다. * 주간 허용량을 다 쓰면 실행이 거절됩니다. 진행 중이던 작업이 되돌려지지는 않지만 새 실행은 시작되지 않습니다. * 사용량 화면의 수치는 정산되는 동안 실행보다 잠시 늦을 수 있습니다. * [내 키](/ko/docs/account/bring-your-own-key/)로 돈 실행은 사용량 원장에 아예 기록되지 않습니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [사용량 대시보드](/ko/docs/account/usage/)이 페이지의 숫자를 실제로 읽는 곳. [모델 고르기](/ko/docs/build/models/)지출을 좌우하는 가장 큰 지렛대. [내 API 키 사용](/ko/docs/account/bring-your-own-key/)대신 제공자에게 직접 결제하기. [루틴](/ko/docs/automate/routines/)예약 작업 — 가장 알아채기 어려운 사용량. # 보안과 권한 > 에이전트가 무엇에 닿을 수 있고 무엇이 그것을 막는지, 자격증명은 어떻게 보관되는지, 접근을 어떻게 거두는지. Endue 의 에이전트는 사용자가 준 것에만 닿을 수 있고, 되돌릴 수 없는 행동은 사용자 없이 하지 못합니다. 이 페이지가 그 모델 전체를 한자리에 담았습니다. ## 에이전트가 닿을 수 있는 것 [섹션 제목: “에이전트가 닿을 수 있는 것”](#에이전트가-닿을-수-있는-것) 에이전트는 추론, 계산, 현재 시각, 공개된 웹 페이지 말고는 아무것도 없이 시작합니다. 그 너머는 전부 사용자가 더한 것입니다. | 닿는 범위 | 어디서 오는가 | 범위 | | ----------- | -------------------------------------------------- | ----------------------------------------- | | 사용자가 쓰는 서비스 | 승인**하고** 이 에이전트에 바인딩한 [연결](/ko/docs/connect/overview/) | 그 계정, 그 작업들 | | 포장된 절차 | 이 에이전트에 바인딩된 [스킬](/ko/docs/capabilities/skills/) | 그 스킬의 단계가 하는 일 | | 내가 운영하는 서버 | 이 에이전트에 바인딩한 [직접 연결](/ko/docs/connect/direct-connections/) | 그 엔드포인트. HTTP 서버라면 그 아래 경로만 | | 컴퓨터와 브라우저 | 에이전트의 [디바이스](/ko/docs/build/devices/) | 그 에이전트의 endue Computer 와 endue for Chrome | | 내장 능력 | 켜둔 [도구 그룹](/ko/docs/capabilities/built-in-tools/) | Endue 작업 공간 | | 사용자에 대한 사실 | [메모리](/ko/docs/capabilities/memory/)에 저장한 것 | 이 에이전트만 | ## 닿을 수 없는 것 [섹션 제목: “닿을 수 없는 것”](#닿을-수-없는-것) * **다른 에이전트의 대화·메모리·바인딩.** 에이전트들은 서로 격리돼 있습니다. * **자기의 다른 실.** [대화](/ko/docs/work/conversations/)는 다른 대화를 넘겨다보지 않습니다. * **연결하지 않은 서비스.** “아무 API 나 호출” 하는 범용 능력은 없습니다. [직접 연결](/ko/docs/connect/direct-connections/)은 등록한 서버에만 닿습니다. * **커넥터가 제공하지 않는 작업.** 커넥터마다 목록이 정해져 있습니다 — [연결 가능한 서비스](/ko/docs/connect/available-connectors/)를 보세요. * **사용자 컴퓨터의 어떤 것도.** 그 컴퓨터에 그 에이전트용 [endue Computer](/ko/docs/build/own-server/)를 설치하지 않는 한 그렇습니다. 설치해도 에이전트는 전용 사용자로, 설치 때 정한 제한 안에서 일합니다. ## 되돌릴 수 없는 행동 앞의 관문 [섹션 제목: “되돌릴 수 없는 행동 앞의 관문”](#되돌릴-수-없는-행동-앞의-관문) 모든 커넥터 작업은 분류돼 있습니다. **발송**(계정을 벗어나 다른 사람에게 닿는 모든 것)과 **파괴**(지우거나 덮어쓰는 모든 것)는 실행 전에 멈춰 서서 어떤 행동을 어떤 인자로 하려는지 그대로 보여줍니다. 이 관문은 끌 수 없습니다 에이전트가 묻지 않고 보내거나 지우도록 허용하는 설정은 에이전트별로도 계정별로도 없습니다. 지켜보는 사람이 없는 실행 — [루틴](/ko/docs/automate/routines/)이나 [채널](/ko/docs/automate/channels/) — 에서 그런 행동은 수행되지 않고 거절됩니다. 승인은 *그 인자를 가진 그 행동* 하나를 허가합니다. 다음 번에는 다시 묻습니다. ## 자격증명 보관 방식 [섹션 제목: “자격증명 보관 방식”](#자격증명-보관-방식) 커넥터를 승인하면 Endue 는 그 결과로 받은 토큰을 저장합니다. 비밀번호는 저장하지 않습니다. 비밀번호는 Endue 가 아니라 제공자에서 입력하니까요. 저장된 자격증명은 암호화되며, 커넥터의 작업이 기술하는 호출에만 쓰입니다. [BYOK](/ko/docs/account/bring-your-own-key/)로 제공한 모델 제공자 키와 [직접 연결](/ko/docs/connect/direct-connections/)의 헤더 값도 같은 방식으로 다뤄집니다. 헤더 값은 저장한 뒤 다시 보여 주지 않고, 에이전트에게 넘기지 않습니다. ## 접근 거두기 [섹션 제목: “접근 거두기”](#접근-거두기) | 거둘 대상 | 하는 일 | 효과 | | --------------------------------- | -------------------------------------------- | ------------------------- | | 에이전트 하나의 서비스 접근 | [에이전트 빌더](/ko/docs/build/agent-builder/)에서 연결 바인딩 해제 | 그 에이전트에 즉시 | | 모든 에이전트의 접근 | Endue 에서 연결 제거 | 어디서나 즉시 | | Endue 의 접근 전체 | 제공자에서도 취소 | 오래된 토큰으로도 Endue 가 호출하지 못함 | | 공유된 [아웃풋](/ko/docs/capabilities/outputs/) | 링크 공유 끄기 | 링크가 동작을 멈춤 | 완전히 끊으려면 Endue 쪽과 제공자 쪽을 모두 하세요. Endue 에서 연결을 제거해도 제공자에 등록된 Endue 가 취소되지는 않습니다. ## 실전 조언 [섹션 제목: “실전 조언”](#실전-조언) * **좁게 바인딩하세요.** 메일 초안을 쓰는 에이전트에게 운영 대시보드는 필요 없습니다. * **채널을 향한 에이전트는 조심하세요.** 봇에 닿을 수 있는 사람은 누구나 에이전트와 대화합니다. [채널](/ko/docs/automate/channels/)에 노출된 에이전트가 민감한 연결을 갖고 있어서는 안 됩니다. * **승인 창을 읽으세요.** 수신자가 잘못된 것을 잡으라고 있는 것이고, 거기 이름이 적혀 있습니다. * **공유할 것을 읽어보세요.** 메일을 바탕으로 쓴 아웃풋은 그것을 인용하고 있을 수 있고, 공유 링크는 가진 사람 누구에게나 공개입니다. * **메모리를 가끔 검토하세요.** 에이전트는 추론한 것도 적어두고, 있어선 안 될 것은 지울 수 있습니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [승인](/ko/docs/work/approvals/)관문 자체, 그리고 지켜보는 사람이 없을 때의 동작. [커넥터 개요](/ko/docs/connect/overview/)연결과 바인딩 — 접근 모델의 핵심. [연결 문제 해결](/ko/docs/connect/troubleshooting/)해지, 재승인, 그리고 잘못된 계정. # 설정 > 설정의 탭마다 무엇이 들어 있는지, 그리고 여기서만 다루는 세 가지 — 테마, 인터페이스 언어, 시간대. **설정**은 계정 전체에 걸리는 패널입니다. 앱이 어떻게 보이는지, 어떤 언어를 쓰는지, 무엇을 알려주는지, 그리고 계정과 결제에 관한 모든 것이 여기 있습니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 설정에는 내 모든 에이전트에 공통으로 참인 것들이 있습니다. *한* 에이전트에만 참인 것 — 프롬프트, 모델, 도구 — 은 [에이전트 빌더](/ko/docs/build/agent-builder/)에 있습니다. ## 들어가기 [섹션 제목: “들어가기”](#들어가기) 좌측 사이드바 맨 아래 계정 패널에서 **설정**을 고릅니다. 패널 위쪽에는 검색칸이 있어, 단어를 치면 그 단어를 가진 절로 바로 갑니다. 무엇이 어느 탭에 있는지 외우는 것보다 빠릅니다. ## 탭마다 무엇이 있는가 [섹션 제목: “탭마다 무엇이 있는가”](#탭마다-무엇이-있는가) | 탭 | 절 | 다루는 문서 | | ------ | --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | | **계정** | 개인정보 · 로그인 및 보안 · 플랜 · LLM 키 · API 키 · LLM API · 도구 허용 · 로그아웃 · 계정 삭제 | [보안과 권한](/ko/docs/account/security/), [내 API 키 사용](/ko/docs/account/bring-your-own-key/), [에이전트 API](/ko/docs/build/agent-api/), [LLM API](/ko/docs/build/llm-api/) | | **일반** | 화면 표시 · 언어 및 지역 · 알림 | 이 페이지, 그리고 [알림](/ko/docs/work/inbox/) | | **기능** | 아직 연결되지 않은 기능 스위치 미리보기 | 이 페이지 | | **결제** | 현재 플랜 · 결제 · 사용 크레딧 · 청구서 · 취소 | [요금제와 사용량](/ko/docs/account/plans-and-usage/) | ## 화면 표시 [섹션 제목: “화면 표시”](#화면-표시) **테마**는 밝게, 어둡게, 시스템 셋 중 하나입니다. 시스템은 해가 지며 바뀌는 것까지 포함해 운영체제를 따릅니다. 선택은 즉시 적용되고 그 브라우저에 기억됩니다. 아직 고른 적 없는 브라우저는 어둡게로 시작합니다. ## 언어 및 지역 [섹션 제목: “언어 및 지역”](#언어-및-지역) **표시 언어**는 인터페이스를 한국어와 영어 사이에서 바꿉니다. 즉시 반영되며 앱을 다시 불러오지 않습니다. 이 스위치가 하지 **않는** 일 둘. * 에이전트가 쓰는 말을 바꾸지 않습니다. 에이전트는 대화의 언어로 답하고, 자신의 언어는 [정체성](/ko/docs/build/identity/)의 일부입니다. * 내가 또는 에이전트가 만든 내용을 번역하지 않습니다. 프롬프트, 메모리, 아웃풋, 메시지는 쓰인 언어 그대로 남습니다. **시간대**는 앱 전반에서 날짜와 시각을 표시할 때 쓰는 기준입니다. 루틴은 자기 시간대를 따로 갖습니다 [루틴](/ko/docs/automate/routines/)을 만들면 그 일정은 만든 기기의 시간대를 기록하고 이후로도 그 시간대를 지킵니다. 여기서 계정 시간대를 바꾸면 시각이 *표시되는* 방식이 바뀔 뿐, 이미 예약된 루틴이 옮겨지지는 않습니다. ## 알림 [섹션 제목: “알림”](#알림) **일반**의 세 번째 절은 어떤 사건이 나에게 닿을지, 그리고 브라우저 알림으로 올지를 정합니다. 별도 페이지가 있습니다 — [알림](/ko/docs/work/inbox/). ## 기능 [섹션 제목: “기능”](#기능) **기능** 탭은 아직 연결되지 않은 스위치들의 미리보기입니다. 토글해도 저장되지 않고, 설정을 다시 열면 원래 자리로 돌아와 있습니다. 오늘 이 탭에서 켜지거나 꺼지는 기능은 없습니다. ## 한계 [섹션 제목: “한계”](#한계) * 테마는 브라우저 단위로 저장됩니다. 새 기기는 고르기 전까지 어둡게로 시작합니다. * 표시 언어는 콘솔에 적용됩니다. [문서](/)는 별개 사이트이며 자체 언어 전환이 푸터에 있습니다. * 시간대 목록은 세계의 모든 시간대가 아니라 정해진 몇 개를 담고 있습니다. * 기능 탭은 저장되지 않습니다. 조작 수단이 아니라 미리보기로 보세요. ## 관련 [섹션 제목: “관련”](#관련) [알림](/ko/docs/work/inbox/)일반의 세 번째 절 전체. [보안과 권한](/ko/docs/account/security/)로그인, 세션, 그리고 에이전트에게 허용되는 것. [요금제와 사용량](/ko/docs/account/plans-and-usage/)결제 탭이 다루는 것. [정체성과 프로필](/ko/docs/build/identity/)여기 없는, 에이전트별 설정. # 사용량 대시보드 > 에이전트가 무엇을 얼마나 썼는지 읽는 곳 — 총 토큰, 어떤 모델과 어떤 에이전트가 썼는지, 플랜 포함량이 얼마나 남았는지, 그리고 대화 한 건의 사용량. **사용량 대시보드**는 에이전트가 쓴 것의 기록입니다. 토큰을 기간별로, 모델별로, 에이전트별로 나눠 보여줍니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) [활동](/ko/docs/work/activity/) 보드의 토큰 배지가 예상보다 높을 때, [루틴](/ko/docs/automate/routines/)의 모델을 바꾸기 전에, 또는 한 주를 시작하며 지난주가 어디로 갔는지 볼 때 엽니다. *무엇이* 사용량을 만들고 포함량이 어떻게 도는지는 [요금제와 사용량](/ko/docs/account/plans-and-usage/)을 먼저 읽으세요. 이 페이지는 숫자를 읽는 법에 관한 것입니다. ## 들어가기 [섹션 제목: “들어가기”](#들어가기) 1. **홈 화면의 Usage 탭**을 열거나, 활동 헤더의 토큰 배지를 누릅니다. 2. **기간을 고릅니다.** 7일, 30일, 3개월. 기간은 타일과 차트를 바꾸지만, 연간 활동 지도는 늘 올해 전체를 덮습니다. 3. **네 개의 탭을 오갑니다** — 개요, 모델, 에이전트, 컴퓨팅. ## 개요 [섹션 제목: “개요”](#개요) 위쪽 타일은 “얼마나, 얼마나 자주, 무엇으로” 에 답합니다. | 타일 | 읽는 것 | | ------------ | ---------------------------------- | | **총 토큰** | 기간 동안 주고받은 전부 | | **요청 수** | 그것이 몇 번의 모델 호출이었는지 | | **활성 일수** | 기간 중 사용이 있었던 날 | | **연속 사용** | 연속으로 쓴 날수. 최장 기록이 함께 붙습니다 | | **최다 사용 모델** | 토큰을 가장 많이 쓴 모델 | | **사용 크레딧** | 이번 주 지출을 크레딧으로. 환산 비율은 타일이 직접 밝힙니다 | 그 아래 **플랜 포함량**이 정작 봐야 할 것입니다. 현재 포함량을 얼마나 썼는지 막대로 보여주고, 다 쓰면 다 썼다고 말합니다. [실행](/ko/docs/work/runs/)을 시작하기 전에 서비스가 확인하는 것과 같은 숫자라서, 막대가 차면 실행이 멈춥니다. **일별 활동**은 한 해를 하루 한 칸으로 그린 지도입니다. 많이 쓴 날이 진합니다. 모르는 사이에 매일 돈을 쓰기 시작한 루틴을 찾아내는 가장 빠른 방법입니다. ## 모델과 에이전트 [섹션 제목: “모델과 에이전트”](#모델과-에이전트) 두 탭은 모양이 같습니다. 위에 일별 차트, 아래에 분해표. * **모델** — 토큰이 어느 모델로 갔는지. 비용에 가장 크게 작용하는 지렛대라, 모델을 바꾸겠다는 판단은 보통 여기서 시작됩니다. [모델 고르기](/ko/docs/build/models/)를 보세요. * **에이전트** — 어느 에이전트가 썼고, 각자 어떤 모델을 썼는지. 루틴이 많은 에이전트는 다른 어디에서 눈에 띄기 한참 전에 여기 드러납니다. 둘 다 범례가 곧 필터입니다. 계열을 꺼서 나머지를 읽고, **모두 보기**로 되돌립니다. 차트에 자리가 모자란 항목은 버려지지 않고 ‘기타’ 로 묶입니다. '미지정' 은 고장이 아닙니다 에이전트 탭에는 한 에이전트에 귀속되지 않는 사용량 — 계정 단위 호출, 그리고 [LLM API](/ko/docs/build/llm-api/)로 모델을 직접 부른 호출 — 을 담는 **미지정** 행이 있습니다. 실제 지출이며, 다만 걸어둘 에이전트가 없을 뿐입니다. 출처 탭에서 나눠 볼 수 있습니다. ## 출처 [섹션 제목: “출처”](#출처) **출처** 탭은 같은 토큰을 어디서 왔는지로 나눕니다. * **에이전트** — 웹 대화·루틴·채널에서 실행한 에이전트. * **에이전트 API** — [에이전트 API](/ko/docs/build/agent-api/)로 API 키를 써서 에이전트를 부른 호출. * **endue Live** — endue Live 에서 방문자가 에이전트와 나눈 대화. 방문자 대화도 에이전트 주인의 사용량입니다. * **LLM API** — [LLM API](/ko/docs/build/llm-api/)로 API 키를 써서 모델을 직접 부른 호출. 행마다 토큰·점유율·요청 수가 있고, 그 아래에 쓴 모델이 나옵니다. 여기서도 범례가 필터입니다. LLM API 호출은 구매·프로모션 크레딧에서, 에이전트·에이전트 API·endue Live 실행은 요금제 사용 한도에서 빠지므로, 크레딧 잔액이 움직였는데 어느 에이전트로도 설명되지 않으면 이 탭을 여세요. ## 컴퓨팅 [섹션 제목: “컴퓨팅”](#컴퓨팅) 브라우저 세션, 워크스페이스 저장 용량, 미디어 처리, 아웃풋 저장 용량이 여기 나열돼 있지만 **아직 계측되지 않습니다.** 탭이 행마다 그렇게 말합니다. 빈 행은 “0” 이 아니라 “아직 계측 전” 으로 읽으세요. 이 탭의 어떤 것도 그 자원이 공짜라는 주장이 아닙니다. ## 에이전트 하나 자세히 [섹션 제목: “에이전트 하나 자세히”](#에이전트-하나-자세히) 에이전트 탭에서 행을 펼치면 끝에 **스튜디오에서 분석** 이 있습니다. 같은 기간으로 그 에이전트 캔버스의 사용량 탭이 열리고, 출처와 통로(API 키·채널 연결)별 대화와 크레딧을 볼 수 있습니다. [분석](/ko/docs/build/analytics/)을 보세요. ## 대화 한 건의 사용량 [섹션 제목: “대화 한 건의 사용량”](#대화-한-건의-사용량) 대시보드는 계정 단위입니다. 실 하나만 보려면 그 대화의 입력창에 **`/usage`** 를 치세요. 입력·출력 토큰, 그중 캐시된 양, 가중 합계, 크레딧, 관여한 모델을 담은 카드가 뜨고 대시보드로 가는 링크가 붙습니다. 그 카드는 메시지가 아니라 그 자리에서만 보이는 표시입니다. 대화 기록에 남지 않고, 새로고침하면 사라집니다. 서로 다른 두 숫자, 둘 다 맞습니다 `/usage` 카드는 그 대화가 *지금까지 쓴* 것을 셉니다. [컨텍스트 창](/ko/docs/work/context-window/) 패널은 *지금 모델에 올라가 있는* 것을 셉니다. 축이 다르므로 값이 같을 수 없습니다. ## 한계 [섹션 제목: “한계”](#한계) * 사용량은 계정 단위로 계측됩니다. 에이전트별 보기는 같은 총합을 쪼갠 것이지 각자의 포함량이 아닙니다. * 수치는 실행 직후에 정산되므로, 가장 최근 실행은 잠시 빠져 있을 수 있습니다. * [내 키](/ko/docs/account/bring-your-own-key/)로 돈 실행은 여기 기록되지 않습니다. 내 키로만 쓴 대화는 “사용 기록 없음” 으로 읽히며, 이는 Endue 의 원장 기준으로 정확한 표현일 뿐 제공자가 청구한 금액에 대해서는 아무 말도 하지 않습니다. * 에이전트별·출처별 집계가 모든 환경에서 제공되지는 않습니다. 안 될 때는 0 을 보여주는 대신 그렇다고 말합니다. * 컴퓨팅 탭은 자원 목록이지 측정값이 아닙니다. ## 관련 [섹션 제목: “관련”](#관련) [요금제와 사용량](/ko/docs/account/plans-and-usage/)무엇이 포함량을 쓰고, 주간 창이 어떻게 도는가. [모델 고르기](/ko/docs/build/models/)모델 탭이 돕고자 하는 바로 그 판단. [내 API 키 사용](/ko/docs/account/bring-your-own-key/)어떤 실행은 왜 여기 나타나지 않는가. [활동](/ko/docs/work/activity/)토큰 배지가 여기로 이어지는 보드. # 채널 > Discord · Slack · 카카오톡 · 네이버 톡톡 · WhatsApp 에서 에이전트에 닿기 — 페어링 방식, 누가 호출할 수 있는지, 거기서 에이전트가 하지 않는 일. **채널**은 Endue 밖에서 사람들이 에이전트에 닿게 해줍니다. 에이전트를 메시징 플랫폼에 페어링하면, 아무도 Endue 를 열지 않고도 그 대화 안에서 답합니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 에이전트가 필요한 사람들이 이미 다른 곳에 있을 때입니다. Slack 의 팀, Discord 의 커뮤니티, 카카오톡·네이버 톡톡·WhatsApp 으로 문의하는 고객처럼요. 채널은 질문이 나오는 자리에 에이전트를 데려다 놓습니다. 이것은 [Slack 커넥터](/ko/docs/connect/slack/)와 방향이 반대입니다. 커넥터는 에이전트가 자기 일의 일부로 채팅 서비스를 *읽고 쓰게* 합니다. 둘은 독립적이고, 함께 써도 됩니다. ## 제공되는 채널 [섹션 제목: “제공되는 채널”](#제공되는-채널) | 채널 | 연결 방식 | 사람들이 부르는 방법 | | ------------ | -------------------------------------------- | --------------- | | **Discord** | 봇 토큰 하나만 붙여넣으면 서버·엔드포인트·허용 목록은 자동 | 서버에서 `/ask` | | **Slack** | Slack 앱의 토큰 두 개 (Socket Mode — 공개 엔드포인트 불필요) | 앱을 멘션하면 스레드로 답함 | | **카카오톡** | Endue 가 발급한 웹훅 URL 을 챗봇 빌더 스킬 서버에 붙여넣기 | 채널로 메시지 | | **네이버 톡톡** | 발신 API 키 입력 + 웹훅 URL 을 파트너센터에 붙여넣기 | 톡톡 계정으로 메시지 | | **WhatsApp** | Cloud API 액세스 토큰 입력 + 웹훅 URL 을 Meta 앱에 등록 | 비즈니스 번호로 메시지 | | **Telegram** | — | 준비 중 | 아래에는 두 가지 모양이 있습니다. Discord 와 Slack 은 Endue 가 토큰을 들고 플랫폼으로 *나갑니다*. 카카오톡·네이버 톡톡·WhatsApp 은 플랫폼이 Endue 가 발급한 웹훅 URL 로 *들어옵니다* — 그 URL 을 제공자 콘솔에 붙여넣는 방식이죠. 네이버 톡톡과 WhatsApp 은 답을 보낼 때도 자체 인증을 요구해서 발신 자격증명을 함께 받습니다. ## 채널 페어링하기 [섹션 제목: “채널 페어링하기”](#채널-페어링하기) 1. **[에이전트 빌더](/ko/docs/build/agent-builder/)의 페어링 섹션에서 채널을 열고** 제공자를 고릅니다. 2. **그 제공자가 요구하는 값을 넣습니다** — 봇 토큰, 앱 토큰 두 개, 또는 발신 키. 어떤 항목이 필요한지는 폼이 알려줍니다. 3. **인바운드 제공자라면 Endue 가 보여주는 웹훅 URL 을 복사해** 제공자 콘솔에 붙여넣습니다. 카카오톡 챗봇 빌더의 스킬 서버, 네이버 톡톡 파트너센터, 또는 Meta 앱의 웹훅 설정입니다. 4. **Discord · Slack 은 봇을 서버나 워크스페이스에 초대합니다.** 답하기를 기대하기 전에 봇을 초대하세요 봇이 초대되지 않은 채널은 페어링된 것처럼 보이지만 결코 응답하지 않습니다. 잘 되던 채널이 조용해졌다면 봇이 아직 서버에 있는지 확인하고, 제거됐다면 페어링을 다시 연결하세요. ## 누가 호출할 수 있는가 [섹션 제목: “누가 호출할 수 있는가”](#누가-호출할-수-있는가) 채널은 사용자의 연결이 바인딩된 에이전트로 들어오는 문입니다. 그래서 페어링마다 호출 정책이 붙습니다. | 정책 | 호출할 수 있는 사람 | | ----------- | ---------------------------- | | **나만** | 채널을 연결한 계정과 허용 목록에 있는 사람 | | **지정한 사람만** | 허용 목록에 있는 사람만 | | **채널 전원** | 그 서버·워크스페이스에서 봇에 닿을 수 있는 누구나 | 허용되지 않은 사람은 침묵 대신 짧은 거절 안내를 받고, 그 요청이 페어링 패널에 남습니다. 거기서 허용 목록에 추가하거나 ID 를 직접 넣을 수 있습니다. 열린 채널은 그 자리의 모두에게 열립니다 “채널 전원” 은 그 서버·워크스페이스의 모든 구성원이, 사용자가 그 에이전트에 바인딩해 둔 것을 가지고 대화할 수 있다는 뜻입니다. 에이전트의 범위를 그에 맞게 잡으세요 — 채널을 향한 에이전트가 사용자의 받은편지함을 갖고 있어서는 안 됩니다. ## 채널 대화란 [섹션 제목: “채널 대화란”](#채널-대화란) 채널에서 시작된 대화도 진짜 대화입니다. Endue 에서 시작한 것과 같은 기록, 같은 [메모리](/ko/docs/capabilities/memory/), 같은 [아웃풋](/ko/docs/capabilities/outputs/)을 갖습니다. 나중에 Endue 에서 열어 이어갈 수 있습니다. 에이전트는 누가 말했는지 압니다. 여러 사람이 말을 거는 채널에서도 메시지가 각자에게 귀속되므로, *“아까 내가 뭘 물어봤지”* 에 사람별로 맞게 답할 수 있습니다. ## 채널에서 에이전트가 하지 않는 일 [섹션 제목: “채널에서 에이전트가 하지 않는 일”](#채널에서-에이전트가-하지-않는-일) 채널 실행에는 채팅 실행과 달리 [승인](/ko/docs/work/approvals/) 관문 앞에 사람이 없습니다. 지켜보는 사람이 없는 실행으로 취급하세요. * 바깥으로 보내거나 지우는 행동은 보류되지 않고 거절됩니다. * 에이전트가 답을 받아야 하는 [질문](/ko/docs/work/questions/)은 스레드 안에서 답해야 합니다. Endue 가 보여주는 선택지 인터페이스는 쓸 수 없습니다. 질문에 답하고, 검색하고, 요약하는 에이전트는 채널에서 잘 동작합니다. 무언가를 보내는 것이 일인 에이전트는 그렇지 않습니다. ## 한계 [섹션 제목: “한계”](#한계) * 현재는 Discord · Slack · 카카오톡 · 네이버 톡톡 · WhatsApp 이고, Telegram 은 준비 중입니다. * 에이전트당 제공자당 페어링 하나입니다. * 답변은 사용자가 아니라 봇으로 채널에 올라갑니다. * 인바운드 제공자(카카오톡·네이버 톡톡·WhatsApp)는 제공자 자체 발신 경로로 답하므로, 메시지 서식은 Endue 가 아니라 그쪽 규격을 따릅니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [Slack 커넥터](/ko/docs/connect/slack/)반대 방향 — 에이전트가 자기 일의 일부로 Slack 을 읽기. [보안과 권한](/ko/docs/account/security/)다른 사람이 말을 걸 수 있는 에이전트에 무엇을 바인딩할 것인가. [대화](/ko/docs/work/conversations/)채널 스레드가 Endue 안에서 무엇이 되는지. # 루틴 > 반복되는 일을 일정에 올리기 — 루틴이 어떻게 돌고, 무엇을 만들고, 지켜보는 사람이 없는 실행이 왜 아무것도 보내지 않는가. **루틴**은 Endue 를 열어두든 아니든 에이전트가 일정에 따라 수행하는 지시입니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 같은 요청이 또 돌아올 때입니다. 아침 받은편지함 브리핑, 월요일 보고, 바뀌지 않았어야 할 것을 밤사이 점검하는 일 같은 것들이죠. 같은 것을 에이전트에게 세 번 시켰다면 그건 루틴입니다. ## 만들기 [섹션 제목: “만들기”](#만들기) 가장 간단한 방법은 말하는 것입니다. 에이전트와의 대화에서 무엇을 언제 해야 하는지 말하면 — *“평일 아침 8시마다 이걸 해줘”* — 루틴을 만들고, 사용자는 그것을 검토하면 됩니다. 1. **작업부터 제대로 만드세요.** 먼저 손으로 한 번 돌려보세요. 루틴은 시킨 것을 그대로 되풀이합니다. 애매함까지 포함해서요. 2. **일정을 정합니다.** 루틴은 시간대가 붙은 반복 일정으로 돕니다 — Asia/Seoul 기준 평일 08:00, 매달 1일, 네 시간마다 같은 식입니다. 3. **결과물이 어디로 갈지 말합니다.** 대개 [아웃풋](/ko/docs/capabilities/outputs/)이고, 그것을 가리키는 알림과 함께 기다리고 있습니다. 4. **처음 몇 번의 실행을 지켜보세요.** 의도한 것과 에이전트가 하는 것 사이의 틈은 곧바로 드러나고, 그때 고치는 것이 가장 쌉니다. ## 실행마다 일어나는 일 [섹션 제목: “실행마다 일어나는 일”](#실행마다-일어나는-일) 루틴이 발동하면 에이전트는 사용자가 보낸 것처럼 그 지시를 수행하고, 결과가 작업 공간에 쌓입니다. 끝나면 알림이 오고, 실패해도 알림이 옵니다. [알림](/ko/docs/work/inbox/)을 보세요. 계속 실패하는 루틴은 중지되고 그 사실을 알려줍니다. 의도된 것입니다. 일주일 동안 매시간 재시도하는 망가진 루틴은 멈춰 서서 말해주는 루틴보다 나쁩니다. ## 승인할 사람이 아무도 없다 [섹션 제목: “승인할 사람이 아무도 없다”](#승인할-사람이-아무도-없다) 예약된 작업에 대해 가장 중요하게 이해해야 할 부분입니다. 지켜보는 사람이 없는 실행은 아무것도 물을 수 없습니다. 평소라면 [승인](/ko/docs/work/approvals/)을 위해 멈췄을 행동 — 메일 발송, 채널 게시, 삭제 — 은 대기열에 쌓이는 게 아니라 **거절**됩니다. 그것을 전제로 설계하세요. | 이렇게 말고 | 이렇게 | | ------------------ | -------------------------------------- | | “요약을 메일로 보내줘” | “요약을 아웃풋으로 써줘” — 알림이 그리로 데려다줍니다 | | “브리핑을 Slack 에 올려줘” | 읽어본 뒤 직접 올릴 아웃풋 | | “급한 건 답장해줘” | “급한 건 답장 초안을 써줘” — 초안 작성은 관문에 걸리지 않습니다 | [질문](/ko/docs/work/questions/)도 마찬가지입니다. 판단이 필요한 루틴에는 물을 사람이 없으니, 판단이 필요 없을 만큼 지시를 구체적으로 쓰세요. 루틴에 모델을 고정하세요 루틴은 에이전트 기본값과 무관하게 자기 모델을 쓸 수 있습니다. 에이전트를 다시 손보는 동안에도 예약 작업의 비용과 행동이 흔들리지 않습니다. ## 루틴 관리하기 [섹션 제목: “루틴 관리하기”](#루틴-관리하기) 루틴은 에이전트별로 나열되고, 각각 일정·기록·만들어낸 실행을 담은 자기 페이지를 갖습니다. 언제든 중지·수정·취소할 수 있고, 시키면 에이전트가 자기 루틴을 조회하고 관리할 수도 있습니다. ## 한계 [섹션 제목: “한계”](#한계) * 지켜보는 사람이 없는 실행은 관문에 걸리는 행동을 거절합니다. “미리 승인” 은 없습니다. * 루틴은 에이전트 하나에 속하고 지시 하나를 담습니다. * 반복 실패하면 무한히 재시도하지 않고 루틴을 중지합니다. * 루틴은 Endue 의 서버에서 돌기 때문에 사용자의 컴퓨터에 있는 것에는 닿지 못합니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [승인](/ko/docs/work/approvals/)예약된 실행이 발송을 거절하는 이유. [아웃풋](/ko/docs/capabilities/outputs/)예약 작업의 산출물이 있어야 할 곳. [알림](/ko/docs/work/inbox/)루틴이 끝났거나 실패한 것을 알게 되는 방식. # 에이전트 API > 그 에이전트로 제한된 키로 HTTP 호출을 보냅니다 — 단발 요청, 또는 호출 사이에 맥락을 잇는 세션. **API** 섹션은 Endue 밖의 무언가가 이 에이전트를 부를 수 있는 키를 발급합니다. [대화](/ko/docs/work/conversations/)·[채널](/ko/docs/automate/channels/)에 이은 세 번째 진입로이고, 이쪽은 프로그램용입니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 부르는 쪽이 코드일 때입니다. 매일 요약을 남기는 스크립트, 분류를 맡기는 백엔드, CI 에서 도는 잡 같은 것들이죠. 부르는 쪽이 사람이라면 채널이 낫습니다 — 실과 질문과 승인을 함께 주니까요. ## 키 발급 [섹션 제목: “키 발급”](#키-발급) 1. **[에이전트 빌더](/ko/docs/build/agent-builder/)의 API 섹션**을 열고 키를 만듭니다. 2. **지금 복사하세요.** 키는 한 번만 보여줍니다. 잃어버리면 해지하고 새로 발급하면 됩니다. 3. **프로그램은 읽고 사람은 못 읽는 곳에 두세요** — 환경 변수나 시크릿 저장소에 두고, 저장소에는 절대 넣지 마세요. 여기서 만든 키는 **이 에이전트로 제한**됩니다. 다른 에이전트를 부르는 데 쓸 수 없습니다. 계정 전체 키는 **설정 → 계정**에서 따로 발급하는데, 가능하면 좁은 쪽을 쓰세요. [![API 섹션 — 발급된 키가 접두사·마지막 사용 시각과 함께 나열되고, 그 위에 그대로 복사해 쓸 수 있는 호출 예시가 있다.](/ko/docs/_astro/studio-api.CQr9m9Se_1YRo6D.webp)](/ko/docs/_astro/studio-api.CQr9m9Se.png) [원본 크기로 보기](/ko/docs/_astro/studio-api.CQr9m9Se.png) ## 에이전트 호출 [섹션 제목: “에이전트 호출”](#에이전트-호출) 키를 `Authorization: Bearer sk_…`(또는 `X-API-Key`)로 보내고, 시킬 일을 담아 요청합니다. ```http POST /api/public/v1/agents/{agent_id}/invoke Authorization: Bearer sk_... Content-Type: application/json { "input": "어제 들어온 문의 요약해줘" } ``` 응답에는 에이전트의 답과 함께 **세션 id** 가 담깁니다. 다음 호출에 그 id 를 돌려보내면 새로 시작하는 대신 같은 맥락 — 기록이 있는 같은 대화 — 에서 이어갑니다. ```json { "input": "이제 제품 영역별로 묶어줘", "session_id": "..." } ``` `"stream": true` 를 주면 실행이 끝나기를 기다리지 않고 생성되는 대로 답을 받습니다. 세션은 곧 대화입니다 세션은 따로 관리할 무언가가 아닙니다. 각각이 Endue 에서 열어볼 수 있는 대화이고, 사이드바의 에이전트 API 그룹에서 무엇을 물었고 무엇을 답했는지 읽을 수 있습니다. ## API 호출이 갖지 못하는 것 [섹션 제목: “API 호출이 갖지 못하는 것”](#api-호출이-갖지-못하는-것) API 호출자는 대화 앞에 앉아 있지 않으므로 [지켜보는 사람이 없는 실행](/ko/docs/automate/routines/#%EC%8A%B9%EC%9D%B8%ED%95%A0-%EC%82%AC%EB%9E%8C%EC%9D%B4-%EC%95%84%EB%AC%B4%EB%8F%84-%EC%97%86%EB%8B%A4)으로 취급됩니다. * 바깥으로 보내거나 지우는 행동은 승인을 기다리는 게 아니라 **거절**됩니다. * 에이전트가 던지는 [질문](/ko/docs/work/questions/)에 답할 사람이 없습니다. 판단이 필요 없을 만큼 요청을 정확히 쓰고, 발송이 아니라 초안을 기대하세요. ## 한계 [섹션 제목: “한계”](#한계) * 세션당 한 번에 실행 하나. 그 세션에서 실행이 도는 중에 다시 부르면 대기가 아니라 거절됩니다. * 키는 한 번만 보여주고 복구할 수 없습니다 — 해지 후 재발급하세요. * 에이전트로 제한된 키는 그 에이전트에만 통합니다. 다른 에이전트에 대해서는 없음으로 응답합니다. * 키 해지는 즉시 적용됩니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [채널](/ko/docs/automate/channels/)프로그램이 아니라 사람을 위한 진입로. [승인](/ko/docs/work/approvals/)API 호출이 스스로 메일을 보내지 못하는 이유. [보안과 권한](/ko/docs/account/security/)키가 닿는 범위와 거두는 법. # 에이전트 빌더 > 에이전트를 만들고 모든 것을 다듬는 곳 — 정체성, 프롬프트, 메모리, 스킬, 커넥터, 내장 툴, 채널, 저장소. **에이전트 빌더**는 에이전트를 만들고 그에 관한 모든 것을 다듬는 곳입니다. 에이전트의 행동을 바꾸는 설정은 전부 여기 있고, 네 섹션으로 묶여 있습니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 에이전트에게 일을 시키는 게 아니라 *에이전트가 무엇인지*를 바꾸고 싶을 때 에이전트 빌더를 엽니다. 에이전트 생성, 프롬프트 수정, 커넥터 부여, 능력 끄기, 무엇을 기억했는지 확인하기 — 모두 여기서 합니다. 매일의 일은 [대화](/ko/docs/work/conversations/)에서 합니다. ## 에이전트 만들기 [섹션 제목: “에이전트 만들기”](#에이전트-만들기) 1. **새 에이전트를 시작합니다.** 에이전트 목록에서 새 에이전트 만들기를 고릅니다. 이름을 묻고, 핸들은 이름에서 자동으로 만들어집니다. 핸들은 짧고 바뀌지 않는 이름입니다. 나중에 에이전트를 부를 때 씁니다. 2. **무엇을 위한 것인지 한 문장으로 씁니다.** 구체적으로 쓰세요. *“매일 아침 안 읽은 메일을 요약하고 답장이 필요한 것을 표시한다”* 가 *“이메일 비서”* 보다 훨씬 나은 에이전트를 만듭니다. 이 문장이 [시스템 프롬프트](/ko/docs/build/system-prompt/)의 씨앗이 됩니다. 3. **에이전트 빌더를 열고 섹션을 따라 내려갑니다.** 새 에이전트는 이미 추론하고, 계산하고, 공개된 웹 페이지를 읽습니다. 그 밖의 것은 사용자가 의도적으로 더합니다. ## 네 섹션 [섹션 제목: “네 섹션”](#네-섹션) 에이전트 빌더는 에이전트의 어느 부분을 바꾸는지에 따라 나뉩니다. | 섹션 | 담긴 것 | 페이지 | | -------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------- | | **정체성** | 프로필, 프롬프트, 메모리 | [정체성과 프로필](/ko/docs/build/identity/) · [시스템 프롬프트](/ko/docs/build/system-prompt/) · [메모리](/ko/docs/capabilities/memory/) | | **리소스** | 스킬, 커넥터, 디바이스, 내장 툴 | [스킬](/ko/docs/capabilities/skills/) · [커넥터](/ko/docs/connect/overview/) · [디바이스](/ko/docs/build/devices/) · [내장 툴](/ko/docs/capabilities/built-in-tools/) | | **페어링** | 채널, 라이브, API | [채널](/ko/docs/automate/channels/) · [에이전트 API](/ko/docs/build/agent-api/) | | **인벤토리** | 워크스페이스, 아웃풋 | [워크스페이스](/ko/docs/build/workspace/) · [아웃풋](/ko/docs/capabilities/outputs/) | 이 구분은 익혀둘 만합니다. **정체성**은 에이전트가 누구인지, **리소스**는 무엇에 닿을 수 있는지, **페어링**은 어디서 부를 수 있는지, **인벤토리**는 무엇을 만들어냈는지입니다. ## 에이전트의 구성 [섹션 제목: “에이전트의 구성”](#에이전트의-구성) 에이전트의 행동을 정하는 것은 셋이고, 영향이 큰 순서로 대략 이렇습니다. **시스템 프롬프트.** 모든 대화 전에 읽는 상시 지침입니다. 가장 큰 지렛대이면서 대부분이 가장 덜 쓰는 것이기도 합니다. [시스템 프롬프트와 리비전](/ko/docs/build/system-prompt/)을 보세요. **바인딩된 것.** 에이전트는 바인딩한 스킬과 연결만 쓸 수 있습니다. 바인딩은 계정 단위가 아니라 에이전트 단위입니다. Gmail 을 한 번 연결했다고 모든 에이전트가 받은편지함을 갖지 않습니다. **모델.** 어떤 모델이 루프를 돌리는지, 추론에 얼마나 힘을 쓰는지입니다. [모델 고르기](/ko/docs/build/models/)를 보세요. 넓은 것보다 좁은 것 일이 하나이고 도구가 셋인 에이전트가 목적이 흐릿하고 도구가 스무 개인 에이전트보다 낫습니다. 두 번째 일을 담으려고 프롬프트를 넓히고 있다면, 두 번째 에이전트를 만드세요. ## 한계 [섹션 제목: “한계”](#한계) * 에이전트의 핸들은 생성할 때 이름에서 자동으로 만들어지며 이후에 바꿀 수 없습니다. * 에이전트 변경은 **다음** 실행부터 적용됩니다. 이미 돌고 있는 실행은 시작할 때의 설정 — 프롬프트 리비전, 모델, 바인딩된 도구 — 을 그대로 유지합니다. * 에이전트 빌더는 에이전트 하나를 설정합니다. 여러 에이전트를 한꺼번에 수정하는 기능은 없습니다. * 에이전트를 삭제해도 그 에이전트가 만든 [아웃풋](/ko/docs/capabilities/outputs/)은 삭제되지 않습니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [정체성과 프로필](/ko/docs/build/identity/)이름 · 핸들 · 프로필, 그리고 말투를 결정하는 성격. [시스템 프롬프트와 리비전](/ko/docs/build/system-prompt/)가장 큰 지렛대, 그리고 안전하게 바꾸는 방법. [모델 고르기](/ko/docs/build/models/)모델 카탈로그, 추론 강도, 그리고 각각이 중요해지는 때. [시험하고 다듬기](/ko/docs/build/iterating/)잘 돌던 에이전트를 망가뜨리지 않고 바꾸기. # 분석 > 에이전트 하나가 받은 대화와 쓴 크레딧을 캔버스에서 봅니다. 출처(앱·API·라이브·채널·루틴·스페이스)와 통로(API 키·채널 연결)별로 나눕니다. Live 는 방문 수와 방문자가 어디서 왔는지도 봅니다. **분석**은 [캔버스](/ko/docs/build/canvas/)의 **사용량** 탭입니다. 캔버스가 이 에이전트에 무엇이 붙어 있는지 그린다면, 사용량 탭은 그 통로로 요청이 얼마나 들어왔고 얼마가 들었는지 그 위에 적습니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) * Live 를 켠 뒤 몇 명이 왔고, 그중 몇이 대화를 시작했고, 그 대화가 크레딧을 얼마나 쓰는지 볼 때. * API 로 연동한 서비스 중 어느 키가 많이 부르는지 볼 때. * 채널·루틴 사용이 늘어난 날을 찾을 때. 모든 에이전트를 한 번에 비교하려면 [사용량 대시보드](/ko/docs/account/usage/)를 쓰세요. 분석은 에이전트 하나를 봅니다. ## 들어가기 [섹션 제목: “들어가기”](#들어가기) 1. 에이전트의 **Studio** 를 엽니다. 2. 캔버스 머리의 **사용량** 탭을 누릅니다. 에이전트 카드 아래 **분석** 칸을 눌러도 같은 화면으로 갑니다. 3. 오른쪽 위에서 **기간**을 고릅니다. 7일, 30일, 90일. 기간은 사용량 탭에만 있습니다. ## 캔버스 위의 수치 [섹션 제목: “캔버스 위의 수치”](#캔버스-위의-수치) 사용량 탭에서는 왼쪽 열(요청이 들어와요)의 노드에 수치가 붙습니다. | 노드 | 보이는 값 | | -------------------- | ------------------------------------------ | | **채널·라이브·API** 제목 줄 | 그 출처의 대화 수와 크레딧 합계. 라이브 줄은 방문 수가 맨 앞에 붙습니다 | | **채널 연결**, **API 키** | 그 통로 하나의 대화·응답 수와 크레딧 | | **라이브 주소** | 그 주소의 방문 수, 대화 시작 수와 크레딧 | | **그 밖의 요청** | 앱·루틴·스페이스처럼 설정할 통로가 없는 사용의 합계 | 에이전트로 가는 선은 쓴 양만큼 굵어집니다. 기간 동안 쓰지 않은 통로는 점선으로 흐리게 그려집니다. API 제목 줄의 합계에는 **계정 전체 키**로 부른 사용도 들어갑니다. 캔버스는 이 에이전트 전용 키만 노드로 그리므로, 노드들의 합이 제목 줄보다 작을 수 있습니다. ## 하단 그래프 [섹션 제목: “하단 그래프”](#하단-그래프) 캔버스 아래에는 일별 막대 그래프가 붙습니다. 막대는 출처별로 쌓이고, 기간의 날짜가 전부 나옵니다. 쓰지 않은 날은 빈칸입니다. * 그래프 머리에 기간 합계(대화·응답·토큰·크레딧)가 있습니다. * **토큰·크레딧·응답** 중 막대에 쓸 값을 고릅니다. 라이브를 짚은 동안에는 **방문**도 고를 수 있습니다. * 아래 출처 칩을 눌러 그 출처를 끄고 켭니다. * 접어 두면 다음에 열 때도 접혀 있습니다. 대화 수는 막대로 그리지 않습니다. 하루씩 센 대화 수를 더하면 여러 날에 걸친 대화가 여러 번 세어지기 때문입니다. 기간 대화 수는 그래프 머리에서 보세요. ## 통로 짚기 [섹션 제목: “통로 짚기”](#통로-짚기) 사용량 탭에서 노드를 누르면 오른쪽에 **분석** 패널이 열리고, 하단 그래프가 그 통로만 보여 줍니다. * **출처**(채널·라이브·API 제목 줄, 그 밖의 요청)를 누르면 그 출처 막대만 진하게 남습니다. * **API 키**나 **채널 연결**을 누르면 그 통로의 일별 값이 그날 전체 위에 표시됩니다. 분석 패널에는 표가 두 개 있습니다. * **출처**: 여섯 출처의 대화·응답·토큰·크레딧과 몫. 쓰지 않은 출처도 비교를 위해 줄로 남습니다. * **통로**: API 키와 채널 연결별 호출·토큰·크레딧. 키 값은 앞자리만 보입니다. 줄 끝의 **›** 를 누르면 그 키나 채널의 설정으로 갑니다. 셋째 탭 **라이브**는 [Live 방문](#live-%EB%B0%A9%EB%AC%B8)에서 다룹니다. 짚은 통로는 그래프 머리와 패널 머리의 칩으로 표시됩니다. 칩의 **×** 를 누르면 전체로 돌아갑니다. ## Live 방문 [섹션 제목: “Live 방문”](#live-방문) Live 를 켜 두면 사용량 탭이 에이전트의 endue.live 페이지나 사이트에 넣은 채팅 창을 연 사람도 셉니다. 메시지 없이 나간 방문도 세므로, 온 사람 중 몇이 대화까지 갔는지 알 수 있습니다. **라이브** 제목 줄이나 그 아래 라이브 주소를 누르세요. 방문은 세 곳에 나옵니다. * **캔버스**: 라이브 제목 줄에 방문·대화·크레딧이, 라이브 주소에 방문과 대화 시작이 붙습니다. * **분석 패널**: **통로**가 **라이브** 탭으로 열립니다. 기간 합계, 사이트별 표, 유입 경로별 표, 방문자 언어가 있습니다. * **하단 그래프**: 막대에 쓸 값으로 **방문**이 생깁니다. 막대는 페이지와 임베드로 나뉩니다. ### 무엇을 세는가 [섹션 제목: “무엇을 세는가”](#무엇을-세는가) | 수치 | 세는 것 | | ---------- | -------------------------------------------------------------- | | **방문** | endue.live 페이지나 임베드 채팅 창이 방문자 화면에 한 번 보인 것. 새로고침하면 방문이 하나 늡니다. | | **고유 방문자** | 같은 날 같은 에이전트에 온 같은 방문자를 1로 센 값. 기간 값은 날마다 센 값을 더한 것입니다. | | **대화 시작** | 방문자가 메시지를 하나 이상 보낸 방문. | | **시작률** | 대화 시작을 방문으로 나눈 값. | | **유효 대화** | 방문자가 메시지를 2개 이상 보낸 방문. | 하루는 UTC 자정에 바뀝니다. 메시지는 에이전트가 받아들였을 때 셉니다. 너무 빨리 보냈거나 계정 크레딧이 떨어져 거절된 메시지는 세지 않습니다. **대화 시작**과 **대화**는 다른 수치입니다. 대화 시작은 방문을 셉니다. 대화는 에이전트가 한 번이라도 답한 대화를 셉니다. 방문자가 다음 날 다시 와서 같은 대화를 이어 가면 대화 시작은 2, 대화는 1 입니다. 사이트별 표는 endue.live 페이지 한 줄과 채팅 창을 넣은 사이트마다 한 줄입니다. 줄마다 **방문**, **대화**, **메시지**, **크레딧**이 있습니다. 대화·메시지·크레딧을 더하면 **출처** 표의 라이브 줄과 같습니다. ### 방문자가 어디서 왔는가 [섹션 제목: “방문자가 어디서 왔는가”](#방문자가-어디서-왔는가) 유입 경로 표는 방문자가 어디서 왔는지에 따라 방문을 묶습니다. 방문 하나는 위에서부터 처음 맞는 줄에 들어갑니다. | 줄 | 이 줄에 들어가는 방문 | | ------------------------------- | ----------------------------------------------------------------------- | | **사이트 · example.com** | 그 사이트에 넣은 채팅 창을 열었습니다. | | **캠페인 · newsletter** | 링크에 `utm_source` 가 있었습니다. 그 값이 이름이 됩니다. | | **직접 방문** | 브라우저가 이전 주소를 보내지 않았습니다. 주소를 직접 쳤거나, 즐겨찾기로 왔거나, 이전 주소를 넘기지 않는 앱에서 열었습니다. | | **endue.live 탐색**, **endue.ai** | endue.live 나 endue.ai 에서 넘어왔습니다. | | **검색 · Google** | endue 가 아는 검색 엔진에서 왔습니다. | | **소셜 · X** | endue 가 아는 소셜 서비스나 메신저에서 왔습니다. | | **사이트 · blog.example.com** | 그 밖의 사이트에서 왔습니다. 호스트만 보입니다. | | **알 수 없음** | 메시지는 왔는데 방문 기록이 없습니다. 브라우저가 기록을 막은 경우가 그렇습니다. | 방문이 많은 20줄까지 보이고 나머지는 한 줄로 묶입니다. 내가 돌린 링크를 서로 구분하려면 주소에 `utm_source` 를 붙이세요. `endue.live/@my-agent?utm_source=newsletter` 처럼 씁니다. 값에는 영문, 숫자와 `. _ ~ -` 를 64자까지 쓸 수 있습니다. 모양이 다른 값은 버립니다. ### 수치에서 빼는 방문 [섹션 제목: “수치에서 빼는 방문”](#수치에서-빼는-방문) 두 가지 방문은 기록은 하되 위의 모든 수치에서 뺍니다. * **주인**: endue 안에서 Live 페이지를 열면(에이전트 Live 설정의 주소, 에이전트 홈의 버튼) 그 브라우저를 주인의 것으로 기억합니다. 그 뒤로 그 브라우저의 방문은 주인으로 셉니다. `localhost` 에서 띄운 임베드도 주인입니다. * **봇**: 스크립트를 실행하지 않는 크롤러와 링크 미리보기는 처음부터 기록되지 않습니다. 스크립트를 실행하는 자동화 브라우저와 알려진 봇은 봇으로 셉니다. 라이브 탭 맨 아래 줄에 뺀 수가 나옵니다. **제외한 방문: 주인 14 · 봇 37** 같은 모양입니다. 크레딧은 다르게 셉니다. 주인이 시험하며 나눈 대화도 크레딧을 썼으므로 크레딧 수치에 그대로 들어 있습니다. ### 방문 기록에 남기는 것 [섹션 제목: “방문 기록에 남기는 것”](#방문-기록에-남기는-것) 방문 집계에 관한 내용입니다. 방문자가 대화하면 그 대화는 전과 같이 저장됩니다. 방문마다 남기는 것: * 어느 에이전트인지, 페이지인지 임베드인지. 임베드면 그 사이트의 호스트. * 유입 경로의 종류와 이름. 이름은 호스트, 검색 엔진이나 소셜 서비스 이름, `utm_source` 값 중 하나입니다. * 링크에 있었다면 `utm_medium` 과 `utm_campaign`. * 브라우저 언어, 국가, 기기 종류(데스크톱·모바일·태블릿). * 방문 시각과 그 방문에서 보낸 메시지 수. * 방문자 키. 고유 방문자를 세는 데만 씁니다. 남기지 않는 것: * 방문자의 IP 주소. * 쿠키. 방문을 세려고 방문자 브라우저에 쓰는 값은 없습니다. * 방문자가 있던 페이지의 전체 주소. 경로와 쿼리는 버리고 호스트만 남깁니다. * 브라우저의 user agent 문자열. 방문자 키는 IP 주소로 계산하고, 날마다 바뀌며, 에이전트마다 다릅니다. 그래서 한 사람의 방문을 다른 날이나 다른 에이전트의 방문과 이을 수 없습니다. 고유 방문자를 하루 단위로 세는 이유입니다. 방문 기록은 400일이 지나면 지웁니다. ## 숫자 읽는 법 [섹션 제목: “숫자 읽는 법”](#숫자-읽는-법) * **대화**는 기간 안에 이 에이전트가 한 번이라도 답한 대화입니다. 답하지 못한 대화는 세지 않습니다. * **응답**은 에이전트가 답한 횟수입니다. * **크레딧**은 정산된 비용입니다. 1 크레딧은 US$1 입니다. * 같은 기간이면 토큰 합계가 [사용량 대시보드](/ko/docs/account/usage/)의 에이전트 탭과 같습니다. '비용 기록 없음' 은 무료라는 뜻이 아닙니다 [내 LLM 키](/ko/docs/account/bring-your-own-key/)로 돈 사용은 endue 가 청구하지 않으므로 크레딧이 없습니다. 그 토큰은 0 크레딧으로 합치지 않고 **비용 기록 없음** 으로 따로 적습니다. 비용은 그 LLM 제공사에서 확인하세요. '구분 전' 이 보인다면 출처를 기록하기 전의 사용은 대화의 표식으로 채웠습니다. 그래도 알 수 없는 사용은 **구분 전** 으로 모입니다. 예전 API 사용의 키는 대화를 처음 만든 키로 잡혀 있습니다. ## 누가 볼 수 있나 [섹션 제목: “누가 볼 수 있나”](#누가-볼-수-있나) 에이전트 주인만 볼 수 있습니다. 주인이 아니면 사용량 탭과 분석 칸이 보이지 않습니다. 다른 사람이 이 에이전트를 쓴 사용은 그 사람 계정에 잡히므로 여기 나오지 않습니다. ## 한계 [섹션 제목: “한계”](#한계) * 도구 호출(커넥터·스킬) 사용량은 아직 집계하지 않습니다. 캔버스 오른쪽 열에 수치가 없는 이유입니다. * 장비(컴퓨터·브라우저) 비용은 포함하지 않습니다. * 사용량은 실행이 끝난 뒤 기록됩니다. 진행 중인 실행은 끝나야 반영됩니다. * 방문 집계가 생기기 전의 방문은 없습니다. 그때의 대화와 크레딧은 그대로 보입니다. * 고유 방문자는 네트워크를 기준으로 하루씩 구분합니다. 같은 네트워크를 쓰는 여러 사람은 1명으로 셉니다. * 임베드의 방문은 채팅 창이 열린 것입니다. 사이트에 채팅 버튼이 보인 횟수는 세지 않으므로 임베드의 시작률이 페이지보다 높게 나옵니다. * 주인 표식은 브라우저 하나에만 남습니다. 다른 기기나 브라우저에서는 endue 안에서 Live 페이지를 한 번 열기 전까지 방문자로 셉니다. * 유입 경로별로는 방문과 대화 시작까지만 나뉩니다. 대화·메시지·크레딧은 사이트별로만 나뉩니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [캔버스](/ko/docs/build/canvas/)구성 탭 — 무엇이 붙어 있는지. [사용량 대시보드](/ko/docs/account/usage/)모든 에이전트를 한 번에. [에이전트 API](/ko/docs/build/agent-api/)API 키로 에이전트 부르기. [요금제와 사용량](/ko/docs/account/plans-and-usage/)크레딧과 포함량이 도는 방식. # 캔버스 > 에이전트 하나의 지도 — 무엇이 바인딩돼 있는지를 눌러 들어갈 수 있는 그래프로 그립니다. **캔버스**는 에이전트와 거기 붙은 모든 것을 그립니다. 쓸 수 있는 스킬과 커넥터, 답하는 채널, 가진 워크스페이스까지요. [에이전트 빌더](/ko/docs/build/agent-builder/) 섹션들과 같은 설정을 한눈에 보는 것입니다. [![캔버스 — 가운데 육각형이 기본 모델과 함께 놓인 에이전트이고, 그 주위로 API·MCP·디바이스·서브 에이전트·채널·커넥터 축이 뻗어 끝에 연결된 Slack·Gmail·Notion 이 달려 있다.](/ko/docs/_astro/studio-canvas.BRohVRCC_14tCcX.webp)](/ko/docs/_astro/studio-canvas.BRohVRCC.png) 아무것도 붙지 않은 축도 그대로 나타난다 — 빈 곳이 연결만큼 잘 보인다.[원본 크기로 보기](/ko/docs/_astro/studio-canvas.BRohVRCC.png) ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 설정 하나를 바꾸려는 게 아니라 *이 에이전트가 대체 무엇인지* 알고 싶을 때 엽니다. 채널을 붙이기 전, 동료가 “얘는 어디까지 닿아?” 라고 물을 때, 프롬프트로는 설명되지 않는 행동을 할 때요. 무엇을 바꿀지 알고 있다면 섹션으로 가세요. 캔버스는 보는 곳입니다. ## 읽는 법 [섹션 제목: “읽는 법”](#읽는-법) 가운데에 에이전트가 있고, 둘레에 바인딩된 것들이 종류별로 — 리소스·페어링·인벤토리 — 묶여 있습니다. 아무것도 없는 축도 그려지므로, 연결만큼 빈자리도 눈에 들어옵니다. 노드를 고르면 해당 섹션이 쓰는 것과 같은 패널이 열립니다. *“이 에이전트가 무엇을 가졌나”* 에서 그것을 바꾸는 데까지 지도를 떠나지 않고 갈 수 있습니다. 설정보다 먼저 그려지는 축도 있습니다 일부 노드는 아직 편집 대상이 아니라 구조를 보여주기 위해 있습니다. 노드를 눌렀는데 읽기 전용 패널이 열린다면 그 축은 여기서 설정하는 것이 아닙니다. ## 한계 [섹션 제목: “한계”](#한계) * 캔버스는 에이전트 하나를 보여줍니다. 모든 에이전트를 가로지르는 뷰는 없습니다. * 기본 **구성** 탭은 설정을 비춥니다. 무엇에 *닿을 수 있는지*를 그립니다. 같은 그림에서 통로별로 얼마나 썼는지 보려면 캔버스 머리의 **사용량** 탭을 여세요. [분석](/ko/docs/build/analytics/)을 보세요. * 편집은 여전히 패널에서 합니다. 캔버스는 들어가는 길이지 별도의 편집기가 아닙니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [분석](/ko/docs/build/analytics/)사용량 탭 — 통로별 대화와 크레딧. [에이전트 빌더](/ko/docs/build/agent-builder/)같은 설정을 섹션별로. [보안과 권한](/ko/docs/account/security/)바인딩된다는 것이 실제로 무엇을 주는지. # 디바이스 > 에이전트가 일하는 컴퓨터·브라우저와 내가 endue 를 쓰는 앱. 디바이스 제품마다 무엇인지, 누구의 기기인지, 어떻게 추가·교체·삭제하는지. **디바이스**는 에이전트가 일하는 컴퓨터나 브라우저, 또는 내가 endue 를 쓰는 앱입니다. 스킬·커넥터와 함께 [리소스](/ko/docs/get-started/glossary/#%EB%A6%AC%EC%86%8C%EC%8A%A4) 세 가지 중 하나입니다. ## 언제 필요한가 [섹션 제목: “언제 필요한가”](#언제-필요한가) 대부분은 따로 준비할 것이 없습니다. 작업에 컴퓨터나 브라우저가 필요하면 에이전트가 endue 클라우드에 준비하고, 그동안 대화에서 알려 줍니다. 작업이 내가 관리하는 곳에서 일어나야 할 때 내 디바이스를 붙입니다. 내 시스템에 닿는 서버, 필요한 도구를 이미 설치해 둔 VM, 로그인해 둔 사이트가 있는 내 Chrome 같은 경우입니다. ## 제품 네 가지 [섹션 제목: “제품 네 가지”](#제품-네-가지) | 제품 | 무엇인가 | 유저 기기 | 에이전트 기기 | | --------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------------------------------- | | **endue Computer** | 에이전트가 파일을 두고 프로그램을 실행하는 컴퓨터. 그 파일 영역이 에이전트의 [워크스페이스](/ko/docs/build/workspace/)입니다. | endue Computer 를 설치한 내 Linux 서버나 VM. [내 서버·VM 연결하기](/ko/docs/build/own-server/)를 보세요. | 에이전트가 처음 필요할 때 endue 클라우드에 띄우는 컴퓨터 | | **endue for Chrome** | 에이전트가 페이지를 열고 다루는 Chrome 브라우저 | endue for Chrome 확장으로 에이전트를 연결한 내 Chrome | 에이전트가 처음 필요할 때 endue 클라우드에 띄우는 Chrome | | **endue for Android** | 에이전트가 일하는 휴대폰. 예정입니다. 앱 안에서 로그인하는 기능은 아직 없습니다. | 내가 등록한 휴대폰 | — | | **endue Desktop** | 내가 endue 를 쓰는 데스크톱 앱. 같은 계정으로 로그인한 웹과 같은 endue 를 엽니다. 에이전트가 이 기기에서 일하지는 않습니다. | endue Desktop 으로 로그인한 컴퓨터 | — | ## 유저 기기와 에이전트 기기 [섹션 제목: “유저 기기와 에이전트 기기”](#유저-기기와-에이전트-기기) 디바이스는 둘 중 하나이고, 행에 어느 쪽인지 표시됩니다. * **유저**: 내가 로그인했거나 등록한 기기. endue Computer 를 설치한 내 서버, 확장을 설치한 내 Chrome, 내 휴대폰, endue Desktop 을 쓰는 컴퓨터입니다. * **에이전트**: 에이전트가 자기 연결을 위해 endue 클라우드에 띄운 기기. 에이전트가 처음 필요할 때 자동으로 만들어집니다. 설치할 것이 없습니다. 에이전트는 endue Computer 한 대와 endue for Chrome 한 대를 씁니다. 각각 endue 클라우드의 에이전트 기기이거나 내 유저 기기입니다. 유저 endue Computer 하나에는 에이전트를 여럿 붙일 수 있습니다. 에이전트마다 그 서버에 자기 폴더와 자기 서비스가 따로 생깁니다. ## 어디서 보는가 [섹션 제목: “어디서 보는가”](#어디서-보는가) 좌측 사이드바에서 여는 **리소스 › 디바이스**에 내 계정의 디바이스가 제품별로 모여 있습니다. 행마다 다음이 보입니다. * **유저** 또는 **에이전트** * 있는 곳: 에이전트 기기는 **endue 클라우드**, 유저 기기는 이름과 운영체제 * 그 기기를 쓰는 에이전트 * 상태 * 마지막 활동 에이전트 하나의 디바이스만 보려면 [에이전트 빌더](/ko/docs/build/agent-builder/)에서 그 에이전트의 **리소스 › 디바이스**를 엽니다. 여기의 **내 서버에 연결**은 이 에이전트로 설치를 시작합니다. | 상태 | 뜻 | | ---------------- | --------------------------------------------------- | | **연결됨** | 지금 온라인입니다. 에이전트가 쓸 수 있습니다. | | **대기 · 쓸 때 켜져요** | 꺼져 있는 endue 클라우드의 에이전트 기기입니다. 에이전트가 다음에 필요할 때 켜집니다. | | **꺼져 있음** | 연결되지 않은 유저 기기입니다. endue 가 켤 수 없으니 그 기기에서 직접 켜야 합니다. | | **사용 중** | 최근 15분 안에 쓴 endue Desktop 입니다. | | **설치 대기** | 서버용 설치 명령을 만들었지만 서버가 아직 연결되지 않았습니다. | | **문제 있음** | 기기를 준비하지 못했습니다. | ## 입력창에서 작업 디바이스 고르기 [섹션 제목: “입력창에서 작업 디바이스 고르기”](#입력창에서-작업-디바이스-고르기) 입력창의 **작업 디바이스**는 다음 실행이 어디서 일할지 고릅니다. **Computer** 또는 **Chrome** 입니다. 실행은 고른 기기의 도구만 받고 다른 쪽 도구는 받지 않습니다. 선택지마다 에이전트의 실제 기기(예: *에이전트 · endue 클라우드*, *유저 · build-server-01*)와 상태(**연결됨**·**쓸 때 켜져요**·**꺼져 있음**)가 보입니다. **디바이스 관리**는 그 에이전트의 디바이스 섹션을 엽니다. ## 내 디바이스 연결하기 [섹션 제목: “내 디바이스 연결하기”](#내-디바이스-연결하기) * **endue Computer**: **리소스 › 디바이스**의 endue Computer 묶음에서 **내 기기·서버에 설치**를 누르고, 에이전트를 고른 뒤 나오는 명령을 서버에서 실행합니다. [내 서버·VM 연결하기](/ko/docs/build/own-server/)를 보세요. * **endue for Chrome**: 확장을 설치하고 로그인한 뒤 확장에서 에이전트를 연결합니다. 연결하면 내 Chrome 이 그 에이전트 아래에 보입니다. * **endue Desktop**: 앱에서 로그인합니다. 그 컴퓨터가 목록에 저절로 나타납니다. ## 에이전트의 endue 클라우드 Computer 를 내 서버로 바꾸기 [섹션 제목: “에이전트의 endue 클라우드 Computer 를 내 서버로 바꾸기”](#에이전트의-endue-클라우드-computer-를-내-서버로-바꾸기) 에이전트에 이미 endue 클라우드의 endue Computer 가 있으면, 내 서버에 설치할 때 먼저 묻습니다. > 이 에이전트의 endue 클라우드 Computer 와 그 안의 파일을 삭제하고 연결할까요? **삭제하고 연결**을 누르면 클라우드 기기가 그 안의 워크스페이스 파일까지 모두 삭제되고, 내 서버용 설치 명령이 나옵니다. **취소**하면 아무것도 바뀌지 않습니다. 워크스페이스에서 필요한 것은 확인하기 전에 챙겨 두세요. 에이전트가 내 서버로 옮겨진 뒤에는 endue 가 그 에이전트의 클라우드 Computer 를 다시 만들지 않습니다. 내 서버가 꺼져 있으면 에이전트가 서버에서 endue Computer 를 켜 달라고 알려 주고, 그것 없이 계속합니다. ## 디바이스 지우기 [섹션 제목: “디바이스 지우기”](#디바이스-지우기) 기기 행의 메뉴를 엽니다. | 기기 | 메뉴 | 결과 | | -------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------ | | endue 클라우드의 에이전트 기기 | **삭제** | 기기와 그 안의 파일이 지워집니다. 에이전트가 다음에 필요할 때 빈 기기가 새로 만들어집니다. | | 내 endue Computer·휴대폰 | *(에이전트)* **떼기** | 에이전트가 그 기기에서 더 이상 일하지 않습니다. 설치한 것은 그대로 남으니 [서버에서도 제거](/ko/docs/build/own-server/#%EC%A0%9C%EA%B1%B0)하세요. 남은 에이전트가 없으면 **목록에서 지우기**로 행을 지웁니다. | | 내 Chrome | **연결 해제** | 그 에이전트의 연결이 끊깁니다. 다시 쓰려면 확장에서 다시 연결합니다. | | endue Desktop | **목록에서 지우기** | 로그아웃되지는 않습니다. 그 컴퓨터에서 endue Desktop 을 다음에 열면 다시 나타납니다. | ## 한계 [섹션 제목: “한계”](#한계) * 에이전트당 endue Computer 한 대, endue for Chrome 한 대입니다. * endue 는 유저 기기를 켤 수 없습니다. 내 서버나 내 Chrome 이 꺼져 있으면 에이전트가 알려 주고 그것 없이 계속합니다. 대신 endue 클라우드에 새로 만들지 않습니다. * [루틴](/ko/docs/automate/routines/)이나 [채널](/ko/docs/automate/channels/)이 시작한 실행은 디바이스를 새로 만들지 않습니다. 에이전트에 이미 있는 것을 씁니다. * 내 기기의 endue Computer 는 지금은 Linux 만 됩니다. endue Desktop 은 지금은 macOS 용입니다. * 내 Chrome 은 운영체제와 버전을 알려 주지 않아서 행에 둘 다 보이지 않습니다. * 디바이스를 준비하는 것은 [내장 툴](/ko/docs/capabilities/built-in-tools/)의 **디바이스** 그룹입니다. 끄면 에이전트가 새 디바이스를 준비하지 않습니다. 이미 연결된 디바이스는 계속 씁니다. * 에이전트의 endue 클라우드 Computer 에 있는 파일은 그 기기가 있는 동안만 남습니다. 기기를 삭제하면 함께 지워집니다. 남겨야 할 결과는 [아웃풋](/ko/docs/capabilities/outputs/)으로 두세요. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [내 서버·VM 연결하기](/ko/docs/build/own-server/)Linux 서버에 endue Computer 를 설치해 에이전트에게 주기. [워크스페이스](/ko/docs/build/workspace/)endue Computer 위의 에이전트 파일 영역. [승인](/ko/docs/work/approvals/)어떤 디바이스 작업이 먼저 묻는지. [보안과 권한](/ko/docs/account/security/)에이전트가 닿을 수 있는 것과 없는 것. # 정체성과 프로필 > 에이전트의 이름 · 핸들 · 아바타 · 프로필 · 성격 — 각각이 무엇을 바꾸고, 그중 무엇을 에이전트 자신이 보는가. 에이전트의 **정체성**은 사용자가 부르고 알아보는 부분입니다. 이름, 핸들, 아바타, 그리고 글을 쓰는 방식을 결정하는 성격입니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 에이전트를 만들 때 정체성을 정하고, 에이전트가 여럿이 되어 한눈에 구분되지 않을 때 다시 손봅니다. 정체성은 행동을 바꾸는 곳이 아닙니다. 그것은 [시스템 프롬프트](/ko/docs/build/system-prompt/)입니다. ## 각 항목이 하는 일 [섹션 제목: “각 항목이 하는 일”](#각-항목이-하는-일) | 항목 | 보이는 곳 | 바꾸는 것 | | ------- | ------------------ | ---------------------------- | | **이름** | 에이전트 목록, 대화 헤더, 알림 | 알아보는 방식 | | **핸들** | 에이전트 호출, 멘션 | 부르는 방식 | | **아바타** | 에이전트가 나타나는 모든 곳 | 한눈에 알아보기 | | **프로필** | 에이전트 빌더, 에이전트 상세 | 이 에이전트가 무엇을 위한 것인지에 대한 짧은 설명 | | **성격** | 에이전트 자신의 맥락 | 답변의 말투와 태도 | ## 성격과 시스템 프롬프트 [섹션 제목: “성격과 시스템 프롬프트”](#성격과-시스템-프롬프트) 이 둘은 자주 혼동되는데, 갈라 두어야 둘 다 쓸모가 있습니다. **성격**은 *태도*입니다 — 간결한지 장황한지, 격식을 갖추는지 직설적인지, 얼마나 조심스럽게 말하는지. **시스템 프롬프트**는 *일*입니다 — 무엇을 하는지, 무엇을 절대 하면 안 되는지, 좋은 결과가 어떤 모습인지. 일을 성격 칸에 적으면 말투를 바꿀 때마다 일을 다시 쓰게 됩니다. 말투 규칙을 프롬프트에 적으면 정작 중요한 지시와 주의를 놓고 다투게 됩니다. 에이전트는 자기 정체성을 봅니다 이름 · 핸들 · 성격은 실행이 시작될 때 에이전트가 읽는 것의 일부입니다. “받은편지함 분류” 라는 이름에 무뚝뚝한 성격을 가진 에이전트는, 같은 프롬프트라도 다른 정체성일 때와 다르게 행동합니다. 보통은 조금이지만, 가끔은 예상보다 크게 다릅니다. ## 아바타 [섹션 제목: “아바타”](#아바타) 에이전트의 아바타는 그 에이전트가 언급되는 모든 목록·헤더·알림에 나타납니다. 에이전트가 여럿인 작업 공간을 다닐 만하게 만드는 가장 값싼 방법이 아바타를 올리는 것입니다. 올리지 않으면 자동 생성된 아바타가 쓰입니다. ## 한계 [섹션 제목: “한계”](#한계) * 핸들은 생성할 때 이름에서 자동으로 만들어지며, 다른 것들이 그것을 참조하므로 이후에는 변경할 수 없습니다. * 정체성 항목은 에이전트에게 아무 권한도 주지 않습니다. “이메일 비서” 라는 이름의 에이전트도 [커넥터](/ko/docs/connect/overview/)가 바인딩되기 전에는 메일에 닿지 못합니다. * 성격은 말투를 정하지 능력을 정하지 않습니다. 프롬프트와 도구가 허용하지 않는 일을 성격으로 하게 만들 수는 없습니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [시스템 프롬프트와 리비전](/ko/docs/build/system-prompt/)에이전트의 실제 일이 정의되는 곳. [에이전트 빌더](/ko/docs/build/agent-builder/)네 섹션, 그리고 각각에 무엇이 들어가는지. # 시험하고 다듬기 > 잘 돌던 에이전트를 망가뜨리지 않고 바꾸기 — 한 번에 무엇을 바꾸고, 나아졌는지 어떻게 알고, 어떻게 돌아오는가. 에이전트는 반복해서 다듬습니다. 하나를 바꾸고, 같은 작업을 돌리고, 비교합니다. Endue 는 프롬프트 [리비전](/ko/docs/build/system-prompt/#%EB%A6%AC%EB%B9%84%EC%A0%84%EA%B3%BC-%EB%90%98%EB%8F%8C%EB%A6%AC%EA%B8%B0)을 보관하므로 “돌아오기” 는 언제나 가능합니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 에이전트가 거의 다 됐을 때입니다. 이 페이지가 막으려는 실패는 흔한 그것입니다. 한꺼번에 세 가지를 바꾸고, 에이전트가 한쪽으로는 나아지고 다른 쪽으로는 나빠지고, 무엇 때문인지 아무것도 짚을 수 없게 되는 것 말입니다. ## 통하는 루프 [섹션 제목: “통하는 루프”](#통하는-루프) 1. **다시 돌릴 작업을 하나 정해 둡니다.** 예전에 시켜본 실제 요청 두세 개, 좋은 답을 보면 바로 알아볼 수 있는 것으로요. 이것이 시험 세트입니다. 없으면 “나아졌다” 는 느낌일 뿐입니다. 2. **하나만 바꿉니다.** 프롬프트든 모델이든 바인딩이든, 셋을 한꺼번에 바꾸지 마세요. 3. **새 대화에서 같은 작업을 돌립니다.** 새 [대화](/ko/docs/work/conversations/)여야 합니다. 기존 실은 기록을 안고 있어서 사용자의 수정과 무관하게 답이 달라집니다. 4. **이전에 본 것과 비교합니다.** 최종 텍스트만 보지 말고 도구 호출을 보세요. 프롬프트 변경은 대개 거기서 먼저 드러납니다. 5. **유지하거나 되돌립니다.** 더 나빠졌으면 이전 프롬프트 리비전으로 복원하고 다른 변경을 시도하세요. ## 무엇을 어떤 순서로 바꿀 것인가 [섹션 제목: “무엇을 어떤 순서로 바꿀 것인가”](#무엇을-어떤-순서로-바꿀-것인가) 위에서부터 내려가세요. 앞쪽일수록 들인 노력 대비 결과가 크게 움직입니다. | 시도할 것 | 증상이 이럴 때 | | ----------------------------------------------------------------- | --------------------------------------------- | | 프롬프트의 “좋은 결과가 어떤 모습인지” 를 더 날카롭게 | 답은 맞는데 쓸 수가 없다 — 형식이 틀렸거나, 깊이가 안 맞거나, 요점이 묻힌다 | | 지켜야 할 규칙 추가 | 특정 실수를 반복한다 | | 커넥터나 스킬 바인딩 | 찾아봐야 할 것을 추측한다 | | [내장 툴 그룹](/ko/docs/capabilities/built-in-tools/) 끄기 | 이 에이전트에겐 잡음인 능력에 자꾸 손을 뻗는다 | | [추론 강도](/ko/docs/build/models/#%EC%B6%94%EB%A1%A0-%EA%B0%95%EB%8F%84) 올리기 | 긴 작업에서 단계를 빠뜨린다 | | 모델 변경 | 위가 다 맞는데도 작업을 따라오지 못한다 | | 두 에이전트로 분리 | 프롬프트가 무관한 일 두 가지를 담느라 길어졌다 | ## 실행을 읽어 진단하기 [섹션 제목: “실행을 읽어 진단하기”](#실행을-읽어-진단하기) “에이전트가 별로다” 라는 문제는 대개 [실행](/ko/docs/work/runs/) 자체에 드러나 있습니다. * **도구를 하나도 안 불렀다.** 기억만으로 답해야 한다고 판단한 것입니다. 보통은 프롬프트 문제, 가끔은 바인딩 누락입니다. * **맞는 도구를 나쁜 인자로 불렀다.** 맥락이 부족합니다. 프롬프트에 적거나 [메모리](/ko/docs/capabilities/memory/)에 저장하세요. * **도구를 계속 부르면서 수렴하지 않는다.** 작업 정의가 부족하거나, 길이에 비해 추론 강도가 낮습니다. * **알아야 할 것을 나에게 물었다.** 그 사실은 프롬프트나 메모리에 있어야 합니다. 스티어링은 수습이자 진단입니다 한 문장으로 [방향을 잡아주면](/ko/docs/work/steering/) 실행이 매번 살아난다면, 그 문장은 시스템 프롬프트에 있어야 할 것입니다. 반복해서 보내게 되는 정정은 아직 고치지 않은 프롬프트 결함입니다. ## 한계 [섹션 제목: “한계”](#한계) * 내장된 평가 도구나 자동 채점은 없습니다. 비교는 사용자가 고른 작업을 놓고 직접 합니다. * 초안 모드가 없습니다. 에이전트에는 살아 있는 설정 하나만 있고 변경은 다음 실행부터 적용됩니다. 의지하고 있는 에이전트를 건드리지 않고 위험한 시도를 하려면 사본을 만들어 거기서 실험하세요. * 리비전 기록은 시스템 프롬프트에 대한 것입니다. 모델·바인딩·도구 그룹 같은 다른 설정에는 버전이 남지 않으니 무엇을 바꿨는지 적어두세요. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [시스템 프롬프트와 리비전](/ko/docs/build/system-prompt/)가장 자주 당기게 될 지렛대, 그리고 되돌리는 법. [실행](/ko/docs/work/runs/)에이전트가 실제로 무엇을 했는지 단계별로 읽기. [실행 중 방향 잡기](/ko/docs/work/steering/)도는 실행을 바로잡기, 그리고 그것이 알려주는 것. # LLM API > Endue API 키로 내 코드에서 모델을 바로 부릅니다. 쓰던 OpenAI·Anthropic SDK 를 그대로 쓰고, 호출마다 크레딧에서 차감됩니다. **LLM API** 는 내 코드가 Endue API 키로 모델을 바로 부르게 합니다. 요청 형식은 OpenAI·Anthropic API 와 같고, 호출마다 크레딧에서 비용이 빠집니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 에이전트가 아니라 모델이 필요할 때입니다. 내 앱 안에서 쓰는 응답 생성, 이미 OpenAI·Anthropic API 를 부르고 있는 코드, 그리고 Claude Code 가 그렇습니다. base URL 과 키만 바꾸면 나머지 코드는 그대로입니다. 프롬프트·메모리·도구·커넥터를 가진 에이전트에게 일을 맡기려면 [에이전트 API](/ko/docs/build/agent-api/)를 쓰세요. ## 첫 호출 [섹션 제목: “첫 호출”](#첫-호출) 1. **계정 전체 키를 발급합니다.** **설정 → 계정 → API 키**에서 만들고, 보일 때 복사하세요. 키는 한 번만 보여줍니다. 에이전트의 API 섹션에서 만든 키는 그 에이전트로 제한돼 모델을 직접 부를 수 없습니다. 2. **키를 코드에 적지 마세요.** 환경 변수(예: `ENDUE_API_KEY`)에 둡니다. 3. **SDK 를 Endue 로 향하게 합니다.** 아래 base URL 을 넣고, [모델 목록](#%EB%AA%A8%EB%8D%B8%EA%B3%BC-%EA%B0%80%EA%B2%A9)에 있는 모델을 부릅니다. ```plaintext https://platform.endue.ai/api/v1/llm ``` * Python ```python import os from openai import OpenAI client = OpenAI(base_url="https://platform.endue.ai/api/v1/llm", api_key=os.environ["ENDUE_API_KEY"]) res = client.chat.completions.create( model="openai/gpt-5.4", messages=[{"role": "user", "content": "안녕하세요"}], ) print(res.choices[0].message.content) ``` * Node.js ```js import OpenAI from 'openai'; const client = new OpenAI({ baseURL: 'https://platform.endue.ai/api/v1/llm', apiKey: process.env.ENDUE_API_KEY }); const res = await client.chat.completions.create({ model: 'openai/gpt-5.4', messages: [{ role: 'user', content: '안녕하세요' }], }); console.log(res.choices[0].message.content); ``` * curl ```bash curl https://platform.endue.ai/api/v1/llm/chat/completions \ -H "Authorization: Bearer $ENDUE_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"openai/gpt-5.4","messages":[{"role":"user","content":"안녕하세요"}]}' ``` * Anthropic SDK ```python import os import anthropic client = anthropic.Anthropic(base_url="https://platform.endue.ai/api/v1/llm", api_key=os.environ["ENDUE_API_KEY"]) msg = client.messages.create( model="claude-sonnet-4-5", max_tokens=1024, messages=[{"role": "user", "content": "안녕하세요"}], ) print(msg.content[0].text) ``` * Claude Code ```bash export ANTHROPIC_BASE_URL=https://platform.endue.ai/api/v1/llm export ANTHROPIC_API_KEY=$ENDUE_API_KEY claude ``` **설정 → 계정 → LLM API** 에도 같은 base URL 과 예시가 있어 바로 복사할 수 있습니다. ## 모델과 가격 [섹션 제목: “모델과 가격”](#모델과-가격) `GET https://platform.endue.ai/api/v1/llm/models` 는 부를 수 있는 모델 전부를 컨텍스트 길이·가격과 함께 돌려줍니다. 읽는 데는 키가 필요 없습니다. * **모델 id** 는 `openai/gpt-5.4`, `x-ai/grok-4.6` 처럼 제공사/모델 꼴입니다. * **가격**은 토큰당 크레딧이고 소수 문자열입니다. 입력은 `prompt`, 출력은 `completion`, 캐시된 입력을 할인하는 모델은 `input_cache_read` 에 적힙니다. 1 크레딧은 1 미국 달러입니다. * 아주 긴 프롬프트에 더 비싼 값을 받는 모델이 있습니다. 그 가격은 `overrides` 에, 적용이 시작되는 프롬프트 길이와 함께 적힙니다. 같은 모델을 [모델 페이지](/models)에서도 둘러볼 수 있습니다. ## 스트리밍 [섹션 제목: “스트리밍”](#스트리밍) `"stream": true` 를 넣으면 OpenAI 청크 형식의 SSE 로 답이 흘러오고 `data: [DONE]` 으로 끝납니다. `[DONE]` 바로 앞 청크의 `usage` 에 이 호출의 비용이 들어 있습니다. ## 과금 방식 [섹션 제목: “과금 방식”](#과금-방식) 1. **모델을 부르기 전에** 이 호출이 가장 많이 들 수 있는 만큼, 즉 프롬프트와 `max_tokens` 만큼의 출력 비용을 크레딧에서 잡아 둡니다. 잔액이 그보다 적으면 모델을 부르지 않고 `402` 를 돌려줍니다. 2. **호출이 끝나면** 실제로 든 비용만 차감하고, 잡아 둔 나머지는 잔액으로 돌려줍니다. 3. **응답에 차감액이 적혀 옵니다.** `usage.cost` 가 이 호출로 빠진 크레딧이고, `X-Endue-Request-Id` 헤더가 문의할 때 쓸 호출 식별자입니다. `max_tokens` 를 빼고 부르면서 잔액이 모델의 최대 출력 길이를 감당하지 못하면, 잔액이 감당하는 길이로 `max_tokens` 를 낮춰 호출합니다. 그 길이가 1,024 토큰보다 짧으면 `402` 입니다. LLM API 호출은 **구매·프로모션 크레딧**에서만 빠집니다. 요금제의 사용 한도는 에이전트용이라 여기서는 쓰이지 않습니다. 호출 내역은 [사용량 대시보드](/ko/docs/account/usage/#%EC%B6%9C%EC%B2%98)의 **출처** 탭에 **LLM API** 로 나옵니다. ## Anthropic 형식과 Claude Code [섹션 제목: “Anthropic 형식과 Claude Code”](#anthropic-형식과-claude-code) 같은 base URL 이 Anthropic Messages 형식도 받습니다. Anthropic SDK 와 Claude Code 는 base URL 뒤에 `/v1/messages` 를 스스로 붙이므로, 위 탭의 두 줄이 설정의 전부입니다. * 키는 `x-api-key` 로 보내도 되고 `Authorization: Bearer` 로 보내도 됩니다. * Claude 모델 이름은 Anthropic 에 쓰던 그대로 됩니다 — `claude-sonnet-4-5`, 또는 `claude-sonnet-4-5-20250929` 처럼 날짜가 붙은 이름. 그 모델이 모델 목록에 있어야 합니다. 모델 목록의 id 도 그대로 되며, Claude 가 아닌 모델도 부를 수 있습니다. * 스트리밍은 Anthropic 이벤트 형식, 오류는 Anthropic 오류 형식으로 옵니다. * `/v1/messages/count_tokens` 는 입력 토큰의 추정치를 돌려줍니다. 과금되지 않으며, 토크나이저로 센 정확한 값이 아니라 근사치입니다. ## 오류 [섹션 제목: “오류”](#오류) 오류는 부른 형식의 모양으로 옵니다. OpenAI 형식은 `{"error": {…}}`, Anthropic 형식은 `{"type": "error", "error": {…}}` 입니다. | 상태 | 무슨 일인가 | 할 일 | | ----- | ------------------------------------------------------------------------------ | ---------------------------- | | `400` | 요청 형식이 잘못됐거나, `n` 이 1 보다 크거나, 모델이 입력을 거부했습니다 | 메시지가 가리키는 곳을 고칩니다 | | `401` | 키가 없거나, 해지됐거나, 틀렸습니다 | 키와 보내는 방식을 확인합니다 | | `402` | 크레딧 잔액이 이 호출을 감당하지 못합니다(`insufficient_credits`, Anthropic 형식은 `billing_error`) | 크레딧을 사거나 `max_tokens` 를 낮춥니다 | | `403` | 키가 에이전트 하나로 제한돼 있습니다 | 계정 전체 키를 발급합니다 | | `404` | 모델 목록에 없는 모델입니다 | `/models` 의 id 를 씁니다 | | `429` | 요청이 너무 많습니다 | `Retry-After` 의 초만큼 기다립니다 | | `502` | 모델 제공사가 실패했습니다 | 다시 시도합니다 | | `503` | 결제나 모델 목록을 잠시 쓸 수 없습니다. 모델은 불리지 않았고 차감도 없습니다 | 잠시 뒤 다시 시도합니다 | ## 한계 [섹션 제목: “한계”](#한계) * 모델 목록에 있는 모델만 부를 수 있습니다. * 지원 형식은 OpenAI Chat Completions 와 Anthropic Messages 둘입니다. 임베딩·이미지·음성·Responses 엔드포인트는 없습니다. * `n` 은 1 이어야 합니다. * 표준 요청 밖의 필드는 무시합니다. 다른 모델로 넘어가는 폴백 목록, 제공사 라우팅, 플러그인 같은 것들입니다. Anthropic 형식에서 웹 검색 같은 서버 도구는 거부하고, `top_k` 는 무시합니다. * 요금제 사용 한도는 쓰이지 않습니다. 구매·프로모션 크레딧이 있어야 호출됩니다. * 에이전트 하나로 제한된 키로는 모델을 부를 수 없습니다. * 분당 100회까지이며 키 단위와 계정 단위로 함께 셉니다. 요청 본문은 8 MB 까지입니다. * `count_tokens` 는 추정치입니다. ## 관련 [섹션 제목: “관련”](#관련) [에이전트 API](/ko/docs/build/agent-api/)모델 대신, 프롬프트·메모리·도구를 가진 에이전트를 부릅니다. [사용량 대시보드](/ko/docs/account/usage/)출처 탭에서 LLM API 지출을 에이전트 지출과 나란히 봅니다. [모델 고르기](/ko/docs/build/models/)모델이 어떻게 다르고, 서로 비해 얼마나 드는지. [보안과 권한](/ko/docs/account/security/)키가 어디까지 닿는지, 어떻게 거둬들이는지. # 모델 고르기 > 에이전트가 돌아갈 모델을 고르고, 추론에 얼마나 힘을 쓸지 정하고, 메시지 하나에 대해서만 둘 다 바꿔 씁니다. 모든 [실행](/ko/docs/work/runs/)은 모델이 굴립니다. Endue 는 여러 제공자의 카탈로그를 제공하고, 에이전트가 어느 모델을 쓸지는 사용자가 고릅니다. 기본값으로 정할 수도, 메시지 하나에만 적용할 수도 있습니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 문제가 에이전트의 *추론*일 때 모델을 바꿉니다. 긴 작업에서 단계를 빠뜨리거나, 정말 단순한 일에 느리고 비싸게 굴 때입니다. 일을 못하는 게 아니라 엉뚱한 일을 하고 있다면 [시스템 프롬프트](/ko/docs/build/system-prompt/)를 먼저 고치세요. 더 큰 모델도 흐릿한 지시는 똑같이 충실하게 따릅니다. ## 카탈로그 [섹션 제목: “카탈로그”](#카탈로그) 모델 선택기는 쓸 수 있는 모델과 함께, 선택을 실제로 좌우하는 정보를 보여줍니다. 컨텍스트 창, 백만 토큰당 입력·출력 가격, 받아들이는 입력(텍스트·이미지·파일), 그리고 도구 호출 지원 여부입니다. **확인할 것은 도구 호출입니다.** Endue 의 에이전트는 도구를 불러 일합니다. 도구 호출을 지원하지 않는 모델은 이미 아는 것으로 답할 수는 있어도 메일을 검색하거나, 아웃풋을 쓰거나, 커넥터를 쓰지 못합니다. 그런 모델은 선택기에 표시돼 있습니다. ## 추론 강도 [섹션 제목: “추론 강도”](#추론-강도) 일부 모델은 **추론 강도** 설정을 제공합니다. 답하기 전에 얼마나 생각할지입니다. 강도가 높으면 토큰을 더 쓰고 시간도 더 걸립니다. 대신 초반의 잘못된 판단이 실행의 나머지를 버리게 만드는 다단계 작업에서 값을 합니다. 대략의 기준입니다. | 작업 | 강도 | | ------------------------------ | -- | | 형식 변환, 정보 추출, 분류, 짧은 답 | 낮음 | | 도구 호출 몇 번이 끼는 일상적인 다단계 작업 | 보통 | | 초반 실수가 누적되는 긴 사슬 — 조사, 계획, 디버깅 | 높음 | [![모델 섹션 — 지정하지 않으면 플랫폼 기본값으로 내려가는 기본 채팅 모델과, 꺼져 있는 별도의 폴백 모델 스위치.](/ko/docs/_astro/studio-model.Dma7Uwmc_218Qei.webp)](/ko/docs/_astro/studio-model.Dma7Uwmc.png) [원본 크기로 보기](/ko/docs/_astro/studio-model.Dma7Uwmc.png) ## 에이전트별 · 메시지별 · 루틴별 [섹션 제목: “에이전트별 · 메시지별 · 루틴별”](#에이전트별--메시지별--루틴별) 모델을 정하는 곳은 셋이고, 아래로 갈수록 위를 덮어씁니다. * **에이전트 기본값** — [에이전트 빌더](/ko/docs/build/agent-builder/)에서 정합니다. 달리 지정하지 않으면 이것을 씁니다. * **메시지 하나** — 입력창에서 바꿉니다. 값싼 에이전트와의 대화 중 어려운 질문 하나에 쓰기 좋습니다. 매번 손으로 바꾸는 대신 [요청에 맞춰 자동으로 고르게](#%EC%9A%94%EC%B2%AD%EC%97%90-%EB%A7%9E%EC%B6%B0-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EA%B3%A0%EB%A5%B4%EA%B8%B0) 둘 수도 있습니다. * **[루틴](/ko/docs/automate/routines/)** — 자기 모델을 고정할 수 있어서, 에이전트를 다시 손봐도 예약된 작업의 비용이 흔들리지 않습니다. 값싼 에이전트에 가끔 승급 빠른 모델을 에이전트 기본값으로 두고 필요한 몇 메시지에만 더 강한 모델을 쓰는 편이, 모든 것을 가장 강한 모델로 돌리는 것보다 대개 쌉니다. 일상적인 90% 에서는 에이전트가 더 빠르게 느껴지기도 합니다. ## 요청에 맞춰 자동으로 고르기 [섹션 제목: “요청에 맞춰 자동으로 고르기”](#요청에-맞춰-자동으로-고르기) 에이전트의 **자동 선택**을 켜면 메시지마다 모델을 고르지 않아도 됩니다. 메시지가 오면 판단 모델이 그 요청이 얼마나 어려운지를 세 단계로 가르고, 단계마다 어느 모델을 쓸지는 사용자가 정해 둡니다. [에이전트 빌더](/ko/docs/build/agent-builder/)의 모델 섹션에서 설정합니다. | 단계 | 쓰는 모델 | | ------------------------------------ | ------------- | | 가벼운 요청 — 인사, 짧은 사실 확인, 한두 문장 고치기 | 가벼운 요청에 고른 모델 | | 보통 요청 — 설명, 요약, 일상적인 글과 코드 | 에이전트의 기본 모델 | | 어려운 요청 — 여러 단계의 분석, 길고 정밀한 글, 복잡한 코드 | 어려운 요청에 고른 모델 | 두 칸 중 하나만 채워도 됩니다. 비운 단계는 기본 모델로 갑니다. 방식은 셋입니다. * **끔** — 판단하지 않습니다. * **관찰** — 판단은 하되 모델은 바꾸지 않습니다. 답 아래에 “자동이었다면” 과 모델 이름이 붙어서, 켜기 전에 어떻게 갈릴지 볼 수 있습니다. * **켬** — 판단대로 모델을 고릅니다. 입력창의 모델 선택이 **자동**으로 시작하고, 답 아래에 “자동” 과 실제로 답한 모델 이름이 붙습니다. 저장하기 전에 **시험해 보기**에 문장을 넣으면 그 문장이 어느 단계로 읽히고 어느 모델로 가는지 보여줍니다. 다음 경우에는 기본 모델로 답합니다. * 판단이 애매할 때. 확신도가 정해 둔 기준에 못 미치면 고르지 않습니다. * 판단이 제때 오지 않을 때. 답이 판단을 기다리느라 늦어지지 않습니다. * 고른 모델을 요금제나 남은 한도 때문에 쓸 수 없을 때. 첨부가 있는 메시지와 어려운 요청에 바로 이어지는 메시지는 가벼운 모델로 내리지 않습니다. “계속해줘” 는 혼자 보면 가볍지만 하던 일은 그렇지 않기 때문입니다. 입력창에서 모델을 직접 고르면 그 대화는 고른 모델로 갑니다. 다시 **자동**을 고르면 풀립니다. 기본 모델이 정해진 프로젝트의 대화는 프로젝트 모델을 따릅니다. 판단을 위해 메시지가 전송됩니다 관찰이나 켬으로 두면 에이전트가 받는 메시지(이번 메시지와 직전 메시지의 앞부분)가 OpenRouter 를 거쳐 미국의 TypeSafe 로 전송됩니다. 난이도를 가르는 데만 쓰입니다. 끔에서 켜는 쪽으로 바꿀 때 화면이 이 점을 확인받습니다. ## 비용 [섹션 제목: “비용”](#비용) 요금제의 사용량을 소모하는 것은 모델 사용이고, 카탈로그 안에서도 가격은 열 배 넘게 차이 납니다. 선택기가 모델별 입력·출력 가격을 보여줍니다. 사용량을 어떻게 재고 어디서 보는지는 [요금제와 사용량](/ko/docs/account/plans-and-usage/)을, 제공자에게 직접 결제하고 싶다면 [내 API 키 사용](/ko/docs/account/bring-your-own-key/)을 보세요. ## 한계 [섹션 제목: “한계”](#한계) * 모든 모델이 모든 기능을 지원하지는 않습니다. 도구 호출, 이미지 입력, 추론 강도는 모델마다 다르고 선택기가 그 기준입니다. * 모델을 바꿔도 에이전트의 프롬프트·메모리·바인딩은 바뀌지 않습니다. * 돌고 있는 실행은 시작할 때의 모델을 유지합니다. 모델 변경은 다음 실행부터입니다. * 자동 선택은 사람이 보낸 메시지에만 걸립니다. [루틴](/ko/docs/automate/routines/)과 음성 대화는 고르지 않고 정해진 모델로 돕니다. * 컨텍스트 창이 모델마다 다릅니다. 한 모델에는 들어가는 아주 긴 대화가 다른 모델에는 들어가지 않을 수 있습니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [요금제와 사용량](/ko/docs/account/plans-and-usage/)무엇이 사용량을 소모하고, 얼마나 썼는지 어디서 보는지. [내 API 키 사용](/ko/docs/account/bring-your-own-key/)Endue 의 자격증명 대신 내 모델 자격증명 쓰기. [Endue 의 동작 방식](/ko/docs/get-started/how-it-works/)모델이 굴리는 루프, 그리고 선택이 중요한 이유. # 내 서버·VM 연결하기 > 내가 관리하는 Linux 서버나 VM 에 endue Computer 를 설치해, 에이전트가 endue 클라우드 대신 그곳에 파일을 두고 프로그램을 실행하게 합니다. 내 Linux 서버나 VM 을 에이전트의 **endue Computer** 로 줄 수 있습니다. 그 기기에서 설치 명령 한 줄을 실행하면, 그때부터 에이전트의 파일과 프로그램이 그곳에 있습니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 그 기기에만 있는 것이 작업에 필요할 때 씁니다. 사내망 접근, 이미 설치해 둔 도구와 데이터, 기본보다 많은 CPU·디스크, 내가 고른 지역의 기기 같은 것입니다. 내가 관리하는 Linux 기기라면 무엇이든 됩니다. Vultr 의 VPS, AWS 의 EC2 인스턴스, 사내 서버 모두 됩니다. 이런 사정이 없다면 이 페이지는 필요 없습니다. 에이전트는 처음 필요할 때 endue 클라우드에 endue Computer 를 자동으로 받습니다. [디바이스](/ko/docs/build/devices/)를 보세요. ## 필요한 것 [섹션 제목: “필요한 것”](#필요한-것) * x86\_64 또는 aarch64 의 Linux. 프로그램이 정적 바이너리 하나라 배포판은 상관없습니다. * systemd. * `sudo` 로 얻는 root 권한. * 밖으로 나가는 인터넷 연결. endue Computer 가 보안 WebSocket 으로 endue 에 먼저 연결하므로 들어오는 포트를 열 필요가 없습니다. ## 설치 [섹션 제목: “설치”](#설치) 1. **좌측 사이드바에서 리소스 › 디바이스를 열고** endue Computer 묶음의 **내 기기·서버에 설치**를 누릅니다. [에이전트 빌더](/ko/docs/build/agent-builder/)에서 에이전트 하나를 열었다면 **리소스 › 디바이스 › 내 서버에 연결**이 그 에이전트로 같은 일을 합니다. 2. **에이전트를 고르고**, 필요하면 목록에 보일 기기 이름(예: `build-server-01`)을 적습니다. **설치 명령 만들기**를 누릅니다. 에이전트에 이미 endue 클라우드의 endue Computer 가 있으면, 그것과 그 안의 파일을 먼저 삭제할지 묻습니다. 취소하면 아무것도 바뀌지 않습니다. [에이전트의 endue 클라우드 Computer 를 내 서버로 바꾸기](/ko/docs/build/devices/#%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8%EC%9D%98-endue-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-computer-%EB%A5%BC-%EB%82%B4-%EC%84%9C%EB%B2%84%EB%A1%9C-%EB%B0%94%EA%BE%B8%EA%B8%B0)를 보세요. 3. **명령을 복사해 서버에서 실행합니다.** 모양은 이렇습니다. ```sh curl -fsSL https://download.endue.ai/computer/install.sh | sudo sh -s -- \ --endpoint --token --instance ``` 명령에는 이 에이전트의 연결 토큰이 들어 있고, 한 번만 보입니다. 복사하기 전에 창을 닫았다면 명령을 새로 만드세요. 4. **연결됨을 기다립니다.** 명령이 끝나고 몇 초 뒤 창과 디바이스 목록이 **연결됨**으로 바뀝니다. 명령은 묻지 않고 실행됩니다 내 서버에서 에이전트는 파일을 쓰고 프로그램을 실행할 때 매번 승인을 받지 않습니다. 에이전트를 막는 것은 설치 때 정한 것뿐입니다. 전용 사용자, 실행할 수 있는 프로그램 목록, 네트워크 허용 여부, 아래의 프로필입니다. 에이전트 전용 서버나 VM 을 쓰고, `--allow-exec` 에는 필요한 것만 두세요. ## 설치 스크립트가 하는 일 [섹션 제목: “설치 스크립트가 하는 일”](#설치-스크립트가-하는-일) 1. 아키텍처를 판별해 endue Computer 를 내려받고 SHA-256 체크섬을 대조합니다. 맞지 않으면 아무것도 설치하지 않습니다. 2. 커널이 어떤 [프로필](#%ED%94%84%EB%A1%9C%ED%95%84)을 지원하는지 확인합니다. 3. 로그인할 수 없는 시스템 사용자 `endue` 를 만듭니다. 4. 에이전트마다 다음을 만듭니다. | 경로 | 소유·권한 | 담는 것 | | ---------------------------------------------- | ------------ | ----------------------------------------------- | | `/etc/endue-computer/.env` | root, `0600` | 접속 주소, 토큰, 고른 설정 | | `/var/lib/endue-computer//workspace` | `endue` | 에이전트의 [워크스페이스](/ko/docs/build/workspace/). 에이전트가 일하는 폴더 | | `/var/lib/endue-computer//state` | `endue` | 체크포인트와 저장한 파일. 워크스페이스 밖에 둡니다 | 5. 에이전트의 systemd 서비스 `endue-computer@` 를 켜고 시작한 뒤, 연결됐는지 알려 줍니다. ## 에이전트가 할 수 있는 일 정하기 [섹션 제목: “에이전트가 할 수 있는 일 정하기”](#에이전트가-할-수-있는-일-정하기) 설치 명령 끝에 옵션을 붙입니다. ```sh curl -fsSL https://download.endue.ai/computer/install.sh | sudo sh -s -- \ --endpoint --token --instance \ --allow-exec git,python3 --no-network ``` | 옵션 | 기본값 | 효과 | | ------------------------------------ | ------------------------------------ | ----------------------------------------------------------------------------------- | | `--allow-exec <목록>` | `git,node,npm,npx,python3,pip3,curl` | 에이전트가 실행할 수 있는 프로그램. 쉼표로 구분하고 경로 없이 씁니다. `--allow-exec ""` 는 프로그램 실행을 모두 끕니다. | | `--no-network` | 네트워크 허용 | 에이전트가 실행한 프로그램이 네트워크를 쓰지 못합니다. | | `--no-delete` | 삭제 허용 | 에이전트가 워크스페이스의 파일을 지우지 못합니다. git·npm 같은 도구는 잠금·임시 파일을 지우므로 `sandboxed` 프로필에서는 실패합니다. | | `--profile auto\|sandboxed\|managed` | `auto` | 쓸 [프로필](#%ED%94%84%EB%A1%9C%ED%95%84). | 목록에 있지만 서버에 설치되지 않은 프로그램은 설치 때 알려 줍니다. 에이전트가 그것을 실행하려 하면 “설치되지 않음” 을 받습니다. 허용한 프로그램이 그 프로그램이 하는 일까지 제한하지는 않습니다. `node` 나 `python3` 를 허용하면, 에이전트는 프로필의 경계 안에서 그것들로 어떤 코드든 실행할 수 있습니다. ## 프로필 [섹션 제목: “프로필”](#프로필) | 프로필 | 조건 | 에이전트가 실행한 프로그램이 할 수 없는 것 | | ----------- | ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- | | `sandboxed` | Linux 6.12 이상 (Landlock ABI 6) | 워크스페이스 폴더 밖의 파일을 읽거나 쓰지 못합니다. `managed` 의 제한도 모두 받습니다. | | `managed` | 그 밖의 커널. Ubuntu 22.04(5.15), Ubuntu 24.04 GA 커널(6.8) 등 | root 가 되거나 권한을 얻지 못합니다. systemd 가 `/home`·`/root`·다른 에이전트의 폴더를 숨기고 나머지 시스템을 읽기 전용으로 둡니다. 파일시스템 샌드박스는 없어서 `endue` 사용자가 읽을 수 있는 파일은 읽습니다. | `auto` 는 커널이 지원하면 `sandboxed` 를, 아니면 안내와 함께 `managed` 를 고릅니다. 지원하지 않는 커널에서 `sandboxed` 를 지정하면 설치하지 않고 끝납니다. `managed` 는 에이전트 전용 서버나 VM 에서만 쓰세요. ## 같은 서버에 에이전트 추가하기 [섹션 제목: “같은 서버에 에이전트 추가하기”](#같은-서버에-에이전트-추가하기) 서버 하나에 에이전트를 여럿 붙일 수 있습니다. **리소스 › 디바이스**에서 서버 행의 메뉴를 열어 **에이전트 추가**를 누르고, 에이전트를 고른 뒤 새 명령을 같은 서버에서 실행합니다. 에이전트마다 서비스·설정 파일·폴더가 따로 생기고, 프로그램과 `endue` 사용자는 함께 씁니다. `managed` 프로필에서 에이전트끼리 서로의 폴더를 못 보게 하는 것은 systemd 입니다. ## 켜기·끄기와 로그 [섹션 제목: “켜기·끄기와 로그”](#켜기끄기와-로그) `` 는 명령의 `--instance` 뒤에 있는 값으로 바꿉니다. ```sh sudo systemctl status endue-computer@ # 돌고 있는지 sudo systemctl start endue-computer@ # 켜기 sudo systemctl stop endue-computer@ # 끄기 sudo journalctl -u endue-computer@ -f # 로그 따라 보기 ``` 서비스가 멈춰 있는 동안 디바이스는 **꺼져 있음**으로 보이고, 에이전트는 켜 달라고 알려 줍니다. endue 가 대신 클라우드 Computer 를 만들지 않습니다. ## 다시 설치 [섹션 제목: “다시 설치”](#다시-설치) 같은 `--instance` 로 설치 명령을 다시 실행하면 토큰을 포함한 설정을 바꾸고 서비스를 다시 시작합니다. 에이전트의 서버가 연결돼 있는 동안에는 새 명령을 만들 수 없습니다. 서버에서 서비스를 먼저 멈춘 뒤 명령을 다시 만드세요. ## 제거 [섹션 제목: “제거”](#제거) ```sh curl -fsSL https://download.endue.ai/computer/install.sh | sudo sh -s -- \ --uninstall --instance ``` 에이전트의 서비스를 멈추고 끄고, 설정 파일을 지웁니다. 워크스페이스와 state 폴더는 `--purge` 를 붙일 때만 지웁니다. `--instance` 없이 실행하면 서버의 모든 에이전트를 제거합니다. 남은 에이전트가 없으면 프로그램과 서비스 정의도 지웁니다. 서버에서 제거해도 endue 의 디바이스는 지워지지 않고, endue 에서 지워도 서버의 설치는 남습니다. 둘 다 하세요. 여기서 제거하고, 기기 행 메뉴에서 그 에이전트를 **떼기** 합니다. [디바이스 지우기](/ko/docs/build/devices/#%EB%94%94%EB%B0%94%EC%9D%B4%EC%8A%A4-%EC%A7%80%EC%9A%B0%EA%B8%B0)를 보세요. ## 한계 [섹션 제목: “한계”](#한계) * x86\_64·aarch64 의 Linux 만 됩니다. macOS·Windows 판은 아직 없습니다. * 에이전트당 endue Computer 한 대입니다. 내 서버에 있는 에이전트는 endue 클라우드에 따로 가질 수 없고, 이미 다른 서버에 있는 에이전트는 거기서 먼저 떼야 합니다. * endue 는 내 서버나 서비스를 켤 수 없습니다. 둘 중 하나가 꺼져 있으면 에이전트는 그것 없이 일합니다. * 에이전트는 서비스가 연결돼 있는 동안만 서버의 도구를 씁니다. 에이전트가 백그라운드로 띄운 프로그램은 서비스가 멈추면 함께 멈춥니다. * 일부 컨테이너처럼 systemd 가 없으면 `--no-systemd` 를 붙입니다. 설치 스크립트가 파일만 두고 직접 실행할 명령을 출력합니다. 이때는 위의 systemd 보호가 적용되지 않습니다. * 서비스가 `status=226/NAMESPACE` 로 시작하지 못하면 그 기기가 마운트 네임스페이스를 만들 수 없는 것입니다. 일부 LXC·OpenVZ 컨테이너에서 생깁니다. 온전한 VM 을 쓰거나 `--no-systemd` 를 씁니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [디바이스](/ko/docs/build/devices/)디바이스 제품, 유저·에이전트 기기, 지우는 방법. [워크스페이스](/ko/docs/build/workspace/)에이전트가 일하는 폴더와, 그 안을 들여다보는 방법. [보안과 권한](/ko/docs/account/security/)에이전트가 닿을 수 있는 것과 없는 것. # 시스템 프롬프트와 리비전 > 에이전트가 모든 대화 전에 읽는 상시 지침을 쓰고, 모든 판을 보관하고, 나빠졌을 때 되돌립니다. **시스템 프롬프트**는 에이전트가 모든 대화 전에 읽는 상시 지침입니다. 무엇을 하는지, 어떻게 판단해야 하는지, 무엇을 절대 하면 안 되는지를 담습니다. 저장하는 모든 판이 보관되므로 변경은 되돌릴 수 있습니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 에이전트의 *행동*이 잘못됐을 때 프롬프트를 손봅니다 — 엉뚱한 일을 하거나, 형식이 틀렸거나, 이미 알아야 할 것을 묻는 경우입니다. *능력*이 없는 것이라면 [커넥터](/ko/docs/connect/overview/)나 [스킬](/ko/docs/capabilities/skills/)을 손봐야 합니다. 프롬프트로 접근 권한을 대신할 수는 없습니다. ## 프롬프트 쓰기 [섹션 제목: “프롬프트 쓰기”](#프롬프트-쓰기) 1. **[에이전트 빌더](/ko/docs/build/agent-builder/)에서 프롬프트 섹션을 엽니다.** 현재 본문과 지난 리비전 기록이 보입니다. 2. **하는 일을 한 문단으로 밝힙니다.** 누구를 위해 일하는지, 무엇을 책임지는지, 무엇이 그 밖인지. 경계를 아는 에이전트는 쓸데없는 질문을 덜 합니다. 3. **좋은 결과가 어떤 모습인지 씁니다.** 대부분의 프롬프트가 건너뛰는 부분이자 결과를 가장 크게 바꾸는 부분입니다. 단계는 에이전트가 알아서 고릅니다. 알아서 맞힐 수 없는 것은 “다 됐다” 에 대한 사용자의 기준입니다. *“안 읽은 메일 요약해줘”* 는 전부를 운에 맡깁니다. *“안 읽은 메일을 보낸 사람별로 묶어 요약하되, 나에게 직접 질문한 것은 원문 그대로 인용해서 메일을 열지 않고도 답할 수 있게 해줘”* 는 그렇지 않습니다. 4. **지켜야 할 규칙을 적습니다.** 항상 해야 하거나 절대 하면 안 되는 것들 — 회사 밖으로는 메일을 보내지 않는다, 출처 문서를 항상 밝힌다, 숫자는 추측하지 않는다 같은 것입니다. 5. **새 리비전으로 저장합니다.** 이전 본문은 덮어써지지 않고, 돌아갈 수 있는 리비전이 됩니다. [![프롬프트 섹션 — 에이전트 지침을 담은 Markdown 편집기와 글자 수, 그 아래 저장된 리비전 목록.](/ko/docs/_astro/studio-prompt.C_mqEL4q_Ep9Ph.webp)](/ko/docs/_astro/studio-prompt.C_mqEL4q.png) [원본 크기로 보기](/ko/docs/_astro/studio-prompt.C_mqEL4q.png) ## 리비전과 되돌리기 [섹션 제목: “리비전과 되돌리기”](#리비전과-되돌리기) 저장할 때마다 리비전이 하나 만들어집니다. 기록에는 각 시점의 프롬프트가 남고, 이전 것으로 복원할 수 있습니다. 이것이 프롬프트를 다듬는 일을 도박이 아니라 안전한 작업으로 만듭니다. 무언가를 바꾸고 하루 써보다가 더 나빠졌으면 잘 되던 리비전으로 돌아가면 됩니다. 옛 본문이 뭐였는지 외우고 있을 필요가 없습니다. 실행은 시작할 때의 리비전을 씁니다 리비전 복원은 에이전트의 다음 실행부터 반영됩니다. 이미 돌고 있는 실행은 시작할 때의 프롬프트로 끝납니다. 방금 고친 내용을 에이전트가 무시하는 것처럼 보이는 이유입니다. ## 무엇을 어디에 둘 것인가 [섹션 제목: “무엇을 어디에 둘 것인가”](#무엇을-어디에-둘-것인가) | 두는 곳 | 언제 | | -------------------------------- | --------------------------------- | | **시스템 프롬프트** | 모든 대화에 적용될 때 — 내 역할, 상시 규칙, 출력 형식 | | **메시지** | 이번 작업에만 적용될 때 | | **[성격](/ko/docs/build/identity/)** | 일이 아니라 말투에 관한 것일 때 | | **[메모리](/ko/docs/capabilities/memory/)** | 한 번 배워서 계속 쓸 사실일 때 — 선호, 이름, 습관 | | **[스킬](/ko/docs/capabilities/skills/)** | 상시 지침이 아니라 단계가 있는 반복 절차일 때 | 서로 무관한 일 네 가지를 담느라 길어진 프롬프트는 프롬프트를 더 늘리라는 신호가 아니라 두 번째 에이전트가 필요하다는 신호입니다. ## 한계 [섹션 제목: “한계”](#한계) * 프롬프트는 접근 권한을 주지 못합니다. 캘린더가 필요하면 바인딩된 연결이 있어야 합니다. “너는 내 캘린더에 접근할 수 있다” 라고 써도 아무것도 달라지지 않습니다. * 리비전 복원은 프롬프트 전체를 교체합니다. 리비전끼리 병합하는 기능은 없습니다. * 프롬프트는 에이전트별입니다. 두 에이전트가 같은 상시 규칙을 써야 한다면 양쪽에 본문이 있어야 합니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [시험하고 다듬기](/ko/docs/build/iterating/)프롬프트 변경이 실제로 도움이 됐는지 확인하는 방법. [메모리](/ko/docs/capabilities/memory/)매번 말해주는 대신 한 번 배우게 하는 사실들. [스킬](/ko/docs/capabilities/skills/)프롬프트에 들어갈 것이 아닌 반복 절차. # 트레이트 > 에이전트 동작을 켜고 끄는 스위치. 성격을 모델에 실을지, 대화에서 배운 것을 스스로 남길지, 쉬는 시간에 기억을 정리할지, 요청을 받아 자기 설정을 고칠지 정합니다. **트레이트**는 에이전트의 동작 하나를 켜고 끕니다. 사용자가 쓰는 텍스트인 [시스템 프롬프트](/ko/docs/build/system-prompt/)와 달리 트레이트는 스위치입니다. 설정값은 원래 있던 자리에 그대로 있고, 그것을 쓸지 말지를 트레이트가 정합니다. ## 제공되는 트레이트 [섹션 제목: “제공되는 트레이트”](#제공되는-트레이트) | 트레이트 | 켜면 일어나는 일 | | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **성격** | 에이전트 [프로필](/ko/docs/build/identity/)에 설정한 성격이 모델이 읽는 내용에 포함됩니다. 꺼두면 에이전트는 프롬프트만으로 일합니다. | | **성장형** | 에이전트가 대화에서 배운 것을 스스로 남깁니다. 선호·사실·약속은 [메모리](/ko/docs/capabilities/memory/)에 적고, 가르쳐 준 절차는 [스킬](/ko/docs/capabilities/skills/)로 저장하고, 자기가 만든 파일은 색인해 두었다가 다시 엽니다. 일정에 따른 정리는 Dream 이 맡습니다. | | **Dream** | 에이전트가 쉬는 시간에 메모리를 정리합니다. 겹치는 기억을 합치고, 낡은 사실을 고치고, 끝난 약속을 닫고, 더는 쓸모없는 기억은 [보관](/ko/docs/capabilities/memory/#%EB%B3%B4%EA%B4%80)합니다. 그런 다음 기억마다 한 줄 요약과 검색어를 달아 다음 대화에서 더 빨리 찾게 합니다. 바뀐 것이 없는 날은 쉽니다. 다른 것과 똑같이 보고 고칠 수 있는 [루틴](/ko/docs/automate/routines/)으로 돕니다. | | **Self Configuration** | 대화에서 설정을 바꿔 달라고 하면 에이전트가 자기 설정을 고칩니다. 바꾸기 전에 전후 값을 카드로 보여 주고, **적용**을 눌러야 저장됩니다. 에이전트가 고쳐도 되는 설정은 사용자가 항목별로 정합니다. | [![트레이트 섹션. 성격, 성장형, Dream, Self Configuration 이 각각 스위치와 한 문장 설명으로 놓여 있다. 켜진 성장형 아래에는 스킬로 만들기·내 파일 색인 스위치와 배운 스킬 하나가, 켜진 Dream 아래에는 자는 시간을 정하는 시계가 펼쳐져 있다.](/ko/docs/_astro/studio-trait.DyWygPhK_Z1jwlt4.webp)](/ko/docs/_astro/studio-trait.DyWygPhK.png) [원본 크기로 보기](/ko/docs/_astro/studio-trait.DyWygPhK.png) ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) **성격**은 말투가 중요할 때 켤 값이 있습니다. 고객과 대화하는 에이전트, 또는 하루 종일 그 답변을 읽는 에이전트가 그렇습니다. 담백하고 예측 가능하기를 원하거나 [프롬프트를 다듬는 중](/ko/docs/build/iterating/)이라 변수를 하나라도 줄이고 싶다면 꺼두세요. **성장형**은 같은 사람과 계속 일하는 에이전트에 켭니다. 한 번 말한 선호나 약속, 한 번 가르친 작업 방법을 에이전트가 남겨 두므로 다음 대화에서 다시 설명하지 않아도 됩니다. **Dream**은 몇 주째 돌면서 기억이 쌓인 에이전트에서 값을 합니다. 겹치거나 낡은 기억이 줄고, 남은 기억에는 요약과 검색어가 붙습니다. 새 에이전트에는 정리할 것이 거의 없고, 바뀐 것이 없는 날은 Dream 이 실행을 만들지 않으니 일찍 켜 두어도 됩니다. **Self Configuration**은 에이전트를 쓰면서 설정을 자주 다듬을 때 켭니다. “더 간결하게 말해 줘”, “이름을 바꿔 줘” 라고 말하면 에이전트가 해당 설정을 찾아 고칩니다. 에이전트 빌더를 열어 항목을 찾아다니지 않아도 됩니다. 에이전트가 손대면 안 되는 설정이 있다면 그 항목만 꺼 두세요. 꺼도 설정은 남습니다 트레이트를 꺼도 설정은 지워지지 않습니다. 성격은 프로필에, Dream 의 루틴은 루틴 목록에 남고, 트레이트가 그것을 쓰지 않을 뿐입니다. 다시 켜면 이전 동작이 돌아옵니다. ## 성장형이 배우는 것 [섹션 제목: “성장형이 배우는 것”](#성장형이-배우는-것) 성장형은 대화하는 동안 일합니다. 따로 도는 루틴은 없습니다. | 갈래 | 에이전트가 하는 일 | 스위치 | | -- | ------------------------------------------------------------------------------------------------------------------------- | ----------------- | | 기억 | 선호·사실·약속을 알게 되면 메모리에 적고, 이미 있으면 고칩니다. 한 줄로 알립니다. | 성장형 자체 | | 스킬 | 보고서 양식이나 작업 순서처럼 다시 쓸 절차를 가르쳐 주면 지침 스킬로 저장합니다. 에이전트가 배운 스킬의 절차를 바로잡아 주면 같은 스킬을 고칩니다. 저장했으면 답변 끝에 알리고, 다음 대화부터 그 절차를 따릅니다. | 가르쳐 준 절차를 스킬로 만들기 | | 파일 | 에이전트가 최근에 고친 파일을 최대 15개까지 경로·설명과 함께 대화마다 챙겨 둡니다. 필요한 파일을 바로 열고, 목록에 없는 파일은 주제로 찾습니다. 파일 내용을 크게 고치면 설명도 맞춥니다. | 내 파일 색인 | 두 하위 스위치는 성장형을 켜면 함께 켜집니다. 필요 없는 갈래만 끄면 됩니다. 스킬과 파일 갈래는 주인이 직접 대화할 때만 돕니다. endue.live 방문자, API 호출자, 채널 사용자와 나누는 대화에서는 에이전트가 스킬을 만들거나 고치지 않고 파일 목록도 싣지 않습니다. 성장형을 켜지 않았어도 마찬가지입니다. 루틴 실행에서도 스킬을 배우지 않습니다. ### 배운 스킬 되돌리기 [섹션 제목: “배운 스킬 되돌리기”](#배운-스킬-되돌리기) 성장형 설정의 **배운 스킬**에 에이전트가 만들거나 고친 스킬이 최근 순으로 보입니다. 새로 배웠는지 고쳤는지, 무엇을 보고 배웠는지, 지금 쓰이는지가 함께 표시됩니다. **되돌리기**를 누르면 고친 스킬은 고치기 전 버전으로 돌아가고, 새로 배운 스킬은 에이전트와 계정에서 빠집니다. 되돌린 스킬은 에이전트가 다시 만들거나 고치지 않습니다. 에이전트는 사용자가 직접 만든 스킬을 고치지 않습니다. 바꿀 점이 보이면 대화에서 제안합니다. ## Self Configuration 이 고치는 것 [섹션 제목: “Self Configuration 이 고치는 것”](#self-configuration-이-고치는-것) Self Configuration 을 켜면 에이전트가 자기 설정을 읽고, 사용자가 요청한 변경을 제안합니다. 저장은 사용자가 승인한 뒤에 일어납니다. 1. 트레이트 섹션에서 **Self Configuration**을 켭니다. 2. **에이전트가 고칠 수 있는 설정**에서 맡길 항목을 고릅니다. 처음에는 프로필, 성격, 역할과 언어가 켜져 있습니다. 3. 대화에서 바꿀 내용을 말합니다. 예: “이름을 루나로 바꾸고 더 간결하게 말해 줘.” 4. 에이전트가 설정 변경 카드를 띄웁니다. 항목마다 지금 값과 바뀔 값이 보입니다. 프롬프트는 더한 줄과 뺀 줄이 보입니다. 5. **적용**을 누르면 저장되고, **취소**를 누르면 아무것도 바뀌지 않습니다. 적용한 설정은 다음 답변부터 반영됩니다. [![켜진 Self Configuration 트레이트. 에이전트가 고칠 수 있는 설정으로 프로필, 성격, 역할과 언어, 프롬프트는 켜져 있고 모델, 내장 툴, 다른 트레이트는 꺼져 있다. 아래에는 에이전트가 바꾼 설정 두 건이 전후 값, 대화 보기 링크, 되돌리기 버튼과 함께 놓여 있다.](/ko/docs/_astro/studio-trait-self-config.DQMC5PDd_Z1XxPd4.webp)](/ko/docs/_astro/studio-trait-self-config.DQMC5PDd.png) [원본 크기로 보기](/ko/docs/_astro/studio-trait-self-config.DQMC5PDd.png) | 항목 | 에이전트가 고치는 것 | 처음 상태 | | ------- | ------------------------------------------------------------------------------- | ----- | | 프로필 | 이름과 소개 | 켜짐 | | 성격 | [성격](/ko/docs/build/identity/) 좌표. 성격 트레이트가 꺼져 있으면 값은 바뀌어도 말투에는 반영되지 않습니다. | 켜짐 | | 역할과 언어 | 역할 문구와 응답 언어 | 켜짐 | | 프롬프트 | [시스템 프롬프트](/ko/docs/build/system-prompt/). 고칠 때마다 새 리비전이 생기고, 리비전 목록에 에이전트가 고쳤다고 표시됩니다. | 꺼짐 | | 모델 | 대화에 쓰는 기본 [모델](/ko/docs/build/models/). 요금제에서 쓸 수 있는 모델만 고릅니다. | 꺼짐 | | 내장 툴 | [내장 툴](/ko/docs/capabilities/built-in-tools/) 그룹 켜고 끄기 | 꺼짐 | | 다른 트레이트 | 성격과 성장형 켜고 끄기 | 꺼짐 | 꺼 둔 항목을 바꿔 달라고 하면 에이전트는 카드를 띄우지 않고, 그 설정은 에이전트 빌더에서 바꿀 수 있다고 알려 줍니다. 에이전트는 “지금 어떤 모델을 써?” 같은 질문에도 현재 설정으로 답합니다. 꺼 둔 항목도 읽을 수는 있습니다. Self Configuration 은 주인이 직접 대화할 때만 돕니다. endue.live 방문자, API 호출자, 채널 사용자와 나누는 대화와 루틴 실행에서는 에이전트가 설정을 읽거나 고치지 않습니다. 에이전트가 고칠 수 없는 것 Live 공개와 공개 범위, 채널과 커넥터 연결, API 키, 아바타, Dream, 에이전트 보관과 삭제는 어떤 항목을 켜도 에이전트가 고치지 못합니다. Self Configuration 자체를 켜고 끄는 것과 항목을 고르는 것도 마찬가지입니다. 이 설정들은 에이전트 빌더에서 직접 바꾸세요. ### 바꾼 설정 되돌리기 [섹션 제목: “바꾼 설정 되돌리기”](#바꾼-설정-되돌리기) Self Configuration 설정의 **에이전트가 바꾼 설정**에 변경이 최근 순으로 보입니다. 어떤 항목이 어떤 값에서 어떤 값으로 바뀌었는지와 그 변경이 일어난 대화로 가는 링크가 함께 표시됩니다. **되돌리기**를 누르면 그 설정이 바뀌기 전 값으로 돌아갑니다. 프롬프트는 이전 리비전을 복원한 새 리비전이 생깁니다. 그 뒤에 같은 설정을 다시 고쳤다면 되돌리지 않고 그 사실을 알립니다. ## Dream 이 자는 시간 [섹션 제목: “Dream 이 자는 시간”](#dream-이-자는-시간) Dream 설정에는 하루 24시간을 한 바퀴로 그린 둥근 시계가 있습니다. 취침 손잡이와 기상 손잡이 두 개로 Dream 이 자는 시간을 정합니다. 1. 트레이트 섹션에서 **Dream**을 켭니다. 정리 루틴이 만들어지고, 처음 시간은 매일 04:00 취침, 07:00 기상입니다. 2. 시계의 두 손잡이를 끌어 취침 시각과 기상 시각을 옮깁니다. 5분 단위로 움직입니다. 두 손잡이 사이의 호를 끌면 길이는 그대로 두고 둘을 함께 옮깁니다. 키보드로는 손잡이에 초점을 두고 좌우 화살표로 5분씩, Page Up·Page Down 으로 1시간씩 옮깁니다. 3. 시계 아래 요일에서 Dream 이 돌 날을 고릅니다. 하루 이상 골라야 합니다. 4. **시간 저장**을 누릅니다. 정리는 취침 시각에 시작합니다. 기상 시각은 정리를 시작할 수 있는 마지막 시각입니다. 늦게 발동했거나 실패 뒤 다시 시도하려던 정리는 기상 시각이 지나면 그날은 쉬고 다음으로 정한 날의 취침 시각을 기다립니다. 이미 시작한 정리는 기상 시각이 지나도 끝까지 갑니다. 지난 정리 뒤로 바뀐 기억도 새 대화도 없는 날은 정리를 건너뜁니다. 실행이 만들어지지 않으니 사용량도 없고, 루틴의 실패로도 세지 않습니다. 시계는 루틴의 시간대를 따릅니다. 브라우저의 시간대와 다르면 시계 아래에 어느 시간대 기준인지 표시됩니다. [루틴](/ko/docs/automate/routines/) 상세에서 일정을 직접 고쳤다면 그 일정대로 계속 돕니다. 매달 1일처럼 시계로 그릴 수 없는 일정이면 시계에 그 안내가 보이고, 시계에서 **시간 저장**을 누르면 일정이 시계의 시간으로 바뀝니다. 정리를 마칠 때마다 무엇을 합치고 고치고 보관했는지 적은 리포트가 [아웃풋](/ko/docs/capabilities/outputs/)의 `/reports/memory/` 아래에 파일로 남습니다. Dream 설정의 최근 정리 리포트 링크로도 열 수 있습니다. 성장형으로 기억을 정리하던 에이전트 예전에 성장형이 하던 주기적인 정리는 Dream 으로 옮겨 갑니다. 연결돼 있던 정리 루틴을 Dream 이 이어 쓰므로 따로 할 일은 없고, 루틴의 일정과 기록도 그대로 남습니다. 그 루틴이 실패를 거듭해 멈춰 있었다면 Dream 설정에 경고와 **다시 시작** 버튼이 보입니다. ## 한계 [섹션 제목: “한계”](#한계) * 트레이트는 에이전트별입니다. * 성격 트레이트가 성격을 만들지는 않습니다. 프로필에 이미 있는 성격을 실어 나를 뿐입니다. 성격 자체는 [정체성](/ko/docs/build/identity/)에서 바꾸세요. * Dream 은 평범한 루틴으로 돌고 같은 규칙을 따릅니다. 지켜보는 사람이 없는 실행이라 아무것도 묻지 못하고, 정리 실행은 다른 루틴 실행처럼 [사용량](/ko/docs/account/usage/)에 잡힙니다. * Dream 이 동작하려면 메모리 [내장 툴](/ko/docs/capabilities/built-in-tools/)이 켜져 있어야 합니다. * 성장형이 만드는 스킬은 지침 스킬뿐입니다. 외부 서비스를 부르는 스킬은 만들지 않습니다. * 성장형은 한 번 답할 때 스킬을 두 개까지만 저장합니다. 배운 스킬은 계정 스킬이라 다른 에이전트에 붙이면 그 에이전트에도 적용됩니다. * 파일 색인은 에이전트가 만든 [아웃풋](/ko/docs/capabilities/outputs/)만 다룹니다. 대화에 첨부한 파일과 디바이스의 파일은 들어가지 않습니다. * 고정한 기억은 Dream 이 고치거나 보관하지 않습니다. 요약과 검색어만 답니다. * Dream 이 보관한 기억은 저절로 지워지지 않습니다. 필요 없으면 [메모리](/ko/docs/capabilities/memory/#%EB%B3%B4%EA%B4%80)에서 직접 지우세요. * 시계는 요일 단위로만 정합니다. 그 밖의 일정은 루틴 상세에서 직접 고쳐야 합니다. * Self Configuration 은 요청받은 변경만 제안합니다. 에이전트가 스스로 판단해 설정을 바꾸지 않습니다. * Self Configuration 의 변경은 매번 카드에서 승인해야 합니다. 승인 없이 저장하는 방법은 없습니다. * 한 카드에 담기는 변경은 네 항목까지입니다. 여러 항목을 함께 승인하면 일부만 저장될 수 있고, 에이전트가 항목별 결과를 알려 줍니다. * 프롬프트 변경이 길면 카드에는 일부만 보이고, 카드가 그 사실을 알려 줍니다. 전체는 적용한 뒤 프롬프트 섹션의 리비전에서 볼 수 있습니다. 먼저 전부 읽고 싶으면 에이전트에게 더 작게 바꿔 달라고 하세요.- 프롬프트가 없던 에이전트에 에이전트가 첫 프롬프트를 쓴 경우는 되돌리기로 지울 수 없습니다. 프롬프트 섹션에서 직접 고치세요. * 변경은 에이전트의 다음 [실행](/ko/docs/work/runs/)부터 적용됩니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [정체성과 프로필](/ko/docs/build/identity/)성격 트레이트가 실어 나르는 성격을 정하는 곳. [메모리](/ko/docs/capabilities/memory/)성장형이 적고 Dream 이 정리하는 기억. 보관과 색인도 여기에. [스킬](/ko/docs/capabilities/skills/)성장형이 저장하는 지침 스킬. 에이전트에 붙이고 빼는 곳. [루틴](/ko/docs/automate/routines/)Dream 이 도는 방식. 일정, 기록, 실패했을 때. [시스템 프롬프트와 리비전](/ko/docs/build/system-prompt/)Self Configuration 이 고친 프롬프트가 리비전으로 남는 곳. [컨텍스트 창](/ko/docs/work/context-window/)트레이트도 매 스텝 모델이 읽는 내용의 일부입니다. # 워크스페이스 > 에이전트가 endue Computer 위에 갖는 자기 폴더. 파일을 두고 프로그램을 실행하며, 그 도구는 호출마다 승인을 묻지 않습니다. **워크스페이스**는 에이전트가 자기 [endue Computer](/ko/docs/build/devices/) 위에 갖는 파일 영역입니다. 읽고 쓸 수 있는 폴더이고, 에이전트는 그곳에서 프로그램을 실행합니다. 코드를 받아오고, 데이터로 보고서를 만들고, 대화 사이에 작업 디렉토리를 유지하는 것처럼 무언가를 둘 자리가 필요한 일을 에이전트가 해내는 방식입니다. ## 어디에 있는가 [섹션 제목: “어디에 있는가”](#어디에-있는가) 워크스페이스는 에이전트의 endue Computer 위에 있으므로, 그 기기가 있는 곳에 있습니다. * **endue 클라우드**: 따로 정하지 않았다면 여기입니다. 미리 만들지 않습니다. 컴퓨터가 필요한 일을 시키면 에이전트가 준비하고, 그 과정을 대화에서 알려 줍니다. 처음 한 번은 준비에 잠깐 걸리고, 그다음부터는 같은 워크스페이스가 다음 대화에도 그대로 있습니다. * **내 서버**: 이 에이전트에 [내 서버를 연결](/ko/docs/build/own-server/)했다면 그 서버의 `/var/lib/endue-computer//workspace` 폴더입니다. 채팅이 준비 과정을 별도 단계로 보여 주므로, 첫 실행이 느린 이유를 알 수 있습니다. ## 에이전트가 그 안에서 할 수 있는 일 [섹션 제목: “에이전트가 그 안에서 할 수 있는 일”](#에이전트가-그-안에서-할-수-있는-일) 파일을 읽고, 찾고, 쓰고, 고치고, 옮기고, 복사합니다. 프로그램을 실행하고 출력을 읽고, 백그라운드로 계속 돌려 둡니다. 워크스페이스 도구는 호출마다 묻지 않습니다 에이전트의 endue Computer 에서 파일을 쓰고 프로그램을 실행하는 일은 [승인](/ko/docs/work/approvals/)을 위해 멈추지 않습니다. 경계는 기기 자체입니다. endue 클라우드에서는 이 에이전트의 기기이고, 내 서버에서는 endue Computer 를 설치할 때 정한 제한입니다. 다른 행동은 여전히 먼저 묻습니다. endue for Chrome 에서 클릭·입력·제출하는 일, 그리고 발송하거나 지우는 커넥터 작업입니다. ## 안을 들여다보기 [섹션 제목: “안을 들여다보기”](#안을-들여다보기) [에이전트 빌더](/ko/docs/build/agent-builder/)의 인벤토리 아래 **워크스페이스** 섹션이 안에 무엇이 있는지 보여 줍니다. 파일 트리, 파일 내용, 그리고 지금 돌고 있는 프로세스입니다. 이 화면은 읽기 전용입니다. 파일을 바꾸려면 에이전트에게 부탁하세요. 화면은 스스로 새로고침하지 않습니다. 파일을 바꾸는 것이 사용자가 아니라 에이전트라서, 언제 바뀌는지 화면이 알 수 없기 때문입니다. 현재 상태가 필요하면 새로고침하세요. endue Computer 자체의 상태와 도는 곳은 여기가 아니라 같은 에이전트 빌더의 **리소스 › 디바이스**에 있습니다. ## 한계 [섹션 제목: “한계”](#한계) * 에이전트당 워크스페이스 하나이고, 그 에이전트의 endue Computer 한 대 위에 있습니다. * endue 클라우드에서는 파일이 그 기기가 있는 동안만 남습니다. 기기를 삭제하거나 내 서버로 바꾸면 함께 지워집니다. 남겨야 할 결과는 [아웃풋](/ko/docs/capabilities/outputs/)으로 두세요. * endue Computer 가 대기 중이면 화면이 그렇게 알려 주고, 에이전트가 다음에 일할 때 켜집니다. 내 서버가 꺼져 있을 때도 알려 줍니다. 파일을 보려면 서버에서 endue Computer 를 켜세요. * 화면은 목록과 읽기만 합니다. 업로드·편집·삭제는 하지 않습니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [디바이스](/ko/docs/build/devices/)endue Computer 를 비롯해 에이전트가 일하는 디바이스. [내 서버·VM 연결하기](/ko/docs/build/own-server/)내가 관리하는 Linux 기기에 워크스페이스를 두기. [아웃풋](/ko/docs/capabilities/outputs/)남길 만해진 결과물이 가야 할 곳. # 내장 툴 > 설정 없이 모든 에이전트가 할 수 있는 일, 그리고 그중 에이전트별로 끌 수 있는 것들. **내장 툴**는 아무것도 연결하기 전에 에이전트가 이미 가진 능력입니다. 그룹으로 묶여 있고, 각 그룹은 에이전트별로 끌 수 있습니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 이것들을 *켤* 일은 거의 없습니다. 기본으로 켜져 있으니까요. 에이전트를 좁히려고 *끕니다*. 붙여넣은 것만 요약하면 되는 에이전트에게 웹 페이지를 가져오는 능력은 필요 없고, 아무것도 예약하지 말아야 할 에이전트에게 루틴 도구는 필요 없습니다. ## 그룹 [섹션 제목: “그룹”](#그룹) | 그룹 | 에이전트가 할 수 있는 일 | | ---------- | --------------------------------------------------------------------------- | | **아웃풋** | [아웃풋](/ko/docs/capabilities/outputs/) 저장·목록·읽기·수정·삭제 | | **루틴** | 대화 안에서 [루틴](/ko/docs/automate/routines/) 생성·관리 | | **메모리** | 기억·회상·갱신·망각 — [메모리](/ko/docs/capabilities/memory/) 참고 | | **프로젝트** | 대화가 속한 [프로젝트](/ko/docs/capabilities/projects/) 읽기·갱신 | | **스킬 도구** | 설치된 [스킬](/ko/docs/capabilities/skills/) 훑어보기, 쓰기, 새로 작성하기 | | **시각화** | 대화 안에 차트나 위젯 그리기 | | **웹 가져오기** | URL 의 내용 읽기 | | **유틸리티** | 정확한 계산과 현재 시각 | | **디바이스** | 작업에 필요할 때 endue Computer 나 endue for Chrome 준비 — [디바이스](/ko/docs/build/devices/) 참고 | **메모리**를 끄면 대화가 시작될 때 에이전트의 메모리 색인을 싣는 것도 멈춥니다. 그룹은 도구 몇 개가 아니라 그 능력 전체입니다. [![내장 툴 섹션 — 그룹마다 스위치와 포함된 도구 수가 붙은 카드로 놓이고, 끄면 도구 제거 이상의 일이 일어나는 그룹에는 경고가 함께 있다.](/ko/docs/_astro/studio-tools.Ki_C97an_1YyuPx.webp)](/ko/docs/_astro/studio-tools.Ki_C97an.png) [원본 크기로 보기](/ko/docs/_astro/studio-tools.Ki_C97an.png) ## 항상 켜져 있는 것 [섹션 제목: “항상 켜져 있는 것”](#항상-켜져-있는-것) 몇몇 도구는 대화 자체를 위한 기반이라 끌 수 없습니다. * 사용자에게 [질문](/ko/docs/work/questions/)하기 — 선택지 또는 자유 입력. * 받지 않은 [스킬](/ko/docs/capabilities/skills/#%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8%EA%B0%80-%EC%8A%A4%ED%82%AC%EC%9D%84-%EC%9A%94%EC%B2%AD%ED%95%A0-%EB%95%8C) 요청하기. 아무것도 묻지 못하는 에이전트는 대신 추측하게 되는데, 그것은 모든 경우에 더 나쁩니다. 도구를 끄는 것은 튜닝 기법입니다 알려진 도구 하나하나가 매 단계에서 모델이 저울질할 대상입니다. 이 에이전트가 쓸 일 없는 그룹을 빼면 선택이 눈에 띄게 날카로워집니다. [다듬기 목록](/ko/docs/build/iterating/#%EB%AC%B4%EC%97%87%EC%9D%84-%EC%96%B4%EB%96%A4-%EC%88%9C%EC%84%9C%EB%A1%9C-%EB%B0%94%EA%BF%80-%EA%B2%83%EC%9D%B8%EA%B0%80) 에서도 값싼 편에 속하는 처방입니다. ## 한계 [섹션 제목: “한계”](#한계) * 내장 툴는 에이전트별입니다. 한 에이전트에서 그룹을 꺼도 다른 에이전트에는 영향이 없습니다. * 그룹을 끄면 그 에이전트의 다음 [실행](/ko/docs/work/runs/)부터 적용됩니다. * 내장 툴는 사용자의 계정에 닿지 않습니다. Gmail · Slack · Notion 같은 서비스를 건드리는 것은 여기가 아니라 [커넥터](/ko/docs/connect/overview/)에서 옵니다. * 웹 가져오기는 공개적으로 접근 가능한 페이지를 읽습니다. 브라우저가 아니며 어디에도 로그인하지 않습니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [스킬](/ko/docs/capabilities/skills/)켜져서 나오는 것이 아니라 사용자가 더하는 능력. [커넥터 개요](/ko/docs/connect/overview/)실제 계정에 닿는 도구. [시험하고 다듬기](/ko/docs/build/iterating/)에이전트의 도구를 좁히는 일이 튜닝에서 차지하는 자리. # 메모리 > 에이전트가 대화 사이에 간직하는 것, 무엇을 남길지 정하는 방식, 그리고 저장된 것을 확인·수정·삭제하는 법. **메모리**는 에이전트가 [대화](/ko/docs/work/conversations/) 사이로 들고 다니는 것입니다. 사용자에 대한 사실, 선호, 일을 어떻게 처리하기를 원하는지 같은 것들이죠. 의도적으로 저장되고, 모든 항목을 읽어볼 수 있습니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 메모리는 되풀이해 말하지 않아도 될, 오래 가는 사실을 위한 것입니다. 어느 시간대에서 일하는지, 팀이 누구인지, 숫자를 반올림해 달라는 것, “그 보고서” 가 특정 폴더의 그것을 뜻한다는 것 같은 것들입니다. 서류함이 아닙니다. 내용물은 [아웃풋](/ko/docs/capabilities/outputs/)에, 특정 업무의 배경은 [프로젝트](/ko/docs/capabilities/projects/)에 둡니다. ## 에이전트가 쓰는 방식 [섹션 제목: “에이전트가 쓰는 방식”](#에이전트가-쓰는-방식) 무엇을 남길 만한지는 에이전트가 판단해 적어둡니다. 사용자가 정정해 주거나 선호를 말한 뒤에 적는 경우가 많습니다. 대화가 시작될 때는 아는 것의 색인을 싣고, 저장한 것 전부가 아니라 지금 작업에 관련된 항목만 끌어옵니다. 그냥 말해도 됩니다. *“금요일에는 회의를 안 잡는다는 걸 기억해줘”* 는 평범한 지시이고, 에이전트는 그것을 저장합니다. ## 확인하고 바로잡기 [섹션 제목: “확인하고 바로잡기”](#확인하고-바로잡기) 메모리는 [에이전트 빌더](/ko/docs/build/agent-builder/)의 정체성 섹션에 나열됩니다. 모든 항목을 읽을 수 있고, 남으면 안 될 것은 지울 수 있습니다. 가끔은 꼭 확인하세요. 에이전트는 추론한 것도 적어둡니다. 한 번 조급하게 답한 것을 보고 *“짧은 답을 선호함”* 이라고 사실처럼 적어두면, 그것이 몇 주 동안 조용히 답을 좌우합니다. 메모리는 에이전트별입니다 에이전트마다 따로 기억합니다. 한 에이전트에게 선호를 가르쳤다고 다른 에이전트가 알게 되지 않습니다. 모든 에이전트가 알아야 할 것은 각 에이전트의 [시스템 프롬프트](/ko/docs/build/system-prompt/) 에 두는 편이 낫습니다. [![약속·지식·로그로 묶인 메모리 섹션 — 나중에 확인할 환불 건, 청구 담당이 누구인지에 대한 사실, 주간 요약을 언제 보내는지에 대한 규칙, 그리고 접혀 있는 지난 기록 하나.](/ko/docs/_astro/studio-memory.DjljMvl7_Z1D2gAT.webp)](/ko/docs/_astro/studio-memory.DjljMvl7.png) [원본 크기로 보기](/ko/docs/_astro/studio-memory.DjljMvl7.png) ## 보관 [섹션 제목: “보관”](#보관) [Dream](/ko/docs/build/traits/#dream-%EC%9D%B4-%EC%9E%90%EB%8A%94-%EC%8B%9C%EA%B0%84) 트레이트를 켜 두면 에이전트가 쉬는 시간에 기억을 정리합니다. 이때 더는 쓸모없는 기억과 다른 기억에 합쳐진 기억은 삭제하지 않고 보관합니다. 보관된 기억은 대화에 실리지 않고, 에이전트가 기억을 찾을 때도 걸리지 않습니다. 보관된 기억은 메모리 목록 맨 아래 **보관됨** 그룹에 모입니다. 그룹은 접혀 있고, 펼치면 기억마다 보관한 날짜와 **되돌리기**, 삭제가 있습니다. **되돌리기**를 누르면 그 기억이 다음 대화부터 다시 쓰입니다. 다시 볼 일이 없는 기억은 여기서 지우면 됩니다. 대화 중에 지워 달라고 한 기억은 보관되지 않고 바로 지워집니다. 보관은 Dream 의 정리에서만 일어납니다. ## 색인 [섹션 제목: “색인”](#색인) Dream 은 정리를 마칠 때 기억마다 한 줄 요약과 검색어 몇 개를 답니다. * **요약**은 대화가 시작될 때 에이전트가 싣는 메모리 색인에 들어갑니다. 요약이 없으면 본문 앞부분이 잘려 들어가므로, 긴 기억일수록 요약 덕에 요점이 남습니다. * **검색어**는 에이전트가 기억을 찾을 때 본문과 함께 맞춰 봅니다. 기억에는 “리포트” 라고 적혀 있어도 “보고서” 로 찾을 수 있습니다. 기억을 열면 **Dream 요약**과 검색어가 보입니다. 직접 고칠 수는 없습니다. 기억 내용이 바뀌면 요약은 낡은 것으로 표시되고, 다음 Dream 이 다시 답니다. 그때까지 메모리 색인에는 본문 앞부분이 들어갑니다. Dream 을 켜지 않은 에이전트의 기억에는 요약도 검색어도 없습니다. ## 끄기 [섹션 제목: “끄기”](#끄기) 메모리는 [내장 툴 그룹](/ko/docs/capabilities/built-in-tools/) 중 하나입니다. 에이전트에서 끄면 저장과 회상이 멈추고, 대화가 시작될 때 메모리 색인을 싣는 것도 멈춥니다. 기존 항목은 남고, 에이전트가 그것을 쓰지 않게 됩니다. 다른 사람의 데이터를 다루는 에이전트, 또는 상태 없이 예측 가능하게 두고 싶은 에이전트에 맞는 설정입니다. ## 한계 [섹션 제목: “한계”](#한계) * 메모리는 계정별이 아니라 에이전트별입니다. * 무엇을 저장할지는 에이전트가 정합니다. 메모리 목록을 미리 써넣을 수는 없지만, 무엇을 기억하라고 말할 수 있고 잘못 적은 것은 지울 수 있습니다. * 항목을 지우면 이후 실행에서 회상되지 않습니다. 이미 그것을 쓴 대화가 고쳐지지는 않습니다. * 보관된 기억은 저절로 지워지지 않습니다. 쌓이면 **보관됨** 그룹에서 직접 지우세요. * 검색어는 Dream 이 정리할 때 고릅니다. 검색어에도 본문에도 없는 표현으로는 기억을 찾지 못할 수 있습니다. * 메모리는 검색 가능한 콘텐츠 저장소가 아닙니다. 큰 문서는 아웃풋에 두세요. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [프로젝트](/ko/docs/capabilities/projects/)에이전트가 아니라 하나의 업무를 위한 공유 맥락. [시스템 프롬프트](/ko/docs/build/system-prompt/)잊히거나 추측돼서는 안 되는 상시 규칙. [내장 툴](/ko/docs/capabilities/built-in-tools/)메모리를 켜고 끄는 곳. [트레이트](/ko/docs/build/traits/)대화에서 기억을 적는 성장형, 쉬는 시간에 정리하는 Dream. # 아웃풋 > 에이전트가 만든 문서 · 보고서 · 파일 · 앱은 어디에 모이고, 어떻게 읽고 내보내며, 링크 공유는 어떻게 동작하는가. **아웃풋**은 에이전트가 만든 것 중 남겨둘 만한 것입니다. 보고서, 문서, 데이터셋, 다이어그램, 작은 앱 같은 것들이죠. 대화 기록 속에 묻히는 대신 자기 페이지를 갖습니다. 아웃풋은 두 종류입니다. * **파일** — 한 파일로 끝나는 결과물입니다. 목록에서는 문서 · 표 · 페이지 · 이미지로 표시됩니다. * **앱** — 서로를 참조하는 여러 파일이 한 벌인 결과물입니다. 문서가 아니라 동작하는 화면으로 열립니다. 두 종류 모두 왼쪽 레일의 **Outputs** 한 목록에 수정 시각 순으로 모입니다. 무엇인지 기억하지 않아도 이름으로 검색하면 찾아집니다. ## 언제 생기는가 [섹션 제목: “언제 생기는가”](#언제-생기는가) 에이전트가 판단합니다. *“조사 결과를 정리해줘”*, *“주간 요약을 만들어줘”* 처럼 분량이 있는 것을 요청하면 결과를 아웃풋으로 저장하고 대화에 링크합니다. *“그거 저장해줘”* 처럼 직접 시켜도 됩니다. 결과가 여러 파일이면(페이지와 스타일, 스크립트 같은) 에이전트는 그것을 앱 하나로 저장합니다. 짧은 답은 대화에 남습니다. 그게 맞는 기본값입니다. 아웃풋은 다시 찾아올 결과물을 위한 것입니다. ## 다루기 [섹션 제목: “다루기”](#다루기) **대화 안에서는** 실을 떠나지 않고 열어볼 수 있는 카드로 나타납니다. 오른쪽 레일의 **이 대화의 아웃풋**에는 그 대화가 만든 파일과 앱이 함께 모입니다. **자기 페이지에서는** 전체 내용, 지원되는 형식의 미리보기, 그리고 내보내기를 제공합니다. 에이전트는 나중에 자기 아웃풋을 다시 읽을 수 있습니다. 한 대화에서 초안을 쓰고 다음 대화에서 고치는 식의 이어지는 작업이 가능한 이유입니다. **에이전트의 인벤토리에는** 그 에이전트가 만든 앱과 파일이 나열됩니다. 자주 돌아가는 파일은 고정해 두면 목록 위에 남습니다. ## 파일을 앱으로 묶기 [섹션 제목: “파일을 앱으로 묶기”](#파일을-앱으로-묶기) 에이전트가 함께 동작하는 파일 여러 개를 따로 저장했다면(페이지, 작은 도구, 대시보드 같은 것) 그것들을 **앱** 하나로 묶을 수 있습니다. 앱은 자기 페이지를 갖고, 동작하는 화면으로 열리며, 파일과 똑같이 링크로 공유됩니다. 묶기는 **이동**입니다. 파일들이 앱의 첫 버전이 되고 원래 항목은 사라집니다. 진실이 한 벌만 남아 같은 결과물이 목록에 두 번 나오지 않습니다. 원본은 앱이 저장된 **뒤에만** 지워지므로, 저장이 실패하면 아무것도 잃지 않습니다. 앱은 두 가지 모드로 열립니다. * **뷰어** — 결과물만, 둘레에 아무것도 없이. 링크를 받은 사람이 보는 화면입니다. * **캔버스** — 대화 옆에 앱을 띄웁니다. 고쳐달라고 말하고 반영되는 것을 바로 볼 수 있습니다. ## 링크로 공유하기 [섹션 제목: “링크로 공유하기”](#링크로-공유하기) 아웃풋은 기본적으로 **사용자만 볼 수 있습니다**. 링크 공유를 켜면 그 아웃풋 하나를 여는 URL 이 만들어집니다. 링크가 주는 것과 주지 않는 것입니다. | 주는 것 | 주지 않는 것 | | --------------- | --------------- | | 이 아웃풋에 대한 읽기 권한 | 다른 아웃풋에 대한 접근 | | 그 밖에는 없음 | 그것이 나온 대화 | | | 에이전트, 그 메모리, 계정 | 링크를 가진 사람은 누구나 열 수 있으니 공개된 것으로 취급하세요. 공유를 끄면 링크가 동작을 멈춥니다. 공유되지 않은 아웃풋은 누가 URL 을 맞혔든 아예 찾아지지 않습니다. 예전에 받은 `/artifacts/…` · `/apps/…` 링크도 그대로 열립니다. 주소가 `/outputs/…` 로 바뀌어 같은 화면이 뜹니다. 공유 전에 내용을 확인하세요 메일이나 문서를 바탕으로 쓴 아웃풋은 그것들을 인용하고 있을 수 있습니다. 링크를 켜기 전에 읽어보세요. ## 한계 [섹션 제목: “한계”](#한계) * 파일을 같은 경로에 다시 저장하면 내용이 교체됩니다. 교체되기 전 상태는 파일 페이지의 버전 기록에서 되돌릴 수 있습니다. * 앱에는 고정이 없습니다. 고정은 파일에만 됩니다. * 아웃풋은 그것을 만든 에이전트와 사용자의 것입니다. 다른 에이전트는 사용자가 가리켜 주지 않는 한 읽지 않습니다. * 링크 공유는 읽기 전용이고 아웃풋당 링크 하나입니다. 사람별 접근 설정은 없습니다. * 에이전트를 삭제해도 그 아웃풋은 삭제되지 않습니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [프로젝트](/ko/docs/capabilities/projects/)아웃풋이 속한 업무를 묶기. [루틴](/ko/docs/automate/routines/)결과가 대개 아웃풋으로 남는 예약 작업. [보안과 권한](/ko/docs/account/security/)무엇이 비공개이고, 무엇이 공유되고, 에이전트가 무엇에 닿는지. # 프로젝트 > 하나의 업무를 중심으로 대화를 묶고, 에이전트가 실행마다 읽는 상시 맥락을 줍니다. **프로젝트**는 같은 업무에 속하는 [대화](/ko/docs/work/conversations/)를 묶고, 그 안의 모든 대화가 읽을 수 있는 맥락을 함께 담습니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 실마다 같은 배경을 다시 설명하고 있다는 것을 깨달았을 때 씁니다. 그 고객, 그 코드베이스, 그 출시, 그 분기 같은 것들이죠. 프로젝트가 그 배경을 한 번만 갖습니다. | 두는 곳 | 언제 | | --------------------------------- | --------------------- | | [시스템 프롬프트](/ko/docs/build/system-prompt/) | 에이전트가 하는 모든 일에 참인 것 | | 프로젝트 | 이 업무에 참인 것 | | [메모리](/ko/docs/capabilities/memory/) | 모든 업무를 통틀어 나에 대해 참인 것 | | 메시지 | 이번 작업 하나에만 참인 것 | ## 프로젝트가 에이전트에게 주는 것 [섹션 제목: “프로젝트가 에이전트에게 주는 것”](#프로젝트가-에이전트에게-주는-것) 프로젝트 안의 대화는 그 프로젝트의 맥락을 쓸 수 있는 상태로 시작합니다. 에이전트는 프로젝트의 현재 상태를 읽고 일이 진행되는 대로 갱신할 수도 있습니다. 사용자가 옮겨 적지 않아도 에이전트가 유지하는 현황이 최신으로 남는 것이죠. 그래서 프로젝트는 공유 작업 기록으로도 쓸모가 있습니다. 이 일이 무엇이고, 어디까지 왔고, 무엇이 정해졌는지 말입니다. ## 프로젝트 안에서 일하기 [섹션 제목: “프로젝트 안에서 일하기”](#프로젝트-안에서-일하기) 프로젝트를 열고 거기서 대화를 시작하면 그 대화는 프로젝트에 속합니다. 프로젝트 페이지가 자기 대화 목록을 보여주므로, 하던 일로 돌아가려고 전체 최근 목록을 뒤질 필요가 없습니다. 프로젝트는 권한 경계가 아닙니다 대화를 프로젝트에 넣는 것은 에이전트가 *읽는* 것을 바꾸지 *닿을 수 있는* 것을 바꾸지 않습니다. 접근 권한은 여전히 에이전트에 바인딩된 [연결과 스킬](/ko/docs/connect/overview/)에서 옵니다. ## 한계 [섹션 제목: “한계”](#한계) * 대화는 프로젝트 하나에 속합니다. * 프로젝트 맥락은 그 프로젝트 안의 대화에서 쓸 수 있습니다. 에이전트의 다른 실과 공유되지 않습니다. * 프로젝트는 일을 묶습니다. 접근 권한을 주지도 않고, 문서를 보관하는 곳도 아닙니다. 산출물은 [아웃풋](/ko/docs/capabilities/outputs/)에 둡니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [대화](/ko/docs/work/conversations/)프로젝트가 묶는 실들. [아웃풋](/ko/docs/capabilities/outputs/)프로젝트 작업의 산출물이 쌓이는 곳. [메모리](/ko/docs/capabilities/memory/)업무가 아니라 사용자를 따라다니는 맥락. # 스킬 > 반복되는 일을 한 번 포장해 에이전트에 바인딩하고, 갖지 않은 스킬을 에이전트가 직접 요청하게 합니다. **스킬**은 반복되는 일 — 절차, 체크리스트, 단계 묶음 — 을 포장한 것입니다. 매번 다시 설명하지 않아도 되게 해줍니다. 에이전트에 바인딩하면 그 에이전트가 할 수 있는 일의 일부가 됩니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) *방법*이 안정돼 있고 재사용할 값어치가 있을 때 씁니다. 구조가 고정된 주간 보고, 규칙이 있는 분류 절차, 매번 같은 방식으로 따르게 하고 싶은 조사 방법 같은 것들입니다. | 두는 곳 | 언제 | | --------------------------------- | ------------------------ | | [시스템 프롬프트](/ko/docs/build/system-prompt/) | 에이전트가 하는 모든 일에 적용될 때 | | 스킬 | 단계가 있는 특정 작업 하나이고 가끔 쓸 때 | | [루틴](/ko/docs/automate/routines/) | 그 일이 일정에 따라서도 일어나야 할 때 | ## 스킬은 어디서 오는가 [섹션 제목: “스킬은 어디서 오는가”](#스킬은-어디서-오는가) 좌측 사이드바에서 여는 **리소스 › 스킬**에 탭이 셋 있습니다. | 탭 | 담는 것 | | --------- | -------------------------------------------------------------------------------- | | **디스커버리** | 내 계정에 추가할 수 있는 endue 카탈로그의 스킬 | | **내 스킬** | 내 계정의 스킬. 추가한 것, 내가 또는 에이전트가 만든 것, 가져온 서드파티 스킬 | | **서드파티** | 스킬을 가져오는 공개 GitHub·GitLab 레포. [서드파티 스킬](/ko/docs/capabilities/third-party-skills/)을 보세요. | ## 바인딩 [섹션 제목: “바인딩”](#바인딩) 스킬은 [연결](/ko/docs/connect/overview/)과 마찬가지로 특정 에이전트에 바인딩됩니다. 스킬을 설치하거나 만들었다고 모든 에이전트에 주어지지 않습니다. 어느 에이전트가 가질지는 사용자가 정합니다. 바인딩이 에이전트를 예측 가능하게 만듭니다. 스킬 스무 개를 받은 에이전트는 그중 무엇을 고를지에 판단력을 씁니다. 셋을 가진 에이전트는 그것들을 잘 씁니다. ## 에이전트가 스킬을 요청할 때 [섹션 제목: “에이전트가 스킬을 요청할 때”](#에이전트가-스킬을-요청할-때) 받지 않은 스킬이 도움이 될 상황에서 에이전트는 실패하는 대신 그것을 **요청**할 수 있습니다. [실행](/ko/docs/work/runs/)이 멈추고, 무엇을 왜 원하는지 대화에 나타납니다. 주면 스킬이 바인딩되고 실행이 그것을 쓸 수 있는 상태로 이어집니다. 거절하면 에이전트는 그것 없이 계속합니다. 대개는 먼 길로 돌아가 일을 해냅니다. 허용은 실제 바인딩입니다 요청을 승인하면 그때부터 스킬이 그 에이전트에 바인딩됩니다. 이번 실행에만 적용되는 것이 아닙니다. 한 번뿐인 일이었다면 나중에 [에이전트 빌더](/ko/docs/build/agent-builder/)에서 바인딩을 푸세요. ## 스킬 찾기와 만들기 [섹션 제목: “스킬 찾기와 만들기”](#스킬-찾기와-만들기) 에이전트는 자기가 쓸 수 있는 스킬을 훑어보고 지금 작업에 맞는 것을 스스로 고를 수 있습니다. 사용자가 이름을 대줄 필요가 없습니다. 방금 함께 한 작업을 바탕으로 새 스킬을 작성할 수도 있습니다. 절차를 한 번 안내해 준 뒤 그것을 남겨두고 싶을 때 쓸모 있습니다. 직접 만든 스킬은 공개하지 않는 한 계정 안에만 있습니다. ## 한계 [섹션 제목: “한계”](#한계) * 스킬은 접근 권한이 아닙니다. 메일을 읽는 스킬이라도 같은 에이전트에 메일 [연결](/ko/docs/connect/overview/)이 바인딩돼 있어야 합니다. * 스킬은 에이전트별로 바인딩됩니다. “모든 에이전트에 적용” 같은 계정 단위 설정은 없습니다. * 커넥터를 부르는 스킬 단계도 다른 행동과 똑같이 [승인](/ko/docs/work/approvals/) 관문의 적용을 받습니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [내장 툴](/ko/docs/capabilities/built-in-tools/)아무것도 바인딩하기 전에 모든 에이전트가 할 수 있는 일. [커넥터 개요](/ko/docs/connect/overview/)실제 서비스에 대한 접근을 에이전트에게 주기. [루틴](/ko/docs/automate/routines/)포장된 작업을 일정에 따라 돌리기. [서드파티 스킬](/ko/docs/capabilities/third-party-skills/)공개 레포에서 스킬 가져오기. # 서드파티 스킬 > 공개 GitHub·GitLab 레포의 스킬을 내 스킬로 가져오고, 레포가 바뀌면 반영하고, 가져오지 않은 파일을 확인합니다. **서드파티 스킬**은 공개 GitHub·GitLab 레포에서 가져온 [스킬](/ko/docs/capabilities/skills/)입니다. endue 가 레포의 `SKILL.md` 파일을 읽어 하나씩 **내 스킬**에 넣고, 내 계정 안에만 둡니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 원하는 절차가 이미 공개 레포에 `SKILL.md` 로 있을 때, 또는 팀이 스킬을 레포에 두고 거기서 고칠 때 씁니다. ## 레포 등록하기 [섹션 제목: “레포 등록하기”](#레포-등록하기) 1. **좌측 사이드바에서 리소스 › 스킬을 열고** **서드파티** 탭을 고릅니다. 2. **레포 주소를 넣습니다.** 예: `https://github.com/owner/repo` 폴더 하나만 가져오려면 폴더 주소(`…/tree/main/skills`)를 넣거나, **고급**을 열어 다음을 채웁니다. * **브랜치·태그**: 비우면 기본 브랜치를 가져옵니다. * **레포 안 경로**: 이 폴더 아래의 `SKILL.md` 만 가져옵니다. 비우면 레포 전체를 봅니다. 3. **가져오기를 누릅니다.** 결과에 가져온 스킬 수와, 가져오지 않은 파일이 이유와 함께 나옵니다. 4. **스킬을 에이전트에 바인딩합니다.** 다른 스킬처럼 그 에이전트의 [에이전트 빌더](/ko/docs/build/agent-builder/)에서 합니다. 가져왔다고 어느 에이전트에게도 주어지지 않습니다. 가져온 것을 읽어 보세요 서드파티 스킬은 다른 사람이 쓴 지시이고, 에이전트는 그것을 따릅니다. 바인딩하기 전에 읽어 보고, 다시 가져오기로 내용이 바뀌면 다시 확인하세요. ## 무엇을 가져오는가 [섹션 제목: “무엇을 가져오는가”](#무엇을-가져오는가) 경로 아래의 `SKILL.md` 하나가 스킬 하나가 됩니다. 파일 맨 위에 `name` 과 `description` 이 있는 frontmatter 가 있고, 그 아래에 지시가 옵니다. ```md --- name: weekly-report description: 이번 주에 닫힌 이슈로 주간 현황 보고를 쓴다. --- 1. 월요일 이후 닫힌 이슈를 나열한다. 2. 프로젝트별로 묶는다. ``` `SKILL.md` 의 본문만 가져옵니다. 스킬 폴더의 스크립트·참고 문서·그 밖의 파일은 가져오지 않습니다. 지시가 `SKILL.md` 옆의 스크립트를 실행하거나 파일을 읽으라고 하면, 에이전트는 그렇게 할 수 없습니다. 가져온 스킬은 **내 스킬**에 **서드파티** 배지와 **출처** 링크(원본 `SKILL.md`)를 달고 보입니다. 내 계정 안에만 있습니다. 다음과 같은 파일은 가져오지 않고 **가져오지 않은 파일**에 나옵니다. | 이유 | 고칠 것 | | ----------------------------------------------------- | ------------------------ | | `SKILL.md` 가 아님 (스크립트·참고 문서) | 없음. `SKILL.md` 만 가져옵니다. | | 심볼릭 링크 | 레포에 파일 자체를 둡니다 | | 256KB 초과 | 줄입니다 | | 레포의 스킬이 50개 초과 | 경로로 스킬이 적은 폴더만 가져옵니다 | | frontmatter 가 없거나 형식이 잘못됐거나 `name`·`description` 이 없음 | 맨 위 `---` 사이에 둘 다 적습니다 | | 본문이 비어 있음 | frontmatter 아래에 지시를 적습니다 | | UTF-8 텍스트가 아님 | UTF-8 로 저장합니다 | | 재배포할 수 없는 라이선스 | 없음. 가져올 수 없습니다. | ## 레포에서 다시 가져오기 [섹션 제목: “레포에서 다시 가져오기”](#레포에서-다시-가져오기) 레포의 **다시 가져오기**를 누릅니다. endue 가 레포의 최신 커밋을 지난번에 가져온 커밋과 비교합니다. * **바뀐 것이 없으면**: 아무 일도 일어나지 않고, 그렇게 알려 줍니다. * **`SKILL.md` 가 바뀌었으면**: 그 스킬에 새 버전이 생깁니다. 파일이 바뀌지 않은 스킬은 그대로입니다. * **`SKILL.md` 가 새로 생겼으면**: 새 스킬로 가져옵니다. * **`SKILL.md` 가 사라졌으면**: 그 스킬은 **보관됨**이 되고 내 스킬에서 빠집니다. 파일이 돌아오면 다음 다시 가져오기 때 되살아납니다. 다시 가져오기를 누를 때만 반영됩니다. endue 가 레포를 지켜보지는 않습니다. ## 레포 삭제하기 [섹션 제목: “레포 삭제하기”](#레포-삭제하기) **삭제**는 레포 등록과 거기서 가져온 스킬을 모두 지웁니다. 되돌릴 수 없습니다. 그 스킬 중 하나라도 에이전트에 바인딩돼 있으면 삭제되지 않고, 어느 스킬이 어느 에이전트에 붙어 있는지 보여 줍니다. 그 에이전트들의 [에이전트 빌더](/ko/docs/build/agent-builder/)에서 스킬을 먼저 뗀 뒤 다시 삭제하세요. ## 한계 [섹션 제목: “한계”](#한계) * github.com 과 gitlab.com 의 공개 레포만 됩니다. 비공개 레포와 다른 호스트는 지원하지 않습니다. 아이디·비밀번호·토큰·포트 번호가 들어간 주소는 받지 않습니다. * 계정당 레포 10개까지. * 레포당 스킬 50개, `SKILL.md` 하나당 256KB 까지. * 레포 내려받기는 압축 20MB 까지입니다. 큰 레포라면 스킬만 담은 작은 레포를 쓰세요. * `SKILL.md` 본문만 가져옵니다. 스크립트와 그 밖의 파일은 가져오지 않습니다. * 다시 가져오기를 누르기 전에는 레포가 바뀌어도 아무것도 바뀌지 않습니다. * GitHub·GitLab 이 요청을 잠시 막으면 그 내용으로 가져오기가 실패합니다. 몇 분 뒤 다시 시도하세요. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [스킬](/ko/docs/capabilities/skills/)스킬이 무엇이고 바인딩이 어떻게 동작하는지. [에이전트 빌더](/ko/docs/build/agent-builder/)스킬을 에이전트에 바인딩하는 곳. [보안과 권한](/ko/docs/account/security/)에이전트가 닿을 수 있는 것과 없는 것. # 연결 가능한 서비스 > 지금 Endue 가 연결하는 모든 서비스, 각각으로 에이전트가 할 수 있는 일, 그리고 승인 방식. Endue 는 **34개 서비스**에 연결합니다. 이 페이지가 그 카탈로그입니다. 각각이 에이전트에게 무엇을 허용하는지, 어떻게 승인하는지를 담았습니다. 기준은 앱입니다 커넥터는 거의 매주 늘어납니다. 앱 안의 카탈로그와 공개 [커넥터 목록](/ko/connectors)이 항상 최신이고, 이 페이지는 손으로 관리하는 사본이라 한 릴리스 정도 뒤처질 수 있습니다. [![앱 안의 커넥터 카탈로그 — 분류별로 묶인 카드마다 제공사, 그 커넥터로 할 수 있는 일, 승인을 요구하는 도구 수가 적혀 있다.](/ko/docs/_astro/connectors-catalog.B7sSQ2rH_FzGO9.webp)](/ko/docs/_astro/connectors-catalog.B7sSQ2rH.png) 같은 카탈로그를 \[endue.ai/connectors]\(/connectors) 에서 로그인 없이 볼 수 있다.[원본 크기로 보기](/ko/docs/_astro/connectors-catalog.B7sSQ2rH.png) ## 표 읽는 법 [섹션 제목: “표 읽는 법”](#표-읽는-법) **로그인**은 연결을 승인하는 방식입니다. | 방식 | 하는 일 | | ----------- | ---------------------------------- | | **OAuth** | 제공자에서 로그인하고 동의 화면에서 접근을 승인 | | **토큰** | 제공자 설정에서 만든 API 자격증명을 Endue 에 붙여넣기 | | **토큰 + 주소** | 위와 같되, 자체 설치 서비스의 주소를 함께 입력 | | **계정 + 주소** | 자체 설치 서비스에 사용자명과 애플리케이션 토큰으로 접속 | 서비스에 따라 항목을 하나 더 묻기도 합니다 — 지역, 이메일, 두 번째 키 같은 것들이죠. 연결할 때 폼이 무엇이 필요한지 알려줍니다. **승인**은 [승인](/ko/docs/work/approvals/)을 위해 멈추는 작업입니다. 바깥으로 무언가를 보내거나 데이터를 지우는 작업이죠. 읽기와 쓰기 작업은 사용자를 방해하지 않고 실행됩니다. ## 메일·일정 [섹션 제목: “메일·일정”](#메일일정) | 서비스 | 에이전트가 할 수 있는 일 | 로그인 | 승인 | | ---------------------------- | ------------------------- | ----- | -- | | **[Gmail](/ko/docs/connect/gmail/)** | 받은편지함 검색·읽기, 초안 작성, 메일 발송 | OAuth | 발송 | | **Google 캘린더** | 일정 조회·상세 확인·이벤트 생성 | OAuth | — | ## 문서·지식 [섹션 제목: “문서·지식”](#문서지식) | 서비스 | 에이전트가 할 수 있는 일 | 로그인 | 승인 | | ------------------------------ | --------------------------------------- | ----- | ----------- | | **Google 드라이브** | 파일 검색·읽기·생성·수정·삭제 | OAuth | 삭제 | | **Google 문서** | 문서 생성·읽기·편집·삭제 | OAuth | 삭제 | | **Google 스프레드시트** | 시트 조회·행 추가·수정·삭제 | OAuth | 삭제 | | **Google 슬라이드** | 프레젠테이션 생성·읽기·편집·삭제 | OAuth | 삭제 | | **Google 태스크** | 할 일 조회·생성·완료·삭제 | OAuth | 삭제 | | **Google 주소록** | 연락처 검색·조회·생성·수정·삭제 | OAuth | 삭제 | | **[Notion](/ko/docs/connect/notion/)** | 페이지·데이터베이스 검색, 내용 읽기, 페이지 생성·이어쓰기 | OAuth | — | | **Confluence** | 페이지 CQL 검색·본문 읽기·스페이스 목록, 페이지 생성·수정·코멘트 | OAuth | 생성, 수정, 코멘트 | 실제로 알아둘 점은 [Gmail](/ko/docs/connect/gmail/) 과 [Google Workspace](/ko/docs/connect/google-workspace/) 문서를 보세요. ## 커뮤니케이션 [섹션 제목: “커뮤니케이션”](#커뮤니케이션) | 서비스 | 에이전트가 할 수 있는 일 | 로그인 | 승인 | | ---------------------------- | ------------------------------- | ------- | ------ | | **[Slack](/ko/docs/connect/slack/)** | 채널 목록·대화 이력·스레드·검색 조회, 메시지 발송 | OAuth | 게시 | | **Mattermost** | 팀·채널·대화 이력·스레드·검색 조회, 채널 메시지 게시 | 토큰 + 주소 | 게시 | | **Telegram** | 봇 수신 메시지·채팅 조회, 메시지 발송 | 토큰 | 발송 | | **Discourse** | 포럼 검색·토픽 읽기·카테고리 조회, 토픽·답글 게시 | 토큰 + 주소 | 게시, 답글 | 이것들은 에이전트가 자기 일의 일부로 채팅 서비스를 *읽고 쓰게* 합니다. 반대 방향 — 사람들이 Slack · Discord · 카카오톡 · 네이버 톡톡 · WhatsApp *에서* 에이전트에게 말을 거는 것 — 은 [채널](/ko/docs/automate/channels/)을 보세요. ## 이슈·프로젝트 [섹션 제목: “이슈·프로젝트”](#이슈프로젝트) | 서비스 | 에이전트가 할 수 있는 일 | 로그인 | 승인 | | ---------- | ------------------------------------------- | ----- | -------------- | | **Jira** | 이슈 JQL 검색·상세 조회·프로젝트/전이 목록, 이슈 생성·코멘트·상태 전이 | OAuth | 생성, 코멘트, 상태 전이 | | **Linear** | 이슈 검색·조회, 이슈 생성·코멘트·수정 | OAuth | 생성, 코멘트, 수정 | ## 개발·배포 [섹션 제목: “개발·배포”](#개발배포) | 서비스 | 에이전트가 할 수 있는 일 | 로그인 | 승인 | | ---------------- | -------------------------------------- | ------- | --------- | | **GitLab** | 프로젝트·이슈·MR·파이프라인 조회, 이슈 생성·코멘트 | 토큰 + 주소 | 생성, 코멘트 | | **Jenkins** | 잡·빌드 상태·콘솔 로그 조회, 빌드 실행 | 계정 + 주소 | 빌드 실행 | | **Vercel** | 프로젝트·배포 상태·빌드 로그 조회, 재배포·프로덕션 프로모션 | 토큰 | 재배포, 프로모션 | | **Cloudflare** | 존·DNS·Workers·Pages 배포 조회, 캐시 퍼지 | 토큰 | 퍼지 | | **LaunchDarkly** | 프로젝트·환경·기능 플래그·감사 로그 조회, 플래그 On/Off 토글 | 토큰 | 토글 | ## 관측·인시던트 [섹션 제목: “관측·인시던트”](#관측인시던트) | 서비스 | 에이전트가 할 수 있는 일 | 로그인 | 승인 | | ----------------- | --------------------------------------- | ------- | ---------- | | **Datadog** | 모니터·로그·메트릭·이벤트 조회, 모니터 뮤트 | 토큰 | 뮤트 | | **Grafana** | 대시보드·데이터소스·알림 조회, 메트릭/로그 질의, 애노테이션·사일런스 | 토큰 + 주소 | 사일런스 | | **PagerDuty** | 인시던트·온콜·서비스 조회, 인시던트 확인·해결·노트 | 토큰 | 확인, 해결, 노트 | | **Elasticsearch** | 인덱스·매핑 조회, 문서 검색·집계 | 토큰 + 주소 | — | Elasticsearch 는 설계상 읽기 전용입니다. 에이전트는 데이터를 살펴볼 수 있고 바꿀 수는 없습니다. OpenSearch 에도 그대로 붙습니다. ## 소셜·퍼블리싱 [섹션 제목: “소셜·퍼블리싱”](#소셜퍼블리싱) | 서비스 | 에이전트가 할 수 있는 일 | 로그인 | 승인 | | ------------- | ---------------------------- | ------- | ---------- | | **WordPress** | 게시물 검색·읽기, 초안 작성·수정, 발행 | 계정 + 주소 | 발행, 발행글 수정 | | **Reddit** | 서브레딧·게시물 검색과 댓글 읽기, 글·댓글 게시 | OAuth | 등록, 댓글 | | **Facebook** | 페이지·게시물·반응 조회, 페이지 게시물·댓글 게시 | OAuth | 게시, 댓글 | | **Instagram** | 프로필·게시물·댓글 조회, 댓글 답글·이미지 게시 | OAuth | 답글, 게시 | ## 커머스·지도 [섹션 제목: “커머스·지도”](#커머스지도) | 서비스 | 에이전트가 할 수 있는 일 | 로그인 | 승인 | | -------------- | -------------------------- | ------- | -------- | | **Shopify** | 상품·주문·고객 조회, 상품 초안 생성 및 공개 | 토큰 + 주소 | 공개 | | **네이버 스마트스토어** | 상품·주문·고객문의 조회, 발송처리·문의답변 | 토큰 | 답변, 발송처리 | | **네이버 지도** | 주소↔좌표 변환(지오코딩), 운전 경로 조회 | 토큰 | — | 커머스 커넥터는 기본적으로 초안을 만듭니다 에이전트가 Shopify 에 만든 상품은 초안입니다. 구매자에게 보이게 하는 것은 별도의, 승인에 걸리는 행동입니다. ## 디자인 [섹션 제목: “디자인”](#디자인) | 서비스 | 에이전트가 할 수 있는 일 | 로그인 | 승인 | | --------- | --------------------------------------- | ----- | --- | | **Figma** | 파일 구조·노드 조회, 이미지 내보내기, 코멘트 조회·작성 | OAuth | 코멘트 | | **Canva** | 디자인 검색·상세·폴더 탐색, 파일 내보내기, 디자인 생성·에셋 업로드 | OAuth | — | ## 채널 전용 연결 [섹션 제목: “채널 전용 연결”](#채널-전용-연결) 카탈로그의 두 항목은 에이전트에게 도구를 주지 않습니다. 메시징 플랫폼이 *안으로* 닿기 위한 것입니다. | 항목 | 쓰임새 | | ----------- | -------------------------------------------- | | **카카오 빌더** | 카카오톡 챗봇 빌더 스킬 웹훅으로 메시지를 받고 일회성 콜백 URL 로 답합니다 | | **네이버톡톡 봇** | 톡톡 이벤트 웹훅으로 메시지를 받고 Send API 로 답합니다 | 둘 다 에이전트에 바인딩하는 커넥터가 아니라 [채널](/ko/docs/automate/channels/)로 설정합니다. ## 한계 [섹션 제목: “한계”](#한계) * 이 목록이 지금 존재하는 전부입니다. 여기 없는 서비스에는 에이전트가 닿을 수 없고, “아무 API 나 호출” 하는 범용 커넥터는 없습니다. * 커넥터마다 정해진 작업 묶음 — 위에 요약된 것들 — 만 제공합니다. Endue 가 노출하지 않는 제공자 API 는 에이전트가 쓸 수 없습니다. * 자체 설치 서비스(**토큰 + 주소**, **계정 + 주소**)는 인터넷에서 닿을 수 있어야 합니다. * 에이전트가 실제로 할 수 있는 일은 이 작업들과 사용자가 제공자에서 허용한 권한의 교집합입니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [커넥터 개요](/ko/docs/connect/overview/)연결과 바인딩, 승인하기, 해지하기. [승인](/ko/docs/work/approvals/)에이전트가 거기 닿았을 때 승인 열이 뜻하는 것. [연결 문제 해결](/ko/docs/connect/troubleshooting/)커넥터가 동작을 멈췄을 때. # 직접 연결 > 내가 운영하는 MCP 서버나 HTTP API 를 엔드포인트와 헤더로 에이전트에 연결합니다. 항상 허용하지 않은 호출은 매번 승인을 받습니다. **직접 연결**은 내가 운영하는 서버, 곧 원격 MCP 서버나 HTTP API 를 에이전트에 잇습니다. 엔드포인트와 필요한 헤더를 endue 에 알려 주면, 연결을 붙인 에이전트가 그 서버를 부를 수 있습니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 카탈로그에 커넥터가 없는 서비스에 씁니다. 사내 API, 직접 만든 MCP 서버, 팀이 만든 도구 같은 것입니다. [연결 가능한 서비스](/ko/docs/connect/available-connectors/)에 있는 서비스라면 그 커넥터를 쓰세요. 작업이 이미 분류돼 있어서 발송과 삭제만 먼저 묻습니다. ## MCP 서버와 HTTP 서버 [섹션 제목: “MCP 서버와 HTTP 서버”](#mcp-서버와-http-서버) | | MCP 서버 | HTTP 서버 | | -------------- | ------------------------------------ | ------------------------------------------------------ | | **엔드포인트** | Streamable HTTP 전송을 쓰는 서버의 MCP 엔드포인트 | 기준 URL | | **에이전트가 받는 것** | 서버가 알려 주는 도구 하나하나. 이름과 설명은 서버 것을 씁니다 | 기준 URL 아래 경로로 GET·POST·PUT·PATCH·DELETE 를 보내는 요청 도구 하나 | | **설명** | 선택. 목록에서 서버를 알아보기 쉽게 적어 둡니다. | 필수. 에이전트가 이 글을 읽고 어떤 경로와 메서드를 쓸지 압니다. | ## 직접 연결 추가하기 [섹션 제목: “직접 연결 추가하기”](#직접-연결-추가하기) 1. **좌측 사이드바에서 리소스 › 커넥터를 열고** **직접 연결** 탭에서 **직접 연결 추가**를 누릅니다. 2. **방식을 고릅니다.** **MCP 서버** 또는 **HTTP 서버**입니다. 저장한 뒤에는 바꿀 수 없습니다. 3. **칸을 채웁니다.** * **이름**: 목록과 대화에 보이는 이름. * **엔드포인트 URL**: 인터넷에서 닿는 `https://` 주소. HTTP 서버라면 기준 URL 이고, 에이전트는 그 아래 경로로만 요청합니다. * **헤더**: 서버가 요구하는 헤더를 한 줄에 하나씩. 예: `Authorization` 에 `Bearer …`. * **설명**: HTTP 서버라면 에이전트가 알아야 할 것을 적습니다. 경로, 메서드, 예시입니다. 예: *GET items?q=검색어 로 항목을 찾고, POST items 에 `{"title": "…"}` 를 보내 항목을 만든다.* 4. **연결 확인을 누릅니다.** 아직 저장하지 않습니다. * MCP 서버라면 서버 이름, MCP 프로토콜 버전, 서버가 제공하는 도구, 그리고 에이전트가 쓸 수 없는 도구와 그 이유가 보입니다. * HTTP 서버라면 endue 가 기준 URL 로, 또는 **확인할 경로**를 적었다면 그 아래 경로로 GET 요청을 한 번 보내고, 상태 코드와 응답 앞부분을 보여 줍니다. 5. **저장을 누릅니다.** MCP 서버는 저장하면서 도구 목록을 받습니다. 서버에 닿지 못하면 아무것도 저장하지 않습니다. 6. **에이전트에 붙입니다.** 그 에이전트의 [에이전트 빌더](/ko/docs/build/agent-builder/)에서 **리소스 › 커넥터**를 열고 다른 연결처럼 고릅니다. **직접 연결** 배지와 호스트가 함께 보입니다. ## 헤더 [섹션 제목: “헤더”](#헤더) 토큰 같은 헤더 값은 암호화해 저장합니다. 저장한 뒤에는 나에게도 다시 보여 주지 않고, 에이전트와 대화에도 나오지 않습니다. endue 가 요청마다 직접 붙이고, 에이전트가 헤더를 더할 수는 없습니다. 편집할 때 값을 비워 두면 그대로 두고, 새 값을 적으면 바뀝니다. 저장한 값은 브라우저로 돌려보내지 않으므로, 이미 있는 연결에서 **연결 확인**을 하려면 헤더 값을 모두 다시 적어야 합니다. `Host`·`Content-Length`·`Connection`, 그리고 `Proxy-`·`CF-`·`X-Forwarded-`·`Mcp-` 로 시작하는 헤더는 연결이 직접 관리하므로 넣을 수 없습니다. ## 승인 [섹션 제목: “승인”](#승인) 직접 연결 호출은 기본적으로 **매번 [승인](/ko/docs/work/approvals/)을 받습니다.** endue 는 내 서버의 도구가 무엇을 하는지 모르고, 서버가 도구에 붙인 설명을 묻지 않아도 될 이유로 삼지 않습니다. 묻지 않고 실행되게 하려면 **직접 연결** 탭에서 그 연결의 **편집**을 누르고 **항상 허용**을 켭니다. * **MCP 서버**: 도구별로. * **HTTP 서버**: 메서드별로. 예: GET. [루틴](/ko/docs/automate/routines/)·[채널](/ko/docs/automate/channels/)처럼 지켜보는 사람이 없는 실행은 항상 허용한 것만 쓸 수 있습니다. 그런 실행에서 나머지 호출은 거절됩니다. 항상 허용은 사용자만 정합니다 아무도 확인하지 않고 실행돼도 괜찮은 호출, 예를 들어 읽기만 하는 조회에만 켜세요. 서버의 데이터를 바꾸는 도구는 계속 묻게 두세요. ## 네트워크 규칙 [섹션 제목: “네트워크 규칙”](#네트워크-규칙) endue 는 내 컴퓨터가 아니라 자기 인프라에서 서버를 부릅니다. 서버가 인터넷에서 닿아야 합니다. * `https://` 만, 포트 443 또는 8443. * 공인 도메인 이름. IP 주소, `localhost`, 사설 주소로 풀리는 이름, endue 자신의 주소는 받지 않습니다. 아이디·비밀번호가 들어간 URL 도 받지 않으니 자격 증명은 헤더로 넣으세요. * 리다이렉트는 같은 호스트로만 따라갑니다. * 호출마다 30초입니다. HTTP 응답은 256KB 에서 잘립니다. MCP 응답이 256KB 를 넘으면 실패합니다. 256KB 를 넘는 요청 본문은 보내지 않습니다. 요청은 Cloudflare 네트워크에서 나갑니다. 서버에 방화벽이나 허용 목록이 있다면 Cloudflare 의 IP 대역을 허용하세요. ## 연결 관리하기 [섹션 제목: “연결 관리하기”](#연결-관리하기) **직접 연결** 탭에 연결마다 방식, 호스트, 도구 수, 상태, 쓰는 에이전트가 보입니다. * **다시 받기**는 MCP 서버의 도구 목록을 다시 읽습니다. 서버의 도구를 바꾼 뒤에 누르세요. 엔드포인트나 헤더를 바꿀 때도 목록을 다시 받습니다. * **오류**는 마지막으로 서버에 닿으려 했을 때 실패했다는 뜻입니다. 연결을 열면 이유가 보입니다. * **삭제**는 저장한 헤더 값을 지우고, 이 연결을 쓰던 모든 에이전트에서 뺍니다. 되돌릴 수 없습니다. ## 한계 [섹션 제목: “한계”](#한계) * 계정당 직접 연결 20개까지. * MCP 서버는 Streamable HTTP 전송을 써야 합니다. 옛 HTTP+SSE 전송을 쓰거나 OAuth 로그인을 요구하는 서버는 지원하지 않습니다. * HTTP 서버는 에이전트에게 요청 도구 하나와 내 설명을 줍니다. OpenAPI 문서는 읽지 않습니다. JSON·텍스트 응답을 다루고, 파일 업로드나 스트리밍 응답은 다루지 않습니다. * 사설망의 서버에는 닿지 않습니다. 서버에 공인 HTTPS 주소가 있어야 합니다. * 입력 형식을 에이전트가 쓸 수 없는 도구는 빠지고, 이유와 함께 쓸 수 없는 도구로 표시됩니다. * 직접 연결은 내 계정에 속합니다. 카탈로그에는 나타나지 않습니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [커넥터 개요](/ko/docs/connect/overview/)연결, 바인딩, 카탈로그 커넥터. [승인](/ko/docs/work/approvals/)호출이 먼저 물을 때 보게 되는 것. [보안과 권한](/ko/docs/account/security/)에이전트가 닿을 수 있는 것과 자격 증명을 다루는 방식. # Gmail > Gmail 을 연결해 에이전트가 메일을 검색·읽기·초안 작성하게 하고, 발송은 승인했을 때만 하도록 합니다. Gmail 커넥터는 에이전트가 받은편지함에서 일하게 해줍니다. 검색하고, 메시지와 스레드를 읽고, 초안을 준비하고, 사용자의 [승인](/ko/docs/work/approvals/)이 있으면 발송합니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) Gmail 은 대부분의 에이전트가 값을 하는 커넥터입니다. 받은편지함 일은 반복적이고 규칙의 모양을 하고 있기 때문입니다. 분류하고, 요약하고, 지난 화요일에 누가 요청한 것을 찾고, 어차피 쓰게 될 답장을 초안으로 만드는 일이죠. ## 연결하기 [섹션 제목: “연결하기”](#연결하기) 1. **[에이전트 빌더](/ko/docs/build/agent-builder/)에서 커넥터를 열고** Gmail 을 고릅니다. 2. **Google 로 로그인하고 접근을 승인합니다.** Endue 는 동의 화면에 나열된 것만 받습니다. 3. **쓸 에이전트에 바인딩합니다.** 어느 Google 계정으로 로그인하는지 확인하세요 회사 계정과 개인 계정에 모두 로그인돼 있으면 Google 이 엉뚱한 쪽을 고를 수 있습니다. 연결은 승인한 그 계정에 묶입니다. ## 에이전트가 할 수 있는 일 [섹션 제목: “에이전트가 할 수 있는 일”](#에이전트가-할-수-있는-일) | 작업 | 관문 | | ----------------------- | ------ | | 메시지 검색, 스레드 검색 | 없음 | | 메시지 읽기, 스레드 전체를 순서대로 읽기 | 없음 | | 라벨 목록, 초안 목록 | 없음 | | 초안 작성 | 없음 | | **발송** | **있음** | 검색은 Gmail 자체 문법을 받습니다 — `from:`, `label:`, `is:unread`, `after:`, 따옴표로 묶은 구절 같은 것들이죠. *“이번 주 사라가 보낸 안 읽은 메일”* 이라고 말하면 충분합니다. 질의는 에이전트가 만듭니다. ## 초안, 그다음 발송 [섹션 제목: “초안, 그다음 발송”](#초안-그다음-발송) 초안과 발송을 가르는 것이 안전한 메일 워크플로의 모양입니다. * **초안**은 관문에 걸리지 않습니다. 자리를 비운 사이 에이전트가 답장 열 개를 준비해 둘 수 있고, 그것들은 Gmail 초안함에 있습니다. * **발송**은 멈춰 서서 수신자·제목·본문을 보여줍니다. 승인하면 정확히 그 메시지가 나갑니다. 자는 동안 도는 [루틴](/ko/docs/automate/routines/)에는 초안을 요청하세요. 지켜보는 사람이 없는 실행에서의 발송은 대기열에 쌓이는 게 아니라 거절됩니다. ## 결과를 좋게 만들기 [섹션 제목: “결과를 좋게 만들기”](#결과를-좋게-만들기) * **“처리했다” 가 무슨 뜻인지 말하세요.** *“나에게 직접 질문한 것을 표시하고 그 질문을 인용해줘, 뉴스레터는 무시하고”* 가 *“받은편지함 요약해줘”* 보다 낫습니다. * **라벨을 가리키세요.** 이미 관리하고 있는 라벨에서 시작하는 에이전트는 사용자의 분류 기준을 새로 만드는 대신 물려받습니다. * **메일함 하나로 유지하세요.** Google 계정이 둘이면 연결을 둘 승인하고 각각 필요한 에이전트에 바인딩하세요. ## 한계 [섹션 제목: “한계”](#한계) * 연결 하나에 Gmail 계정 하나입니다. * 에이전트는 승인 범위 안의 것은 무엇이든 읽을 수 있습니다. 그 범위가 마음에 걸린다면 Gmail 을 꼭 필요한 에이전트에만 바인딩하세요. * 첨부파일은 읽지 않습니다. * 발송은 항상 승인이 필요합니다. 지켜보는 사람 없이 보내도록 허용하는 설정은 없습니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [Google Workspace](/ko/docs/connect/google-workspace/)캘린더 · 드라이브 · 문서 · 스프레드시트 · 슬라이드 · 태스크 · 주소록. [승인](/ko/docs/work/approvals/)메시지가 나가기 전에 보게 되는 것. [루틴](/ko/docs/automate/routines/)일어나기 전에 도는 받은편지함 브리핑. # Google Workspace > 캘린더 · 드라이브 · 문서 · 스프레드시트 · 슬라이드 · 태스크 · 주소록 — 개별로 연결해 에이전트가 필요한 접근만 갖게 합니다. [Gmail](/ko/docs/connect/gmail/) 외에 일곱 개의 Google 서비스를 커넥터로 제공합니다. 각각을 **따로** 승인하므로, 파일에는 손대지 않고 캘린더만 읽는 에이전트를 만들 수 있습니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 에이전트의 일에 필요한 서비스만 연결하세요. 회의 준비에는 캘린더와 어쩌면 드라이브가, 보고 에이전트에는 스프레드시트가, 글쓰기 에이전트에는 문서가 필요합니다. 일곱 개를 모든 에이전트에 연결하는 것은 이 설계의 의도와 정반대입니다. ## 각각이 하는 일 [섹션 제목: “각각이 하는 일”](#각각이-하는-일) | 서비스 | 에이전트가 할 수 있는 일 | 관문 | | ---------- | -------------------------------- | -- | | **캘린더** | 기간의 일정 목록, 참석자·장소까지 읽기, 일정 생성 | — | | **드라이브** | 파일 검색·읽기·생성·수정, 삭제 | 삭제 | | **문서** | 문서 생성·읽기·이어쓰기·텍스트 교체, 삭제 | 삭제 | | **스프레드시트** | 스프레드시트 생성, 범위 읽기, 행 추가, 셀 수정, 삭제 | 삭제 | | **슬라이드** | 덱 생성·읽기, 슬라이드 추가, 텍스트 교체, 삭제 | 삭제 | | **태스크** | 목록·작업 조회, 생성·완료·수정, 삭제 | 삭제 | | **주소록** | 연락처 검색·읽기, 생성·수정, 삭제 | 삭제 | 생성과 수정은 관문에 걸리지 **않습니다**. 에이전트는 사용자를 방해하지 않고 문서를 쓰거나 시트를 채울 수 있습니다. 삭제는 항상 걸립니다. ## 연결하기 [섹션 제목: “연결하기”](#연결하기) 각 서비스는 커넥터 목록에서 자기 항목을 갖고, 각각 그 서비스의 권한에 대한 Google 동의 화면으로 보냅니다. 각 연결을 필요한 에이전트에 바인딩하세요. 일곱 개를 다 승인하려면 동의 절차를 일곱 번 거칩니다. 그 번거로움은 의도된 것입니다. 대안은 Google 에 있는 모든 것을 한 번에 허용하는 것이니까요. 드라이브를 통한 삭제 에이전트가 만들지 않은 파일도 사용자의 승인이 있으면 드라이브 커넥터로 삭제할 수 있습니다. 승인 창을 읽어보세요. 어떤 파일인지 이름이 적혀 있습니다. ## 잘 통하는 패턴 [섹션 제목: “잘 통하는 패턴”](#잘-통하는-패턴) * **회의 준비.** 캘린더로 회의를 찾고, 드라이브로 관련 문서를 찾고, 문서로 브리핑을 씁니다. * **정기 보고.** 스프레드시트를 데이터 원본으로, 문서나 [아웃풋](/ko/docs/capabilities/outputs/)을 산출물로, [루틴](/ko/docs/automate/routines/)으로 매주 돌립니다. * **Endue 에 먼저 쓰고 나중에 내보내기.** [아웃풋](/ko/docs/capabilities/outputs/)으로 만들고 마음에 들 때 문서로 옮기는 편이, 살아 있는 문서에서 바로 고쳐가는 것보다 대개 낫습니다. ## 한계 [섹션 제목: “한계”](#한계) * 서비스마다 따로 승인합니다. Workspace 전체를 한 번에 허용하는 방법은 없습니다. * 서비스당 연결 하나에 Google 계정 하나입니다. * 에이전트는 검색으로 찾거나 사용자가 준 링크로 닿는 파일을 다룹니다. 무엇이 관련 있는지 정하려고 드라이브 전체를 훑지 않습니다. * Endue 는 위 표의 작업만 제공합니다. Google API 전체가 아니므로 고급 서식, 권한 변경, 공유 설정은 손이 닿지 않습니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [Gmail](/ko/docs/connect/gmail/)여덟 번째 Google 커넥터이자 발송 관문이 있는 것. [연결 가능한 서비스](/ko/docs/connect/available-connectors/)Endue 가 연결하는 그 밖의 모든 것. [아웃풋](/ko/docs/capabilities/outputs/)Google 파일에 둘 것이 아닐 때 산출물이 쌓이는 곳. # Notion > 특정 Notion 페이지와 데이터베이스에 대한 접근을 에이전트에게 주고 — 읽고, 조회하고, 새 페이지를 씁니다. Notion 커넥터는 에이전트가 워크스페이스를 검색하고, 페이지를 일반 텍스트로 읽고, 데이터베이스를 조회하고, 페이지를 만들거나 이어 쓰게 해줍니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) Notion 은 팀이 맥락을 쌓아두는 곳입니다. 그것이 없으면 에이전트에게 일일이 말해줘야 하는 것들 — 스펙, 회의록, 프로젝트 트래커 — 이죠. 읽을 수 있는 에이전트는 배경을 묻지 않게 되고, 결과물도 팀이 이미 보고 있는 곳에 정리해 둘 수 있습니다. ## 연결하기 [섹션 제목: “연결하기”](#연결하기) 1. **[에이전트 빌더](/ko/docs/build/agent-builder/)에서 커넥터를 열고** Notion 을 고릅니다. 2. **로그인하고 무엇을 공유할지 고릅니다.** Notion 의 동의 화면이 통합이 접근할 페이지를 묻습니다. 이것이 접근 통제이고, Notion 쪽에 있습니다. 3. **연결을 에이전트에 바인딩합니다.** 결과가 비었다면 대개 페이지가 공유되지 않은 것입니다 아무것도 찾지 못한 검색은 철자 문제보다 공유 문제인 경우가 많습니다. 승인할 때 포함되지 않았거나 그 뒤에 만들어진 페이지라면, Notion 의 페이지 메뉴에서 통합에 공유하세요. ## 에이전트가 할 수 있는 일 [섹션 제목: “에이전트가 할 수 있는 일”](#에이전트가-할-수-있는-일) | 작업 | 관문 | | ------------------------------ | -- | | 제목으로 페이지·데이터베이스 검색 | 없음 | | 중첩 목록과 토글을 포함해 페이지를 일반 텍스트로 읽기 | 없음 | | 속성 하나로 필터링해 데이터베이스 조회 | 없음 | | 페이지 아래나 데이터베이스 안에 페이지 생성 | 없음 | | 기존 페이지에 내용 이어 쓰기 | 없음 | Notion 에는 기본적으로 관문에 걸리는 작업이 없습니다. 위 작업 중 바깥으로 무언가를 보내거나 데이터를 지우는 것이 없기 때문입니다. 생성과 이어 쓰기는 워크스페이스를 바꾸긴 합니다. 에이전트는 위치와 제목을 먼저 확인하도록 지시받지만, [승인](/ko/docs/work/approvals/) 관문이 막지는 않습니다. ## 다루기 [섹션 제목: “다루기”](#다루기) * **검색을 먼저 하세요.** 에이전트는 페이지를 읽거나 이어 쓰기 전에 식별자가 필요합니다. 그래서 *“로드맵 페이지 업데이트해줘”* 같은 막연한 지시는 검색 한 단계를 더 씁니다. 페이지 링크를 붙여넣는 편이 빠릅니다. * **아주 긴 페이지는 잘립니다.** 페이지를 읽으면 들어가는 만큼 돌려주고 잘렸다고 알려줍니다. 큰 문서는 섹션을 가리켜 주세요. * **데이터베이스 조회는 속성 하나로 필터링합니다.** 조건이 여럿인 복잡한 뷰는 Notion 에서 만들고 그 결과를 에이전트가 읽게 하는 편이 낫습니다. ## 한계 [섹션 제목: “한계”](#한계) * 에이전트는 Notion 에서 통합에 공유한 것만 봅니다. * 읽기는 일반 텍스트를 돌려줍니다. 페이지 안의 데이터베이스, 동기화 블록, 복잡한 레이아웃 같은 Notion 고유 구조는 평평해지고, 서식이 그대로 왕복하지는 않습니다. * 삭제 작업은 없습니다. * 에이전트가 만든 페이지는 Notion 통합의 소유이며 페이지 기록에도 그렇게 표시됩니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [커넥터 개요](/ko/docs/connect/overview/)연결과 바인딩, 그리고 접근 해지. [프로젝트](/ko/docs/capabilities/projects/)매번 가져오는 대신 맥락을 Endue 안에 두기. [연결 가능한 서비스](/ko/docs/connect/available-connectors/)Linear · GitLab, 그리고 카탈로그의 나머지. # 커넥터 개요 > 이미 쓰는 서비스에 Endue 를 연결하고, 그 연결을 특정 에이전트에 바인딩하고, 다 쓰면 해지합니다. **커넥터**는 이미 쓰고 있는 서비스에 에이전트를 잇습니다. endue 는 서른 개가 넘는 서비스의 커넥터를 제공합니다 — [연결 가능한 서비스](/ko/docs/connect/available-connectors/)를 보세요. 내가 운영하는 서버는 [직접 연결](/ko/docs/connect/direct-connections/)로 붙입니다. ## 연결과 바인딩 [섹션 제목: “연결과 바인딩”](#연결과-바인딩) 제대로 이해해 둘 만한 개념은 이것 하나입니다. 에이전트의 손이 닿는 범위를 예측 가능하게 만드는 것이 바로 이 구분이기 때문입니다. 1. **연결을 승인합니다.** 제공자 — Google · Slack · Notion — 에서 로그인하거나 API 토큰을 붙여넣습니다. 그렇게 만들어진 연결은 *사용자 계정*에 속합니다. 2. **연결을 특정 에이전트에 바인딩합니다.** 바인딩한 에이전트만 그것을 쓸 수 있습니다. Gmail 을 연결했다고 모든 에이전트가 받은편지함을 갖지 않습니다. 메일을 읽을 이유가 없는 에이전트에는 바인딩하지 마세요. 잘못될 수 있는 범위가 좁아지고 에이전트의 선택도 더 예측 가능해집니다. ## 커넥터가 있는 곳 [섹션 제목: “커넥터가 있는 곳”](#커넥터가-있는-곳) 좌측 사이드바에서 여는 **리소스 › 커넥터**에 탭이 셋 있습니다. | 탭 | 담는 것 | | ----------- | --------------------------------------------------------------------- | | **디스커버리** | 카탈로그의 모든 커넥터 | | **연결한 커넥터** | 내 계정의 연결 | | **직접 연결** | 내가 운영하는 MCP 서버와 HTTP API. [직접 연결](/ko/docs/connect/direct-connections/)을 보세요. | ## 서비스 연결하기 [섹션 제목: “서비스 연결하기”](#서비스-연결하기) 1. **[에이전트 빌더](/ko/docs/build/agent-builder/)의 리소스 섹션에서 커넥터를 열고** 서비스를 고릅니다. 2. **승인합니다.** 대부분의 서비스는 제공자 화면으로 보내 로그인하고 접근을 승인하게 합니다. Endue 는 그 동의 화면에 표시된 권한만 받습니다. 어떤 서비스는 제공자 설정에서 만든 API 토큰을 요구하고, 때로는 자체 설치 주소를 함께 요구합니다. 3. **이 에이전트에 바인딩합니다.** 그 서비스의 도구는 에이전트의 다음 [실행](/ko/docs/work/runs/)부터 나타납니다. 쓰려던 계정이 맞는지 확인하세요 연결은 제공자의 계정 하나에 묶입니다. 회사 구글 계정과 개인 구글 계정을 둘 다 쓴다면 어느 쪽으로 로그인하는지 확인하세요. 같은 서비스를 같은 계정으로 다시 연결하면 사본이 생기는 게 아니라 기존 연결이 다시 승인되므로 바인딩은 그대로 유지됩니다. ## 연결하면 에이전트가 할 수 있는 일 [섹션 제목: “연결하면 에이전트가 할 수 있는 일”](#연결하면-에이전트가-할-수-있는-일) 커넥터마다 제공하는 작업 묶음이 있고, 모든 작업은 무엇을 하는지에 따라 읽기·쓰기·발송·파괴로 분류돼 있습니다. **발송과 파괴 작업은 실행 전에 항상 [승인](/ko/docs/work/approvals/)을 위해 멈춥니다.** 어떤 인자를 쓰는지 그대로 보여주면서요. 그래서 Gmail 을 연결하면 에이전트는 마음껏 검색하고 읽고, 묻지 않고 초안을 쓰지만, 보내는 것은 사용자가 확인해야만 합니다. ## 해지하기 [섹션 제목: “해지하기”](#해지하기) 양쪽 어디서든 끊을 수 있습니다. * **Endue 에서** 연결을 제거합니다. 바인딩돼 있던 모든 에이전트가 즉시 그 도구를 잃습니다. * **제공자에서** Google · Slack · Notion 계정 설정에서 Endue 의 접근을 취소하거나 API 토큰을 삭제합니다. 제공자 쪽에서 취소하면 Endue 의 연결은 사용자가 제거하거나 다시 승인할 때까지 깨진 상태로 남습니다. [연결 문제 해결](/ko/docs/connect/troubleshooting/)을 보세요. ## 한계 [섹션 제목: “한계”](#한계) * 서비스당 연결 하나에 계정 하나입니다. 구글 계정 둘을 쓰려면 연결을 둘 승인하세요. * 연결은 에이전트별로 바인딩됩니다. “모든 에이전트” 옵션은 없습니다. * 커넥터는 정해진 작업 묶음을 제공합니다. 범용 API 클라이언트가 아니어서, 에이전트가 제공자의 임의 엔드포인트를 호출할 수는 없습니다. 내 API 를 에이전트에게 주려면 [직접 연결](/ko/docs/connect/direct-connections/)을 쓰세요. * Endue 는 제공자의 승인이 허용한 것만 할 수 있습니다. 허용되지 않은 범위의 작업은 조용히 넘어가지 않고 제공자 쪽에서 실패합니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [연결 가능한 서비스](/ko/docs/connect/available-connectors/)연결할 수 있는 모든 서비스와, 에이전트가 그것으로 할 수 있는 일. [승인](/ko/docs/work/approvals/)어떤 작업이 멈춰 서서 먼저 묻는지. [연결 문제 해결](/ko/docs/connect/troubleshooting/)만료된 토큰, 취소된 접근, 잘못된 계정. # Slack > 에이전트가 Slack 채널과 스레드를 읽고, 워크스페이스를 검색하고, 승인을 받아 게시하게 합니다. Slack 커넥터는 에이전트가 워크스페이스에서 있었던 일을 읽고, 사용자의 [승인](/ko/docs/work/approvals/)이 있으면 거기에 게시하게 해줍니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) Slack 은 결정이 내려지고 그다음 잊히는 곳입니다. 검색할 수 있는 에이전트는 *“한 달쯤 전에 누가 배포 체크리스트를 올렸는데”* 를 쓸 수 있는 답으로 바꿔주고, 자리를 비운 채널을 요약해 줍니다. 반대 방향 — *Slack 안에서* 에이전트에게 묻는 것 — 은 [채널](/ko/docs/automate/channels/)을 보세요. ## 연결하기 [섹션 제목: “연결하기”](#연결하기) 1. **[에이전트 빌더](/ko/docs/build/agent-builder/)에서 커넥터를 열고** Slack 을 고릅니다. 2. **로그인하고 워크스페이스를 승인합니다.** 접근은 워크스페이스 단위입니다. 3. **읽어야 할 채널에 앱을 초대합니다.** 사람들이 빼먹는 단계입니다. 아래를 보세요. 4. **연결을 에이전트에 바인딩합니다.** 앱이 들어가 있지 않은 채널은 읽을 수 없습니다 채널 기록을 읽으려면 Slack 앱이 그 채널의 멤버여야 합니다. 에이전트가 채널에 없다고 하면 Slack 에서 초대한 뒤 다시 시도하세요. 워크스페이스 검색에는 이 조건이 없습니다. ## 에이전트가 할 수 있는 일 [섹션 제목: “에이전트가 할 수 있는 일”](#에이전트가-할-수-있는-일) | 작업 | 관문 | | ------------ | ------ | | 채널 목록 | 없음 | | 채널의 최근 기록 읽기 | 없음 | | 워크스페이스 검색 | 없음 | | 스레드의 답글 읽기 | 없음 | | **메시지 게시** | **있음** | 검색은 Slack 자체 문법 — `from:@user`, `in:#channel`, 따옴표로 묶은 구절 — 을 씁니다. 어느 채널에 있는지 모를 때 시작하기 좋은 지점입니다. ## 게시하기 [섹션 제목: “게시하기”](#게시하기) 게시는 외부로 나가는 다른 행동과 마찬가지로 관문에 걸립니다. 나가기 전에 채널과 정확한 본문을 보고, 승인하면 그대로 보내집니다. 지켜보는 사람이 없는 실행 — 예를 들어 [루틴](/ko/docs/automate/routines/) — 에서는 게시가 보류되지 않고 거절됩니다. 예약된 Slack 브리핑은 [아웃풋](/ko/docs/capabilities/outputs/)을 쓰고 알리게 하거나, 읽어본 뒤 사용자가 직접 올리는 편이 맞습니다. ## 한계 [섹션 제목: “한계”](#한계) * 연결 하나에 Slack 워크스페이스 하나입니다. * 기록을 읽으려면 앱이 채널에 있어야 합니다. 초대되지 않은 비공개 채널은 보이지 않습니다. * 다이렉트 메시지는 다루지 않습니다. * 게시는 스레드 답글을 포함해 항상 승인이 필요합니다. * 에이전트는 사용자가 아니라 Endue 앱으로 게시합니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [채널](/ko/docs/automate/channels/)반대로, Slack 안에서 에이전트에 닿기. [승인](/ko/docs/work/approvals/)메시지가 게시되기 전에 보게 되는 것. [연결 가능한 서비스](/ko/docs/connect/available-connectors/)Mattermost · Telegram, 그리고 그 밖의 모든 것. # 연결 문제 해결 > 만료된 토큰, 취소된 접근, 잘못된 계정, 권한 오류 — 각각이 어떻게 보이고 어떻게 고치는가. 어제까지 되던 커넥터가 오늘 안 된다면 대개 다섯 가지 중 하나입니다. 이 페이지는 그 목록을, 자주 일어나는 순서대로 담았습니다. ## 여기서 시작하세요 [섹션 제목: “여기서 시작하세요”](#여기서-시작하세요) [에이전트 빌더](/ko/docs/build/agent-builder/)에서 그 에이전트의 커넥터를 엽니다. 손봐야 할 연결은 거기 표시돼 있고, 해법은 거의 항상 다시 승인하는 것입니다. **다시 승인해도 바인딩은 유지됩니다.** 같은 서비스를 같은 계정으로 연결하면 두 번째 연결이 생기는 게 아니라 기존 연결이 다시 승인되므로, 에이전트마다 다시 바인딩할 필요가 없습니다. ## 다섯 가지 원인 [섹션 제목: “다섯 가지 원인”](#다섯-가지-원인) ### 승인이 만료됐다 [섹션 제목: “승인이 만료됐다”](#승인이-만료됐다) 제공자는 일정 기간이 지나면 접근을 만료시킵니다. 빠른 곳도 있고 몇 달 뒤인 곳도 있습니다. 연결에 재승인 필요 표시가 뜨고, 그 서비스의 도구가 동작을 멈춥니다. **해법:** 같은 계정으로 다시 연결하세요. ### 제공자 쪽에서 접근이 취소됐다 [섹션 제목: “제공자 쪽에서 접근이 취소됐다”](#제공자-쪽에서-접근이-취소됐다) 누군가 Google 계정 설정에서 Endue 를 제거했거나, Slack 앱을 삭제했거나, API 토큰을 지운 경우입니다. Endue 는 시도해 보기 전까지 이것을 만료와 구분하지 못합니다. **해법:** 다시 승인하거나, 새 토큰을 만들어 다시 연결하세요. 의도한 취소였다면 Endue 에서도 연결을 제거해 상태를 정직하게 맞추세요. ### 엉뚱한 계정을 연결했다 [섹션 제목: “엉뚱한 계정을 연결했다”](#엉뚱한-계정을-연결했다) 전형적인 경우입니다. 업무용 커넥터를 승인할 때 개인 Google 계정으로 로그인돼 있던 것이죠. 오류는 나지 않습니다. 엉뚱한 받은편지함을 보고 있으니 에이전트가 아무것도 찾지 못할 뿐입니다. **해법:** 제공자에서 잘못된 계정을 로그아웃하거나 시크릿 창을 쓰고, 의도한 계정으로 다시 연결하세요. 승인 전에 동의 화면에 표시된 계정을 확인하는 습관을 들이면 좋습니다. ### 그 리소스에 대한 접근이 없다 [섹션 제목: “그 리소스에 대한 접근이 없다”](#그-리소스에-대한-접근이-없다) 연결은 멀쩡하고, 리소스가 공유돼 있지 않은 것입니다. | 서비스 | 증상 | 해법 | | ---------- | ---------------------- | ------------------------------------- | | **Slack** | 기록을 읽을 때 “채널에 없음” | Slack 에서 그 채널에 앱을 초대 | | **Notion** | 눈에 보이는 페이지인데 검색 결과가 없음 | Notion 에서 그 페이지를 통합에 공유 | | **GitLab** | 프로젝트나 이슈를 찾을 수 없다고 함 | 토큰 소유자에게 권한이 없을 수 있음 — 철자가 아니라 권한을 확인 | | **Google** | 파일을 찾을 수 없음 | 연결한 계정에 그 파일의 접근 권한이 없을 수 있음 | 찾을 수 없음은 대개 권한 없음입니다 여러 제공자가 볼 수 없는 것에 대해 “허용되지 않음” 대신 “찾을 수 없음” 을 돌려줍니다. 존재 자체를 드러내지 않기 위해서죠. 분명히 있는 것에 대한 찾을 수 없음은 먼저 권한 문제로 의심하세요. ### 자체 설치 서비스가 옮겨졌거나 닿지 않는다 [섹션 제목: “자체 설치 서비스가 옮겨졌거나 닿지 않는다”](#자체-설치-서비스가-옮겨졌거나-닿지-않는다) 주소를 묻는 커넥터 — GitLab · Jenkins · Discourse · WordPress · Mattermost · Grafana · Elasticsearch — 는 그 주소가 인터넷에서 닿을 수 있어야 합니다. **해법:** 주소가 맞고 공개적으로 닿을 수 있는지 확인한 뒤 다시 연결하세요. VPN 뒤의 서비스에는 닿을 수 없습니다. ## 커넥터는 멀쩡한데 에이전트가 계속 실패한다면 [섹션 제목: “커넥터는 멀쩡한데 에이전트가 계속 실패한다면”](#커넥터는-멀쩡한데-에이전트가-계속-실패한다면) * **그 작업이 존재하지 않습니다.** 커넥터마다 제공하는 작업이 정해져 있습니다. [연결 가능한 서비스](/ko/docs/connect/available-connectors/)를 확인하세요. Endue 가 노출하지 않는 제공자 API 는 에이전트가 쓸 수 없습니다. * **연결이 *이* 에이전트에 바인딩되지 않았습니다.** 연결은 계정 단위이고, 사용은 에이전트 단위입니다. * **도구 그룹이 꺼져 있습니다.** 빠진 능력이 커넥터가 아니라 메모리·아웃풋·루틴·웹 가져오기라면 에이전트의 [내장 툴](/ko/docs/capabilities/built-in-tools/)를 확인하세요. * **[승인](/ko/docs/work/approvals/) 관문에서 거절됐습니다.** 지켜보는 사람이 없는 실행이라 자동으로 거절된 경우도 포함합니다. ## 연결 제거하기 [섹션 제목: “연결 제거하기”](#연결-제거하기) Endue 에서 제거하면 그 연결에 바인딩된 모든 에이전트가 즉시 그 도구를 잃습니다. 기존 대화의 기록은 남고, 에이전트가 더 이상 그 호출을 하지 못하게 됩니다. Endue 에서 연결을 제거해도 제공자 쪽의 Endue 접근이 취소되지는 않습니다. 완전히 끊으려면 양쪽 다 하세요. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [커넥터 개요](/ko/docs/connect/overview/)연결 · 바인딩 · 해지가 어떻게 맞물리는지. [문제 해결](/ko/docs/troubleshooting/)연결과 무관한 문제들. [보안과 권한](/ko/docs/account/security/)에이전트가 닿을 수 있는 것과 없는 것. # 핵심 개념 > Endue 의 동작을 설명하는 아홉 가지 — 에이전트, 대화, 실행, 도구, 스킬, 커넥터, 메모리, 아웃풋, 루틴. Endue 의 어휘는 많지 않습니다. 아래 아홉 가지만 익히면 제품의 나머지는 스스로 설명됩니다. ## 에이전트 [섹션 제목: “에이전트”](#에이전트) **에이전트**는 사용자를 대신해 일하는, 계속 남는 정체성입니다. 쓰고 버리는 채팅창이 아닙니다. 불러 쓸 수 있는 이름과 핸들, 프로필, 응답 방식을 결정하는 성격, 그리고 하는 일을 정의하는 시스템 프롬프트를 갖습니다. 시스템 프롬프트는 리비전 기록으로 보관됩니다. 에이전트의 행동을 바꾸고, 무엇이 바뀌었는지 정확히 확인하고, 그 변경이 더 나빴다면 되돌릴 수 있습니다. 에이전트는 사용자가 준 능력만 갖습니다. 스스로는 추론하고, 계산하고, 공개된 웹 페이지를 읽습니다. 그 밖의 것 — 메일, 캘린더, 문서 — 은 명시적으로 바인딩한 연결이 있어야 합니다. ## 대화 [섹션 제목: “대화”](#대화) **대화**는 에이전트와 이어지는 하나의 실입니다. 에이전트가 맥락으로 읽는 메시지 기록을 담고 있고, 사라지지 않습니다. 탭을 닫고 내일 다시 와도 에이전트는 무슨 이야기를 하고 있었는지 알고 있습니다. 대화는 사용자의 것입니다. 여러 대화가 같은 일을 다룬다면 **프로젝트**로 묶을 수 있습니다. ## 실행 [섹션 제목: “실행”](#실행) **실행**은 에이전트가 실제로 일하는 한 차례입니다. 메시지를 보내면 에이전트가 실행을 시작합니다. 무엇을 할지 정하고, 도구를 부르고, 결과를 읽고, 답에 이르거나 사용자에게 물을 것이 생길 때까지 되풀이합니다. 실제로 중요한 것은 세 가지입니다. * **볼 수 있습니다.** 어떤 도구를 무엇으로 불렀고 무엇이 돌아왔는지, 각 단계가 진행되는 대로 보입니다. * **잡아줄 수 있습니다.** 실행이 도는 중에 정정을 보내면 에이전트가 다음 단계에서 반영합니다. 잘못 가는 실행이 끝나기를 기다릴 필요가 없습니다. * **자리를 떠도 이어집니다.** 실행 도중에 앱을 닫아도 작업은 서버에서 계속됩니다. 돌아오면 결과가 있습니다. 실행은 멈춰서 사용자에게 물을 수도 있습니다. 선택지 중 하나를 고르는 것, 텍스트를 받는 것, 행동에 대한 승인입니다. 아래 [승인](#%EC%8A%B9%EC%9D%B8)을 보세요. ## 도구 [섹션 제목: “도구”](#도구) **도구**는 실행 중에 에이전트가 부를 수 있는 능력 하나입니다. 파일을 읽고, 메일을 검색하고, 캘린더 일정을 만들고, 아웃풋을 쓰고, 메모리를 떠올리는 것 각각이 도구입니다. 일부는 내장돼 있어 늘 쓸 수 있습니다. 나머지는 서비스를 연결하거나 스킬을 바인딩해야 나타납니다. 어떤 도구를 부를지는 에이전트가 고르고, 어떤 도구가 존재할지는 사용자가 정합니다. ## 스킬 [섹션 제목: “스킬”](#스킬) **스킬**은 반복되는 일을 매번 다시 설명하지 않도록 하나로 포장한 것입니다. 절차일 수도, 체크리스트일 수도, 에이전트가 실행할 명령 묶음일 수도 있습니다. 스킬을 에이전트에 바인딩하면 그 에이전트가 할 수 있는 일의 일부가 됩니다. 받지 않은 스킬을 에이전트가 *요청*할 수도 있습니다. 실행 도중 멈춰서 묻고, 사용자가 대화 안에서 승인하거나 거절합니다. ## 커넥터 [섹션 제목: “커넥터”](#커넥터) **커넥터**는 이미 쓰고 있는 서비스에 에이전트를 잇습니다 — Gmail 을 비롯한 Google Workspace, Slack, Notion, Linear, GitLab, Shopify, Figma, Datadog, 그리고 [서른 개가 넘는 서비스](/ko/docs/connect/available-connectors/)입니다. 연결은 두 단계로 이해하면 좋습니다. 1. **제공자에서 연결을 승인합니다.** Google · Slack · Notion 같은 곳에서 승인하고, 그 연결은 사용자 계정에 속합니다. 2. **연결을 특정 에이전트에 바인딩합니다.** Gmail 을 연결했다고 모든 에이전트가 받은편지함을 갖게 되지는 않습니다. 연결은 Endue 에서도, 제공자 쪽에서도 언제든 해지할 수 있습니다. 연결 하나에 계정 하나 연결은 제공자의 계정 하나에 묶입니다. 같은 서비스를 같은 계정으로 다시 연결하면 사본이 만들어지는 게 아니라 기존 연결이 다시 승인되므로, 에이전트 바인딩은 그대로 유지됩니다. ## 메모리 [섹션 제목: “메모리”](#메모리) **메모리**는 에이전트가 대화를 넘어 간직하는 것입니다. 사용자에 대한 사실, 선호, 일을 어떻게 처리하기를 원하는지 같은 것들입니다. 무엇을 기억할 만한지는 에이전트가 판단하고, 필요할 때 떠올립니다. 메모리는 들여다볼 수 있고 고칠 수 있습니다. 에이전트가 무엇을 저장했는지 확인하고, 남으면 안 될 것은 지울 수 있습니다. ## 아웃풋 [섹션 제목: “아웃풋”](#아웃풋) **아웃풋**은 에이전트가 만든 것 중 남겨둘 만한 것입니다. 보고서, 문서, 다이어그램, 데이터셋, 작은 앱 같은 것이죠. 대화 기록 속에 묻어두는 대신 Endue 가 자기 페이지를 줍니다. 아웃풋은 **파일**(한 파일)이거나 **앱**(함께 동작하는 여러 파일)이고, 두 종류가 한 목록에 모입니다. 아웃풋은 기본적으로 사용자만 볼 수 있습니다. 링크로 공유하면 그 아웃풋에만 접근이 열립니다. 작업 공간 밖의 사람에게 결과물을 건넬 때 쓰기 좋습니다. ## 루틴 [섹션 제목: “루틴”](#루틴) **루틴**은 일정이 붙은 작업입니다. 에이전트에게 매번 시키는 대신 할 일을 한 번 적어두고 주기를 줍니다 — 평일 아침마다, 매주 월요일, 매달 1일처럼요. 루틴은 Endue 를 열어두지 않아도 실행됩니다. 결과물은 작업 공간에 쌓이고, 판단이 필요하면 사용자에게 묻고 기다립니다. ## 승인 [섹션 제목: “승인”](#승인) **승인**은 되돌릴 수 없는 일을 하기 전에 Endue 가 멈춰 서서 묻는 것입니다. 두 부류는 항상 승인을 요구합니다. * **외부로 나가는 행동** — 메일 발송, 메시지 게시 등 계정을 벗어나 다른 사람에게 닿는 모든 것. * **파괴적인 행동** — 데이터를 지우거나 덮어쓰는 것. 에이전트가 그런 일을 하려 하면 실행이 멈추고 정확히 어떤 행동을 어떤 인자로 하려는지 보여줍니다. 승인하면 방금 본 그대로 진행하고, 거절하면 에이전트가 다른 방법을 찾아 계속합니다. 예약 실행과 이벤트로 시작된 실행에도 똑같이 적용됩니다. 승인할 사람이 아무도 없으면 그 행동은 매달린 채로 남지 않고 거절됩니다. ## 서로 어떻게 맞물리는가 [섹션 제목: “서로 어떻게 맞물리는가”](#서로-어떻게-맞물리는가) > **에이전트**에게 정체성을 주고 **커넥터**와 **스킬**을 바인딩합니다. **대화** 안에서 이야기하고, 한 차례가 곧 **도구**를 부르는 **실행**입니다. 알게 된 것은 **메모리**로 저장하고, **아웃풋**을 만들고, 계정 밖으로 나가는 일에는 **승인**을 구합니다. 그 일이 되풀이되면 **루틴**이 됩니다. ## 다음에 읽을 것 [섹션 제목: “다음에 읽을 것”](#다음에-읽을-것) [빠른 시작](/ko/docs/get-started/quickstart/)개념을 실제로 써봅니다 — 에이전트를 처음부터 끝까지 만들기. [용어집](/ko/docs/get-started/glossary/)여기서 다루지 않은 것까지, Endue 의 모든 용어. # 용어집 > Endue 용어 정의 — 에이전트, 실행, 스킬, 커넥터, 메모리, 아웃풋, 루틴을 비롯해 제품에서 마주치게 될 어휘 전부. 이 용어집은 Endue 가 쓰는 모든 용어를 정의합니다. 각 항목은 그 개념을 제대로 다루는 페이지로 이어집니다. 제품에는 있는데 이 페이지에 없는 용어가 있다면 문서의 결함입니다 — 알려주세요. ## ㄷ [섹션 제목: “ㄷ”](#ㄷ) ### 대화 [섹션 제목: “대화”](#대화) Conversation. 에이전트와 이어지는, 사라지지 않는 하나의 실. 에이전트가 맥락으로 읽는 메시지 기록을 담고 있고 앱을 닫아도 남습니다. 여러 대화가 같은 일을 다룬다면 [프로젝트](#%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8)로 묶을 수 있습니다. 자세히: [대화](/ko/docs/work/conversations/) ### 도구 [섹션 제목: “도구”](#도구) Tool. [실행](#%EC%8B%A4%ED%96%89) 중에 에이전트가 부를 수 있는 능력 하나 — 파일 읽기, 메일 검색, 캘린더 일정 생성, [아웃풋](#%EC%95%84%EC%9B%83%ED%92%8B) 작성, [메모리](#%EB%A9%94%EB%AA%A8%EB%A6%AC) 회상. 도구가 있어야 에이전트가 조언만 하는 대신 실제로 행동합니다. 일부는 내장돼 늘 있습니다. 나머지는 [연결](#%EC%97%B0%EA%B2%B0)이나 [스킬](#%EC%8A%A4%ED%82%AC)이 에이전트에 바인딩돼야 나타납니다. 자세히: [내장 툴](/ko/docs/capabilities/built-in-tools/) · [핵심 개념](/ko/docs/get-started/core-concepts/#%EB%8F%84%EA%B5%AC) ### 도구 호출 [섹션 제목: “도구 호출”](#도구-호출) Tool call. 실행 안에서 도구를 한 번 부르는 것. 무엇이 돌아왔는지와 함께, 일어나는 대로 보입니다. ### 디바이스 [섹션 제목: “디바이스”](#디바이스) Device. 에이전트가 일하는 컴퓨터나 브라우저, 또는 내가 endue 를 쓰는 앱. 디바이스 제품은 [endue Computer](#endue-computer)·endue for Chrome·endue for Android·endue Desktop 넷입니다. 디바이스마다 주체가 둘 중 하나로 정해집니다. * **유저**: 사용자가 로그인했거나 자기 계정으로 등록한 기기. * **에이전트**: 에이전트가 연결을 위해 endue 클라우드에 띄운 기기. 좌측 사이드바에서 여는 **리소스** 패널에 나열됩니다. 자세히: [디바이스](/ko/docs/build/devices/) ## ㄹ [섹션 제목: “ㄹ”](#ㄹ) ### 루틴 [섹션 제목: “루틴”](#루틴) Routine. 에이전트가 일정에 따라 수행하는 작업. Endue 를 열어두지 않아도 실행됩니다. 결과물은 작업 공간에서 기다립니다. 판단이 필요하면 묻고, 받을 수 없는 [승인](#%EC%8A%B9%EC%9D%B8)은 매달린 채 남지 않고 거절됩니다. 자세히: [루틴](/ko/docs/automate/routines/) ### 리비전 [섹션 제목: “리비전”](#리비전) Revision. 에이전트 [시스템 프롬프트](#%EC%8B%9C%EC%8A%A4%ED%85%9C-%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8)의 저장된 판. 프롬프트에 버전이 남기 때문에 변경을 검토하고 되돌릴 수 있습니다. 프롬프트를 다듬는 일이 도박이 아니라 안전한 작업이 되는 이유입니다. 자세히: [시스템 프롬프트와 리비전](/ko/docs/build/system-prompt/#%EB%A6%AC%EB%B9%84%EC%A0%84%EA%B3%BC-%EB%90%98%EB%8F%8C%EB%A6%AC%EA%B8%B0) ### 리소스 [섹션 제목: “리소스”](#리소스) Resources. 에이전트가 쓸 수 있는 [스킬](#%EC%8A%A4%ED%82%AC)·[커넥터](#%EC%BB%A4%EB%84%A5%ED%84%B0)·[디바이스](#%EB%94%94%EB%B0%94%EC%9D%B4%EC%8A%A4). 좌측 사이드바의 **리소스** 패널에는 내 계정에 있는 것이 모여 있습니다. 에이전트 하나에 [바인딩](#%EB%B0%94%EC%9D%B8%EB%94%A9)된 것은 [에이전트 빌더](#%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8-%EB%B9%8C%EB%8D%94)의 리소스 섹션에서 내장 툴과 함께 봅니다. 자세히: [에이전트 빌더](/ko/docs/build/agent-builder/) ## ㅁ [섹션 제목: “ㅁ”](#ㅁ) ### 메모리 [섹션 제목: “메모리”](#메모리) Memory. 에이전트가 [대화](#%EB%8C%80%ED%99%94)를 넘어 간직하는 것 — 사용자에 대한 사실, 선호, 일을 처리하는 방식. 무엇을 남길지는 에이전트가 판단하고 필요할 때 떠올립니다. 모든 [실행](#%EC%8B%A4%ED%96%89)에 통째로 실리는 게 아니라 선별됩니다. 메모리는 들여다보고 고칠 수 있습니다. 무엇을 저장했는지 확인하고, 남으면 안 될 것은 지우면 됩니다. 자세히: [메모리](/ko/docs/capabilities/memory/) ## ㅂ [섹션 제목: “ㅂ”](#ㅂ) ### 바인딩 [섹션 제목: “바인딩”](#바인딩) Binding. [에이전트](#%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8)와 그 에이전트가 쓸 수 있는 능력 사이의 연결. [연결](#%EC%97%B0%EA%B2%B0)과 [스킬](#%EC%8A%A4%ED%82%AC)은 특정 에이전트에 바인딩됩니다. 계정에 연결을 갖고 있다고 모든 에이전트에게 주어지지는 않습니다. 바인딩이 에이전트의 손이 닿는 범위를 예측 가능하게 만듭니다. 도구가 셋인 에이전트가 스무 개인 에이전트보다 일관되게 움직입니다. 자세히: [커넥터 개요](/ko/docs/connect/overview/#%EC%97%B0%EA%B2%B0%EA%B3%BC-%EB%B0%94%EC%9D%B8%EB%94%A9) ## ㅅ [섹션 제목: “ㅅ”](#ㅅ) ### 사용 환경 [섹션 제목: “사용 환경”](#사용-환경) Surface. Endue 를 쓸 수 있는 곳 — 웹 앱, 데스크톱 앱, 모바일, 명령줄. 모든 환경이 같은 에이전트·대화·기록에 닿습니다. 한쪽에서 시작해 다른 쪽에서 이어갈 수 있습니다. 자세히: [사용 환경](/ko/docs/get-started/surfaces/) ### 사용량 대시보드 [섹션 제목: “사용량 대시보드”](#사용량-대시보드) Usage dashboard. 에이전트가 무엇을 얼마나 썼는지의 기록 — 기간별 토큰을 모델별·[에이전트](#%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8)별로 나눠 보여주고, 플랜 포함량이 얼마나 남았는지 함께 보여줍니다. 자세히: [사용량 대시보드](/ko/docs/account/usage/) ### 서드파티 스킬 [섹션 제목: “서드파티 스킬”](#서드파티-스킬) Third-party skill. 공개 GitHub·GitLab 레포에서 가져온 [스킬](#%EC%8A%A4%ED%82%AC). `SKILL.md` 본문만 가져오고, 내 계정 안에만 있습니다. 자세히: [서드파티 스킬](/ko/docs/capabilities/third-party-skills/) ### 성격 [섹션 제목: “성격”](#성격) Character. 에이전트의 말투와 태도를 결정하는 기질. 하는 일을 정의하는 [시스템 프롬프트](#%EC%8B%9C%EC%8A%A4%ED%85%9C-%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8)와는 별개입니다. ### 스킬 [섹션 제목: “스킬”](#스킬) Skill. 반복되는 일 — 절차, 체크리스트, 명령 묶음 — 을 포장한 것. 에이전트에 [바인딩](#%EB%B0%94%EC%9D%B8%EB%94%A9)해 두면 매번 다시 설명하지 않아도 됩니다. 받지 않은 스킬을 에이전트가 요청할 수도 있습니다. [실행](#%EC%8B%A4%ED%96%89) 도중 멈춰서 묻고, 사용자가 승인하거나 거절합니다. 자세히: [스킬](/ko/docs/capabilities/skills/) ### 스페이스 [섹션 제목: “스페이스”](#스페이스) Space. 팀이 같은 에이전트를 쓰고 그 결과물을 함께 보는 공유 작업 공간. ### 스티어링 [섹션 제목: “스티어링”](#스티어링) Steering. [실행](#%EC%8B%A4%ED%96%89)이 도는 중에 에이전트에게 정정을 보내는 것. 에이전트가 다음 단계에서 반영하므로, 정정 비용이 실행 전체가 아니라 한 단계에 그칩니다. 자세히: [실행 중 방향 잡기](/ko/docs/work/steering/) ### 슬래시 커맨드 [섹션 제목: “슬래시 커맨드”](#슬래시-커맨드) Slash command. 컴포저에서 `/` 뒤에 치는 이름. `/usage` 같은 내장 커맨드는 앱의 기능이라 [실행](#%EC%8B%A4%ED%96%89)을 시작하지 않고, 나머지는 에이전트에 바인딩된 [스킬](#%EC%8A%A4%ED%82%AC)에서 와서 어느 [도구](#%EB%8F%84%EA%B5%AC)를 먼저 부를지 지정합니다. 자세히: [슬래시 커맨드](/ko/docs/work/slash-commands/) ### 승인 [섹션 제목: “승인”](#승인) Approval. 되돌릴 수 없는 행동을 하기 전에 Endue 가 [실행](#%EC%8B%A4%ED%96%89)을 멈추고 확인을 구하는 것. 두 부류가 항상 여기 걸립니다. 계정을 벗어나 다른 사람에게 닿는 **외부 행동**, 그리고 데이터를 지우거나 덮어쓰는 **파괴적 행동**입니다. 결정하기 전에 어떤 행동을 어떤 인자로 하려는지 그대로 보여줍니다. 이 관문은 설정으로 바꿀 수 없습니다. [루틴](#%EB%A3%A8%ED%8B%B4)처럼 아무도 지켜보지 않는 실행에서는 그 행동이 기다리는 대신 거절됩니다. 자세히: [승인](/ko/docs/work/approvals/) · [핵심 개념](/ko/docs/get-started/core-concepts/#%EC%8A%B9%EC%9D%B8) ### 시스템 프롬프트 [섹션 제목: “시스템 프롬프트”](#시스템-프롬프트) System prompt. 에이전트가 모든 대화 전에 읽는 상시 지침. 무엇을 하는지, 무엇을 절대 하면 안 되는지, 좋은 결과가 어떤 모습인지를 담습니다. [리비전](#%EB%A6%AC%EB%B9%84%EC%A0%84) 기록으로 보관됩니다. 자세히: [시스템 프롬프트와 리비전](/ko/docs/build/system-prompt/) ### 실행 [섹션 제목: “실행”](#실행) Run. 에이전트가 일하는 한 차례 — 맥락을 읽고, 정하고, [도구](#%EB%8F%84%EA%B5%AC)를 부르고, 결과를 읽고, 끝나거나 사용자가 필요해질 때까지 되풀이합니다. 실행은 Endue 의 서버에서 돌아가므로 앱을 닫아도 일은 멈추지 않습니다. 자세히: [실행](/ko/docs/work/runs/) · [Endue 의 동작 방식](/ko/docs/get-started/how-it-works/#%EB%A3%A8%ED%94%84) ## ㅇ [섹션 제목: “ㅇ”](#ㅇ) ### 아웃풋 [섹션 제목: “아웃풋”](#아웃풋) Output. 에이전트가 만든 것 중 남겨둘 만한 것으로, [대화](#%EB%8C%80%ED%99%94) 속에 묻히지 않고 자기 페이지에 저장됩니다. 파일(문서·보고서·다이어그램·데이터셋)이거나 앱(함께 동작하는 여러 파일)입니다. 기본적으로 사용자만 볼 수 있고, 링크로 공유하면 그 아웃풋 하나에만 접근이 열립니다. 자세히: [아웃풋](/ko/docs/capabilities/outputs/) ### 알림 [섹션 제목: “알림”](#알림) Notification. 내가 다른 곳에 있는 동안 무언가 끝났다고 알려주는 통지 — [실행](#%EC%8B%A4%ED%96%89)이 답했다, [루틴](#%EB%A3%A8%ED%8B%B4)이 완료·실패·건너뜀 됐다. 앱을 닫아 두었을 때는 브라우저 알림으로도 옵니다. 무슨 일이 있었는지 알려줄 뿐, 실제 조치는 그것이 가리키는 대화에서 합니다. 자세히: [알림](/ko/docs/work/inbox/) ### 에이전트 [섹션 제목: “에이전트”](#에이전트) Agent. 사용자를 대신해 일하는, 계속 남는 정체성. 자기 [핸들](#%ED%95%B8%EB%93%A4), 프로필, [성격](#%EC%84%B1%EA%B2%A9), [시스템 프롬프트](#%EC%8B%9C%EC%8A%A4%ED%85%9C-%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8)를 갖습니다. 열었다 버리는 채팅창과 달리 에이전트는 남습니다. 능력도, [메모리](#%EB%A9%94%EB%AA%A8%EB%A6%AC)도, 기록도 유지합니다. 에이전트는 [바인딩](#%EB%B0%94%EC%9D%B8%EB%94%A9)된 것에만 닿을 수 있습니다. 자세히: [핵심 개념](/ko/docs/get-started/core-concepts/#%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8) ### 에이전트 빌더 [섹션 제목: “에이전트 빌더”](#에이전트-빌더) Agent Builder. 에이전트를 만들고 다듬는 웹 앱의 영역 — 정체성, 시스템 프롬프트, 모델, 그리고 바인딩된 [스킬](#%EC%8A%A4%ED%82%AC)과 [연결](#%EC%97%B0%EA%B2%B0). 이름은 에이전트 빌더입니다. “스튜디오” 는 제품 이름이 아니며 인터페이스에도 나오지 않습니다. 자세히: [에이전트 빌더](/ko/docs/build/agent-builder/) ### 연결 [섹션 제목: “연결”](#연결) Connection. Endue 계정과 외부 서비스 사이의 승인된 링크 — Gmail 계정, Slack 워크스페이스, Notion 같은 것들. 연결은 제공자의 계정 하나에 묶이고 양쪽 어디서든 언제든 해지할 수 있습니다. 서비스를 연결하는 것과 에이전트에게 주는 것은 다릅니다. 에이전트가 쓰려면 연결이 그 에이전트에 [바인딩](#%EB%B0%94%EC%9D%B8%EB%94%A9)돼 있어야 합니다. 자세히: [커넥터 개요](/ko/docs/connect/overview/) ### 워크스페이스 [섹션 제목: “워크스페이스”](#워크스페이스) Workspace. 에이전트가 자기 [endue Computer](#endue-computer) 위에 갖는 파일 영역. 읽고 쓰고 프로그램을 실행하는 폴더입니다. 기기가 아니라 그 폴더를 가리키는 말입니다. 자세히: [워크스페이스](/ko/docs/build/workspace/) ## ㅈ [섹션 제목: “ㅈ”](#ㅈ) ### 자동 선택 [섹션 제목: “자동 선택”](#자동-선택) Automatic selection. 메시지가 올 때마다 판단 모델이 요청의 난이도를 가르고, 에이전트가 그 단계에 정해 둔 모델로 답하게 하는 설정. 관찰로 두면 판단만 기록하고 모델은 바꾸지 않습니다. 자세히: [모델 고르기](/ko/docs/build/models/#%EC%9A%94%EC%B2%AD%EC%97%90-%EB%A7%9E%EC%B6%B0-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EA%B3%A0%EB%A5%B4%EA%B8%B0) ### 직접 연결 [섹션 제목: “직접 연결”](#직접-연결) Direct connection. 내가 운영하는 서버, 곧 원격 MCP 서버나 HTTP API 를 엔드포인트와 헤더로 에이전트에 잇는 것. 항상 허용을 켜지 않은 호출은 매번 [승인](#%EC%8A%B9%EC%9D%B8)을 받습니다. 자세히: [직접 연결](/ko/docs/connect/direct-connections/) ## ㅊ [섹션 제목: “ㅊ”](#ㅊ) ### 채널 [섹션 제목: “채널”](#채널) Channel. Endue 바깥에서 사람들이 에이전트에게 닿게 해주는 연결 — Discord 서버나 Slack 워크스페이스 같은 것. 에이전트가 서비스에 닿게 하는 [커넥터](#%EC%BB%A4%EB%84%A5%ED%84%B0)와는 방향이 반대입니다. 자세히: [채널](/ko/docs/automate/channels/) ### 추론 강도 [섹션 제목: “추론 강도”](#추론-강도) Reasoning effort. 모델이 답하기 전에 얼마나 생각하는지. 강도가 높으면 토큰을 더 쓰고 시간도 더 걸리지만, 초반의 잘못된 판단이 [실행](#%EC%8B%A4%ED%96%89) 전체를 버리게 만드는 다단계 작업에서 값을 합니다. 지원하는 모델에서만 쓸 수 있습니다. 자세히: [모델 고르기](/ko/docs/build/models/#%EC%B6%94%EB%A1%A0-%EA%B0%95%EB%8F%84) ## ㅋ [섹션 제목: “ㅋ”](#ㅋ) ### 커넥터 [섹션 제목: “커넥터”](#커넥터) Connector. 서비스를 연결 가능하게 만드는 통합. Gmail 은 커넥터이고, 승인된 내 Gmail 계정은 [연결](#%EC%97%B0%EA%B2%B0)입니다. Endue 는 서른 개가 넘는 서비스의 커넥터를 제공합니다. 자세히: [연결 가능한 서비스](/ko/docs/connect/available-connectors/) ### 크레딧 [섹션 제목: “크레딧”](#크레딧) Credit. [사용량 대시보드](/ko/docs/account/usage/)가 주간 모델 지출을 나타낼 때 쓰는 단위. 환산 비율은 대시보드가 직접 밝힙니다. 자세히: [사용량 대시보드](/ko/docs/account/usage/#%EA%B0%9C%EC%9A%94) ## ㅌ [섹션 제목: “ㅌ”](#ㅌ) ### 트레이트 [섹션 제목: “트레이트”](#트레이트) Trait. 에이전트의 동작 하나를 켜고 끄는 스위치. 성격, 성장형, [Dream](#dream) 이 있습니다. 설정값은 원래 있던 자리에 두고, 그것을 쓸지 말지만 정합니다. 자세히: [트레이트](/ko/docs/build/traits/) ## ㅍ [섹션 제목: “ㅍ”](#ㅍ) ### 프로젝트 [섹션 제목: “프로젝트”](#프로젝트) Project. 같은 일에 속하는 [대화](#%EB%8C%80%ED%99%94)·[아웃풋](#%EC%95%84%EC%9B%83%ED%92%8B)·[루틴](#%EB%A3%A8%ED%8B%B4)의 묶음. 프로젝트 안에서 일하는 에이전트는 그 프로젝트의 컨텍스트를 봅니다. 대화마다 배경을 다시 설명하지 않는 가장 값싼 방법입니다. 자세히: [프로젝트](/ko/docs/capabilities/projects/) ## ㅎ [섹션 제목: “ㅎ”](#ㅎ) ### 핸들 [섹션 제목: “핸들”](#핸들) Handle. 에이전트를 부를 때 쓰는 짧은 이름. 에이전트를 만들 때 이름에서 자동으로 만들어지고 그 뒤로 바뀌지 않습니다. ### 활동 [섹션 제목: “활동”](#활동) Activity. 웹 앱의 홈 화면. 모든 [에이전트](#%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8)의 모든 [대화](#%EB%8C%80%ED%99%94)를, 나를 기다리는지·도는 중인지·끝났는지로 묶어 보여줍니다. 진행 중인 일이 둘 이상일 때 보는 곳입니다. 자세히: [활동](/ko/docs/work/activity/) ## A–Z [섹션 제목: “A–Z”](#az) ### BYOK [섹션 제목: “BYOK”](#byok) “Bring your own key.” 에이전트의 모델 호출에 Endue 의 자격증명 대신 사용자가 가진 모델 제공자 자격증명을 쓰는 것. 자세히: [내 API 키 사용](/ko/docs/account/bring-your-own-key/) ### Dream [섹션 제목: “Dream”](#dream) 에이전트가 쉬는 시간에 [메모리](#%EB%A9%94%EB%AA%A8%EB%A6%AC)를 정리하는 [트레이트](#%ED%8A%B8%EB%A0%88%EC%9D%B4%ED%8A%B8). 겹치는 기억을 합치고, 낡은 사실을 고치고, 끝난 약속을 닫고, 더는 쓸모없는 기억은 보관합니다. 기억마다 한 줄 요약과 검색어도 답니다. 사용자가 정한 취침 시각에 [루틴](#%EB%A3%A8%ED%8B%B4)으로 돕니다. 자세히: [트레이트](/ko/docs/build/traits/#dream-%EC%9D%B4-%EC%9E%90%EB%8A%94-%EC%8B%9C%EA%B0%84) ### endue Computer [섹션 제목: “endue Computer”](#endue-computer) 에이전트가 파일을 두고 프로그램을 실행하는 컴퓨터. 에이전트가 처음 필요할 때 endue 클라우드에 띄우거나, 사용자가 자기 Linux 서버·VM 을 대신 줍니다. 그 파일 영역이 에이전트의 [워크스페이스](#%EC%9B%8C%ED%81%AC%EC%8A%A4%ED%8E%98%EC%9D%B4%EC%8A%A4)입니다. 자세히: [디바이스](/ko/docs/build/devices/) · [내 서버·VM 연결하기](/ko/docs/build/own-server/) ### LLM API [섹션 제목: “LLM API”](#llm-api) Endue API 키로 내 코드에서 모델을 직접 부르는 것. 요청 형식은 OpenAI·Anthropic 과 같고, 비용은 [크레딧](#%ED%81%AC%EB%A0%88%EB%94%A7)에서 빠집니다. 에이전트는 거치지 않습니다 — 프롬프트와 도구를 가진 에이전트를 부르려면 에이전트 API 를 씁니다. 자세히: [LLM API](/ko/docs/build/llm-api/) *** ## 폐기된 용어 [섹션 제목: “폐기된 용어”](#폐기된-용어) 옛 자료에 남아 있는 표현입니다. 현재 이름을 쓰세요. | 옛 용어 | 현재 이름 | 비고 | | ------------------- | ------------------------------------------------------------------- | ---------------------------------- | | Studio(스튜디오) | [에이전트 빌더](#%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8-%EB%B9%8C%EB%8D%94) | 제품 이름이었던 적이 없습니다. 되살리지 마세요 | | Abilities(어빌리티), 능력 | [리소스](#%EB%A6%AC%EC%86%8C%EC%8A%A4) | 같은 패널과 에이전트 빌더 섹션의 옛 이름입니다 | | 컴퓨터, 워크스페이스(기기라는 뜻) | [endue Computer](#endue-computer) | “워크스페이스” 는 이제 에이전트의 파일 영역만 가리킵니다 | | 아웃풋 | [아웃풋](#%EC%95%84%EC%9B%83%ED%92%8B) | 파일 한 개짜리 아웃풋을 가리키던 말입니다. 앱도 아웃풋입니다 | | 캐릭터 빌드, 퀘스트, 파티 | — | RPG 비유는 제품 카피에서 폐기됐습니다 | # Endue 의 동작 방식 > 메시지를 보낸 순간부터 에이전트가 결과를 건네는 순간까지 실제로 무슨 일이 일어나는가. Endue 에이전트에게 일을 시키면 한 번에 답하지 않습니다. 정하고, 실행하고, 돌아온 것을 보고, 다시 정하는 루프로 일합니다. 이 루프를 이해하는 것이 답답한 에이전트를 쓸모 있는 에이전트로 바꿉니다. 행동에 대한 거의 모든 질문 — 왜 그렇게 했는지, 왜 멈췄는지, 왜 나에게 물었는지 — 이 결국 루프에 대한 질문이기 때문입니다. ## 루프 [섹션 제목: “루프”](#루프) **실행**은 이 순환을 한 바퀴 도는 것이고, 답을 얻거나 사용자가 필요해질 때까지 되풀이됩니다. 1. **맥락을 읽습니다.** 무엇보다 먼저 아는 것을 모읍니다. 시스템 프롬프트, 지금까지의 대화, 관련된 메모리, 그리고 일하고 있는 프로젝트입니다. 2. **정합니다.** 다음 행동을 고릅니다. 도구를 부르거나, 사용자에게 묻거나, 답합니다. 3. **실행합니다.** 도구를 골랐다면 그 도구가 돌아갑니다. 호출과 결과가 일어나는 대로 보입니다. 4. **결과를 봅니다.** 도구의 출력이 다시 맥락으로 들어갑니다. 실패한 호출도 정보입니다. 에이전트는 오류를 보고 다른 방법을 시도할 수 있습니다. 5. **되풀이합니다.** 아까보다 많은 정보를 들고 2번으로 돌아갑니다. 에이전트는 필요한 것을 다 얻었을 때, 사용자에게 물을 것이 생겼을 때, 또는 한도에 닿았을 때 루프를 빠져나옵니다. ## 에이전트가 볼 수 있는 것 [섹션 제목: “에이전트가 볼 수 있는 것”](#에이전트가-볼-수-있는-것) 에이전트는 계정에 대해 전지전능하지 않습니다. 의도된 것입니다. 실행이 시작될 때 맥락에는 다음이 담깁니다. | 포함되는 것 | 포함되지 않는 것 | | -------------------------- | --------------------------------- | | 현재 리비전의 시스템 프롬프트 | 다른 에이전트의 대화 | | 이 대화의 기록 | 같은 실이 아닌, 다른 곳에서 이 에이전트와 나눈 대화 | | 지금 관련 있는, 저장해 둔 메모리 | 기억한 것 전부 — 메모리는 선별되지 통째로 실리지 않습니다 | | 대화가 프로젝트 안이라면 그 프로젝트의 컨텍스트 | 연결하지 않은 서비스의 데이터 | | 쓸 수 있도록 허용된 도구 | 다른 에이전트에 바인딩된 도구 | 바인딩이 중요한 이유가 여기 있습니다. Gmail 을 계정에 연결했다고 모든 에이전트의 맥락에 받은편지함이 들어가지는 않습니다. 필요한 에이전트에 연결을 바인딩하고, 그 에이전트만 볼 수 있습니다. ## 실행이 멈추는 이유 [섹션 제목: “실행이 멈추는 이유”](#실행이-멈추는-이유) 실행이 도중에 멈추는 이유는 정확히 셋뿐이고, 대화에서 각각 다르게 보입니다. **사용자만 아는 정보가 필요할 때.** 에이전트가 질문을 던지고 기다립니다. 선택지 중 하나를 고르는 것일 수도, 자유 입력일 수도, 선호를 묻는 것일 수도 있습니다. 답하면 일이 이어집니다. **되돌릴 수 없는 일을 하려 할 때.** 메일 발송, 메시지 게시, 데이터 삭제 같은 것들입니다. 실행이 멈추고 어떤 행동을 어떤 인자로 하려는지 정확히 보여줍니다. 이 관문은 설정으로 끌 수 없습니다. **갖지 않은 능력이 필요할 때.** 도움이 될 스킬이 바인딩돼 있지 않다면, 에이전트는 실패하는 대신 그것을 요청할 수 있습니다. 대화 안에서 승인하거나 거절하면 됩니다. 멈춤은 실패가 아닙니다 멈춘 실행은 처음부터 다시 시작하는 게 아니라 자리를 지키고 있는 것입니다. 답하면 에이전트는 이미 알아낸 것을 그대로 들고 이어갑니다. ## 일이 벌어지는 곳 [섹션 제목: “일이 벌어지는 곳”](#일이-벌어지는-곳) 실행은 브라우저 탭이 아니라 Endue 의 서버에서 돌아갑니다. 알아둘 만한 결과가 하나 있습니다. **앱을 닫아도 일은 멈추지 않습니다.** 긴 작업을 시작하고 탭을 닫았다가 나중에 돌아오면, 실행은 계속돼 있었고 결과가 기다립니다. 루틴이 가능한 것도 같은 이유입니다. 예약된 실행은 누가 지켜볼 필요가 없습니다. 일이 내 기기에서, 그 기기의 파일에 닿으면서 일어나야 한다면 그 기기에 [endue Computer](/ko/docs/build/own-server/)를 설치해 에이전트에게 주세요. 실행은 여전히 endue 서버가 이끌고, 파일과 프로그램은 내 기기에 있습니다. ## 실전에서 의미하는 것 [섹션 제목: “실전에서 의미하는 것”](#실전에서-의미하는-것) 루프의 생김새에서 습관 셋이 바로 따라 나옵니다. **에이전트가 스스로 확인할 방법을 주세요.** 루프의 품질은 4단계의 피드백만큼입니다. 스스로 검증할 수 있는 작업 — 검색해서 확인하기, 쓰고 다시 읽기 — 이 눈 감고 한 번에 맞혀야 하는 작업보다 잘 됩니다. **단계가 아니라 목표를 구체적으로 말하세요.** 행동은 2단계에서 에이전트가 고릅니다. *좋은 결과가 어떤 모습인지* 알려주면 겨눌 과녁이 생깁니다. 단계를 하나하나 지시하는 것은 루프와 싸우는 일입니다. **일찍 바로잡으세요.** 실행이 도는 중에 방향을 잡아줄 수 있습니다. 3단계에서의 정정은 한 단계 값이지만, 실행이 끝난 뒤의 같은 정정은 실행 전체 값입니다. ## 다음에 읽을 것 [섹션 제목: “다음에 읽을 것”](#다음에-읽을-것) [핵심 개념](/ko/docs/get-started/core-concepts/)이 페이지가 전제한 어휘 — 에이전트 · 실행 · 도구 · 스킬 · 메모리. [빠른 시작](/ko/docs/get-started/quickstart/)직접 만든 에이전트로 루프가 도는 것을 지켜봅니다. # 빠른 시작 > Endue 에이전트를 만들고, 이미 쓰는 도구에 연결하고, 실제 결과물을 받기까지 약 10분. 말만 하는 장난감이 아니라 실제로 쓸모 있는 일을 하는 에이전트 하나를 만들어 봅니다. 끝나면 자기 정체성과 도구 연결을 갖춘 에이전트, 그리고 가리킬 수 있는 결과물이 남습니다. ## 시작하기 전에 [섹션 제목: “시작하기 전에”](#시작하기-전에) 다음이 준비돼 있어야 합니다. * 웹에 로그인된 Endue 계정. * 10분 정도의 시간. * 에이전트가 다룰 서비스의 계정 — Gmail, Google 캘린더, Slack, Notion, 또는 [그 밖의 서비스](/ko/docs/connect/available-connectors/) 중 하나. 3단계에서 하나를 연결합니다. 데이터를 시험 삼아 다뤄도 괜찮은 계정을 쓰세요. 참고 이 안내는 웹 앱을 기준으로 합니다. Endue 는 [데스크톱 · 모바일 · 명령줄](/ko/docs/get-started/surfaces/) 에서도 돌아가고, 여기서 만드는 에이전트는 그 모두에서 그대로 동작합니다. ## 첫 에이전트 만들기 [섹션 제목: “첫 에이전트 만들기”](#첫-에이전트-만들기) 1. **에이전트를 만듭니다.** **에이전트**로 가서 **새 에이전트**를 선택합니다. 이름을 정하세요. 나중에 에이전트를 부를 때 쓰는 핸들은 이름에서 자동으로 만들어집니다. 이 에이전트가 무엇을 위한 것인지 한 문장으로 씁니다. 구체적일수록 좋습니다. *“매일 아침 안 읽은 메일을 요약하고 답장이 필요한 것을 표시한다”* 는 *“이메일 비서”* 보다 훨씬 나은 에이전트를 만듭니다. 2. **시스템 프롬프트를 줍니다.** 에이전트를 열고 시스템 프롬프트를 씁니다. 모든 대화 전에 읽는 상시 지침입니다. 무엇을 해야 하는지, 무엇을 절대 하면 안 되는지, 좋은 결과가 어떤 모습인지 적으세요. Endue 는 이 프롬프트의 모든 판을 보관합니다. 마음껏 바꾸세요. 바꾼 것이 더 나쁘면 잘 되던 리비전으로 되돌리면 됩니다. 3. **도구를 연결합니다.** 에이전트 빌더에서 **커넥터**를 열고 에이전트가 다룰 서비스를 연결합니다 — Gmail, Google 캘린더, Slack, Notion, 또는 [제공되는 전체 목록](/ko/docs/connect/available-connectors/) 중 하나입니다. 해당 제공자 화면으로 이동해 로그인하고 접근을 승인하게 됩니다. Endue 는 그 동의 화면에 표시된 권한만 받고, 그 권한은 언제든 해지할 수 있습니다. 그런 다음 연결을 에이전트에 바인딩합니다. 그래야 계정의 모든 에이전트가 아니라 이 에이전트만 그 연결을 쓸 수 있습니다. 쓰려던 계정이 맞는지 확인하세요 연결은 제공자의 특정 계정에 묶입니다. 회사 구글 계정과 개인 구글 계정을 둘 다 쓴다면 어느 쪽으로 로그인하는지 확인하세요. 4. **실제 일을 시켜봅니다.** 에이전트와 대화를 열고 시험용이 아닌 진짜 작업을 줍니다 — *“이번 주 메일 중 내가 답장하지 않은 것을 모두 찾아서, 각각 무엇을 요구하는지 요약해줘.”* 에이전트는 **실행** 안에서 일합니다. 어떤 도구를 부를지 정하고, 부르고, 결과를 읽고, 답에 이를 때까지 계속합니다. 각 단계는 진행되는 대로 볼 수 있습니다. 5. **엉뚱한 방향으로 가면 잡아줍니다.** 잘못 가는 실행이 끝나기를 기다릴 필요가 없습니다. 도는 중에 정정을 보내면 에이전트가 다음 단계에서 그것을 반영합니다. 6. **계정 밖으로 나가는 일은 승인합니다.** 에이전트가 메일을 보내거나, 메시지를 올리거나, 무언가를 지우려 하면 멈추고 먼저 묻습니다. 승인하면 사용자가 본 그 행동을 그대로 실행하고, 거절하면 다른 방법을 찾습니다. 외부로 나가는 행동과 되돌릴 수 없는 행동에 대해 이 관문은 선택 사항이 아니며 끌 수도 없습니다. 7. **결과물을 찾습니다.** 보고서 · 요약 · 문서처럼 분량이 있는 결과물은 **아웃풋**이 되어 **Outputs** 아래에 자기 페이지를 갖습니다. 아웃풋은 기본적으로 사용자만 볼 수 있습니다. 작업 공간 밖의 사람에게 읽히고 싶을 때 링크로 공유하면, 그 사람에게 다른 접근 권한은 생기지 않습니다. 스크린샷은 준비 중입니다 이 안내는 제품을 함께 띄워 놓고 따라올 독자를 기준으로 썼습니다. 단계별 주석 스크린샷은 앱에서 자동으로 생성되며 이 페이지의 다음 판에 실립니다. ## 반복되게 만들기 [섹션 제목: “반복되게 만들기”](#반복되게-만들기) 방금 만든 에이전트는 시킬 때 움직입니다. 진짜 값어치는 시키지 않아도 움직일 때 나옵니다. 같은 작업을 일정이 붙은 **루틴**으로 바꾸세요 — 평일 아침 8시, 매주 월요일, 매달 1일처럼요. 루틴은 Endue 를 열어두지 않아도 실행되고, 결과물은 돌아왔을 때 기다리고 있습니다. 판단이 필요하면 에이전트가 묻고, 그 요청은 [활동](/ko/docs/work/activity/) 보드에서 기다립니다. ## 더 나은 에이전트 만들기 [섹션 제목: “더 나은 에이전트 만들기”](#더-나은-에이전트-만들기) 도움이 되는 에이전트와 성가신 에이전트를 가르는 것은 대개 어떤 모델을 쓰느냐가 아니라 어떻게 설정했느냐입니다. 아래를 해본 뒤에는 [시험하고 다듬기](/ko/docs/build/iterating/)에서 잘 돌던 에이전트를 망가뜨리지 않고 바꾸는 방법을 다룹니다. 좋은 결과가 어떤 모습인지 말한다 단계는 에이전트가 알아서 고릅니다. 알아서 맞힐 수 없는 것은 “다 됐다” 에 대한 사용자의 기준입니다. *“메일 요약해줘”* 대신 *“안 읽은 메일을 요약하되 보낸 사람별로 묶고, 나에게 직접 질문한 것은 원문 그대로 인용해서 메일을 열지 않고도 답할 수 있게 해줘”* 로 말해보세요. 상시 규칙은 매 메시지가 아니라 시스템 프롬프트에 둔다 모든 대화에서 되풀이하게 될 것은 시스템 프롬프트에 넣습니다. 내가 누구인지, 무엇을 중요하게 보는지, 에이전트가 절대 하면 안 되는 일, 결과물의 형식 같은 것들입니다. 프롬프트는 버전이 남으니 마음 놓고 다듬어도 됩니다. 바꾸고, 나아졌는지 보고, 아니면 되돌리세요. 한 가지 일을 맡긴다 목적이 좁고 도구가 셋인 에이전트가, 목적이 흐릿하고 도구가 스무 개인 에이전트보다 낫습니다. 기존 에이전트를 넓히지 말고 두 번째 에이전트를 만드세요. 도는 중에 바로잡는다 실행이 잘못 가는 것을 보면서 끝나기를 기다리면 그 실행을 통째로 버리게 됩니다. 문제가 보이는 즉시 정정을 보내세요. 에이전트는 다음 단계에서 그것을 반영합니다. 필요한 연결만 바인딩한다 연결을 에이전트별로 바인딩하는 데는 이유가 있습니다. 캘린더가 필요 없는 에이전트는 캘린더를 갖지 않아야 합니다. 잘못될 수 있는 범위가 좁아지고, 에이전트의 선택도 더 예측 가능해집니다. ## 다음에 읽을 것 [섹션 제목: “다음에 읽을 것”](#다음에-읽을-것) [핵심 개념](/ko/docs/get-started/core-concepts/)에이전트 · 실행 · 스킬 · 커넥터 · 메모리 · 아웃풋이 정확히 무엇인지. [Endue 의 동작 방식](/ko/docs/get-started/how-it-works/)모든 실행 뒤의 루프, 그리고 실행이 멈추는 이유. [에이전트 빌더](/ko/docs/build/agent-builder/)에이전트의 행동을 정하는 모든 설정. [루틴](/ko/docs/automate/routines/)방금 만든 것을 사용자 없이도 돌아가는 일로 바꾸기. ## 도움 받기 [섹션 제목: “도움 받기”](#도움-받기) * **문서 검색** — 아무 페이지에서나 `Ctrl`/`⌘` + `K` 를 누르세요. * **에이전트에게 묻기** — 여기 모든 페이지는 Markdown 으로도 제공되고 사이트 전체가 [`/llms.txt`](/ko/docs/llms.txt) 에 색인돼 있습니다. 에이전트에게 그 주소를 주고 물어보세요. * **메일 보내기** — . # 사용 환경 > Endue 는 브라우저 · 데스크톱 · 휴대폰 · 터미널에서 돌아갑니다. 어디서 쓰든 같은 에이전트와 같은 기록을 봅니다. **사용 환경**은 Endue 를 쓸 수 있는 곳 하나하나를 말합니다. 서로 다른 제품이 아닙니다. 에이전트도, 대화도, 연결도, 아웃풋도 어디서나 같아서, 브라우저에서 시작한 일을 한 시간 뒤 휴대폰에서 이어받아 답할 수 있습니다. 취향이 아니라 하려는 일에 맞춰 고르세요. 각 환경이 잘하는 일이 다릅니다. * 웹 **작업 공간 전체, 설치할 것 없음.** Endue 가 하는 모든 일을 브라우저에서 할 수 있습니다. 에이전트를 만들고 다듬는 것, 대화하는 것, 도구를 연결하는 것, 스킬을 쓰는 것, 루틴을 예약하는 것, 아웃풋을 검토하는 것, 결제를 관리하는 것까지 전부입니다. *만드는* 일에는 웹을 쓰세요 — 에이전트 생성, 프롬프트 수정, 커넥터 연결 같은 것들입니다. 다른 환경은 *지켜보고* *응답하는* 데 더 낫습니다. * 데스크톱 **창 하나로 여는 endue.** endue Desktop 은 macOS 용 데스크톱 앱입니다. 같은 계정으로 로그인한 웹과 같은 endue 를 열고, 에이전트와 대화도 같습니다. endue Desktop 으로 로그인한 컴퓨터는 [디바이스](/ko/docs/build/devices/)에 나타나서, 내 계정이 어디서 쓰이는지 볼 수 있습니다. 에이전트가 그 컴퓨터에서 일하지는 않습니다. 내 컴퓨터의 파일을 에이전트가 다루게 하려면 그 컴퓨터에 [endue Computer](/ko/docs/build/own-server/)를 설치하세요. 설치 문서 작성 중 설치 안내는 작성 중이며 준비되는 대로 여기에 실립니다. Windows·Linux 판은 예정입니다. * 모바일 **만드는 곳이 아니라 응답하는 곳.** 에이전트가 사용자를 필요로 하는 순간에 집중한 iOS · Android 앱입니다. 질문을 했을 때, 무언가를 보내기 위해 승인이 필요할 때, 일을 마쳐서 결과를 읽고 싶을 때입니다. 책상을 떠나 있는 동안에도 긴 작업이 계속 굴러가게 하려면 모바일을 쓰세요. 설치 문서 작성 중 설치 안내는 작성 중이며 준비되는 대로 여기에 실립니다. * CLI **파이프 안의 Endue.** 로컬 런타임이자 명령줄 클라이언트인 `endue` 바이너리 하나입니다. 다른 도구를 대체하기보다 함께 쓰이도록 설계했습니다. | 명령 | 하는 일 | | --------------- | ------------------------------ | | `endue chat` | 터미널에서의 대화형 세션 | | `endue run` | 단발 작업 — stdin 을 읽고 stdout 으로 씀 | | `endue session` | 지난 세션 목록·재개 | | `endue agent` | 에이전트 조회·선택 | | `endue serve` | 에이전트 작업을 호스팅하는 로컬 런타임 실행 | | `endue daemon` | 런타임을 백그라운드 서비스로 설치 | 스크립팅과 자동화에는 CLI 를 쓰세요 — 로그를 에이전트에 흘려보내기, CI 에서 작업 돌리기, 기존 셸 워크플로에 Endue 를 엮기 같은 일입니다. 아직 일반 공개 전 CLI 는 일반 공개 전입니다. 설치 안내는 출시되면 여기에 실립니다. ## 환경 고르기 [섹션 제목: “환경 고르기”](#환경-고르기) | 하고 싶은 일 | 쓸 곳 | | ----------------------------- | ------------------------------------------ | | 에이전트를 만들거나 행동을 바꾸기 | 웹 | | 도구를 연결하거나 권한을 관리하기 | 웹 | | 내 컴퓨터나 서버의 파일을 에이전트가 다루게 하기 | 그 기기의 [endue Computer](/ko/docs/build/own-server/) | | 자리를 비운 사이 에이전트의 질문에 답하기 | 모바일 | | 에이전트가 하려는 행동을 승인하기 | 모든 환경 | | 데이터를 에이전트에 흘려보내거나 스크립트에서 실행하기 | CLI | ## 사용 환경과 디바이스 [섹션 제목: “사용 환경과 디바이스”](#사용-환경과-디바이스) 사용 환경은 *내가* endue 를 쓰는 곳입니다. [디바이스](/ko/docs/build/devices/)는 *에이전트가* 일하는 대상입니다. 파일을 두고 프로그램을 실행하는 endue Computer, 웹 페이지를 여는 endue for Chrome 이 그것입니다. 디바이스 목록에는 내가 endue Desktop 을 쓰는 컴퓨터도 나오지만, 에이전트가 그 컴퓨터에서 일하지는 않습니다. ## 다음에 읽을 것 [섹션 제목: “다음에 읽을 것”](#다음에-읽을-것) [빠른 시작](/ko/docs/get-started/quickstart/)웹 앱에서 첫 에이전트를 만들어 봅니다. [핵심 개념](/ko/docs/get-started/core-concepts/)모든 환경이 공유하는 어휘. # 문제 해결 > 에이전트가 엉뚱한 일을 했다, 실행이 끝나지 않는다, 아무 일도 안 일어난다 — 흔한 증상과 각각을 실제로 고치는 방법. 자주 나오는 순서대로 정리한 증상 목록입니다. 커넥터에 한정된 문제는 [별도 페이지](/ko/docs/connect/troubleshooting/)에 있습니다. ## 에이전트가 엉뚱한 일을 했다 [섹션 제목: “에이전트가 엉뚱한 일을 했다”](#에이전트가-엉뚱한-일을-했다) 무엇을 바꾸기 전에 [실행](/ko/docs/work/runs/)을 읽으세요. 도구 호출이 어디서 어긋났는지 보여주고, 해법은 거기서 따라 나옵니다. | 실행에서 보이는 것 | 원인 | 해법 | | ------------------------ | ------------------------------------------------------------------------------------- | --------------------------------------------------------- | | 도구를 하나도 안 부르고 일반 지식으로 답함 | 찾아봐야 한다는 것을 모름 | [시스템 프롬프트](/ko/docs/build/system-prompt/)에 그렇게 적고, 커넥터가 바인딩됐는지 확인 | | 맞는 도구를 잘못된 인자로 부름 | 맥락 부족 | 그 사실을 프롬프트나 [메모리](/ko/docs/capabilities/memory/)에 두기 | | 수렴하지 못하고 맴돎 | 작업 정의 부족, 또는 길이에 비해 [추론 강도](/ko/docs/build/models/#%EC%B6%94%EB%A1%A0-%EA%B0%95%EB%8F%84)가 낮음 | 작업을 좁히고, 강도를 올리기 | | 답은 맞는데 쓸 수가 없음 | “다 됐다” 의 기준이 없음 | 원하는 산출물을 프롬프트에 서술 | | 뻔한 것을 물어봄 | 그 사실이 에이전트가 볼 수 있는 어디에도 없음 | 프롬프트 · 메모리 · [프로젝트](/ko/docs/capabilities/projects/) | 한 문장의 스티어링으로 실행이 매번 살아난다면, 그 문장은 프롬프트에 있어야 합니다. [시험하고 다듬기](/ko/docs/build/iterating/)를 보세요. ## 실행이 끝나지 않는다 [섹션 제목: “실행이 끝나지 않는다”](#실행이-끝나지-않는다) **멈춰서 사용자를 기다리는 중입니다.** [질문](/ko/docs/work/questions/), [승인](/ko/docs/work/approvals/), [스킬 요청](/ko/docs/capabilities/skills/#%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8%EA%B0%80-%EC%8A%A4%ED%82%AC%EC%9D%84-%EC%9A%94%EC%B2%AD%ED%95%A0-%EB%95%8C)은 실행을 무기한 붙잡습니다. 대화 맨 아래로 내려가 보세요. 거기 있습니다. **단계 한도에 닿았습니다.** 긴 작업은 최종 답 없이 끝납니다. 계속하라고 하거나 작업을 나누세요. **실패했습니다.** 오류가 대화에 있습니다. 모델 오류는 대개 모델 제공자가 호출을 거부한 것입니다. [BYOK](/ko/docs/account/bring-your-own-key/)를 쓴다면 키와 크레딧을 확인하세요. 원인이 풀렸다면 [활동](/ko/docs/work/activity/#%EC%8B%A4%ED%8C%A8%ED%95%9C-%EC%8B%A4%ED%96%89-%EB%8B%A4%EC%8B%9C-%EB%8F%8C%EB%A6%AC%EA%B8%B0) 보드나 그 대화 위의 **재시도** 로 다시 돌릴 수 있습니다. **앱을 닫았습니다.** 그것 때문에 멈추지는 않습니다. 실행은 Endue 서버에서 끝나고, 돌아오면 결과가 실 안에 있습니다. ## 메시지를 보내도 아무 일이 없다 [섹션 제목: “메시지를 보내도 아무 일이 없다”](#메시지를-보내도-아무-일이-없다) * **이미 실행이 돌고 있습니다.** 실행 중에 보낸 메시지는 새 차례를 시작하는 대신 그 실행에 [방향을 잡아줍니다](/ko/docs/work/steering/). * **허용량을 다 썼습니다.** 그 주의 허용량이 소진되면 실행이 거절됩니다. [요금제와 사용량](/ko/docs/account/plans-and-usage/)을 보세요. * **로그아웃됐습니다.** 세션은 일정 시간 활동이 없으면 끝납니다. 다시 로그인하면 대화는 두고 간 그대로 있습니다. ## 에이전트가 갖고 있던 능력을 잃었다 [섹션 제목: “에이전트가 갖고 있던 능력을 잃었다”](#에이전트가-갖고-있던-능력을-잃었다) | 증상 | 확인할 것 | | ------------ | ---------------------------------------------------------------------------------------------------------------------- | | 커넥터의 도구가 사라짐 | 연결의 재승인이 필요하거나 바인딩이 풀렸을 수 있음 — [연결 문제 해결](/ko/docs/connect/troubleshooting/) | | 기억을 못 하기 시작함 | 메모리 [도구 그룹](/ko/docs/capabilities/built-in-tools/)이 꺼져 있을 수 있음 | | 아웃풋을 저장하지 않음 | 아웃풋 도구 그룹이 꺼져 있을 수 있음 | | 예전 버전처럼 행동함 | 프롬프트 [리비전](/ko/docs/build/system-prompt/#%EB%A6%AC%EB%B9%84%EC%A0%84%EA%B3%BC-%EB%90%98%EB%8F%8C%EB%A6%AC%EA%B8%B0)이 복원됐을 수 있음 | 변경은 *다음* 실행부터 적용됩니다. 방금 고친 것을 무시하는 에이전트는 아마 실행 도중일 것입니다. ## 루틴이 돌지 않는다 [섹션 제목: “루틴이 돌지 않는다”](#루틴이-돌지-않는다) * **반복 실패로 중지됐습니다.** Endue 는 실패하는 루틴을 영원히 재시도하는 대신 중지하고 알려줍니다. * **돌았는데 행동을 거절했습니다.** 지켜보는 사람이 없는 실행은 보내거나 지우지 못합니다 — [루틴](/ko/docs/automate/routines/#%EC%8A%B9%EC%9D%B8%ED%95%A0-%EC%82%AC%EB%9E%8C%EC%9D%B4-%EC%95%84%EB%AC%B4%EB%8F%84-%EC%97%86%EB%8B%A4)을 보세요. * **돌았는데 알아채지 못했습니다.** [활동](/ko/docs/work/activity/) 보드를 확인하세요. 결과물은 대개 [아웃풋](/ko/docs/capabilities/outputs/)으로 쌓입니다. 새 대화에서 재현해 보세요 긴 실은 설정과 무관하게 답을 바꾸는 기록을 안고 있습니다. 원인을 짚기 어려운 문제라면, 에이전트가 망가졌다고 결론 내리기 전에 새 대화에서 같은 요청을 해보세요. ## 도움 받기 [섹션 제목: “도움 받기”](#도움-받기) * **문서 검색** — 아무 페이지에서나 `Ctrl`/`⌘` + `K` 를 누르세요. * **메일 보내기** — . 무엇을 요청했는지, 에이전트가 무엇을 했는지, 어느 도구 호출이 어긋났는지를 함께 보내주세요. 대개 그것이면 주고받지 않고 답할 수 있습니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [연결 문제 해결](/ko/docs/connect/troubleshooting/)만료된 토큰, 취소된 접근, 잘못된 계정. [시험하고 다듬기](/ko/docs/build/iterating/)되풀이되는 문제를 더 나은 에이전트로 바꾸기. [실행](/ko/docs/work/runs/)실행 읽기, 그리고 실행이 멈추는 모든 이유. # 활동 > 에이전트들이 지금 무엇을 하고 있는지 한 화면에서 봅니다 — 나를 기다리는 것, 지금 도는 것, 실패한 것, 끝난 것, 그리고 열지 않고 실행을 멈추거나 다시 돌리는 법. **Activity**(활동)는 홈 화면입니다. 모든 에이전트의 모든 대화를 상태별로 모아 보여줍니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 에이전트가 둘 이상이거나, 진행 중인 일이 둘 이상일 때 엽니다. 대화는 자기 자신에 대해서만 알려주지만, “전부를 통틀어 지금 무슨 일이 벌어지고 있고 어느 것이 먼저 나를 필요로 하는가” 에 답하는 곳은 여기뿐입니다. 자리를 비웠다 돌아왔을 때 들르는 곳이기도 합니다. [실행](/ko/docs/work/runs/)은 앱을 닫아도 계속되므로, 이 보드가 내가 없는 동안 일어난 일의 기록입니다. ## 세 개의 탭 [섹션 제목: “세 개의 탭”](#세-개의-탭) 홈 화면에는 탭이 셋 있습니다. | 탭 | 무엇을 위한 것인가 | | -------------- | ---------------------------------------------- | | **Activity** | 이 보드 — 상태별 대화 | | **Usage** | [사용량 대시보드](/ko/docs/account/usage/) — 토큰·모델·에이전트를 기간별로 | | **What’s new** | 제품 소식, 최신순. 탭에 점이 있으면 안 읽은 소식이 있다는 뜻입니다 | ## 보드 읽기 [섹션 제목: “보드 읽기”](#보드-읽기) 1. **헤더의 숫자를 봅니다.** *Active* 는 돌고 있는 대화 수, *Needs review* 는 나에게 막혀 있는 수, *Agents* 는 가진 에이전트 수이고, 토큰 배지는 플랜 포함량을 얼마나 썼는지입니다. 배지를 누르면 [사용량 대시보드](/ko/docs/account/usage/)로 갑니다. 2. **볼 에이전트를 좁힙니다.** 헤더 아래 에이전트 칩 줄이 보드를 거릅니다. 아무것도 고르지 않으면 전부 보입니다. 3. **열을 읽습니다.** * **Waiting** — 에이전트가 멈춰 사용자를 기다립니다. [질문](/ko/docs/work/questions/), [승인](/ko/docs/work/approvals/), 스킬 허가 중 하나입니다. 이 열의 행에는 표식이 붙고, 입력을 기다리는 행이 하나라도 있으면 열 머리에 점이 켜집니다. * **Active** — 실행이 진행 중입니다. 행에 그 순간 쓰고 있는 도구 이름이 나옵니다. * **Failed** — 실행이 오류로 끝났습니다. 행에 멈춘 사유(모델 응답 시간 초과, 사용 한도 도달 등)가 나옵니다. * **Done** — 끝난 것. 날짜별로 묶여 있습니다. 4. **행을 고르면 대화가 열립니다.** 답하고, 승인하고, 결과를 읽는 일은 거기서 합니다. 보드는 길을 안내할 뿐 대신 행동하지 않습니다. ## Board 와 Feed [섹션 제목: “Board 와 Feed”](#board-와-feed) 오른쪽 토글은 같은 데이터를 두 가지로 읽습니다. * **Board** — 위의 네 열. 무엇이 막혔고, 무엇이 움직이고, 무엇이 끝났는지 분류할 때. * **Feed** — 시간순 한 줄 목록, 최신순. 무슨 일이 순서대로 있었는지 따라잡을 때. ## 보드에서 실행 멈추기 [섹션 제목: “보드에서 실행 멈추기”](#보드에서-실행-멈추기) **Active** 열의 행에는 **Stop** 버튼이 있습니다. 확인을 한 번 묻고 그 실행을 끝냅니다. 멈추기는 되돌리기가 아닙니다 실행이 이미 한 일은 남습니다 — 보낸 메시지, 쓴 파일, 수행한 행동. 멈추는 것은 그 지점 이후이고, 멈춘 실행은 이어서 진행할 수 없습니다. 실행을 잃지 않고 방향만 바꾸려면 멈추는 대신 [방향을 잡으세요](/ko/docs/work/steering/). Stop 은 **Active** 열에서만 제공됩니다. **Waiting** 의 대화는 도는 중이 아니라 내 답을 기다리는 중이라 멈출 실행이 없습니다. 답하거나 그대로 두면 됩니다. ## 실패한 실행 다시 돌리기 [섹션 제목: “실패한 실행 다시 돌리기”](#실패한-실행-다시-돌리기) **Failed** 열의 행에는 **다시 시도** 버튼이 있습니다. 누르면 그 대화의 마지막 요청을 새 메시지 없이 다시 실행하고, 행은 **Active** 로 옮겨 갑니다. 대화를 열 필요는 없습니다. Feed 보기의 실패 행에도 같은 버튼이 있습니다. 대화를 열어서 다시 돌려도 됩니다. 마지막 실행이 실패한 대화에 들어가면 화면 위에 실패 사유와 **재시도** 버튼이 뜹니다. 다른 기기에서 보냈거나 [루틴](/ko/docs/automate/routines/)이 돌린 실행이어도 같습니다. 입력창에서 모델을 바꾼 뒤 **재시도** 를 누르면 바꾼 모델로 다시 돕니다. 아직 막혀 있으면 시작되지 않습니다 사용 한도에 닿았거나 요금제에서 쓸 수 없는 모델이라서 실패했다면, 그 상태가 풀리기 전에는 다시 시도해도 시작 단계에서 거절되고 사용량은 차감되지 않습니다. 사유가 알림으로 뜹니다. Slack·Discord 같은 [채널](/ko/docs/automate/channels/)에서 온 대화에는 다시 시도 버튼이 없습니다. 다시 돌린 답을 그 채널로 되돌려 보낼 방법이 없기 때문입니다. 채널에서 다시 요청하세요. ## 한계 [섹션 제목: “한계”](#한계) * 보드는 최근 대화를 보여줄 뿐 전체 이력이 아닙니다. 오래된 실은 그 대화를 가진 에이전트의 [대화](/ko/docs/work/conversations/) 목록에 있습니다. * 타이머로 갱신되지 않습니다. 탭을 다시 열거나 페이지로 돌아오면 최신 상태가 됩니다. * 숫자와 열은 실행이 아니라 대화 단위입니다. 오늘 다섯 번 돈 대화도 한 행입니다. * 에이전트 필터는 보이는 것을 바꿀 뿐, 헤더에 집계되는 수는 바꾸지 않습니다. ## 관련 [섹션 제목: “관련”](#관련) [실행](/ko/docs/work/runs/)Active 열이 한 단계씩 보여주고 있는 것. [알림](/ko/docs/work/inbox/)보드를 확인하는 대신, 끝났다는 사실을 통지받기. [사용량 대시보드](/ko/docs/account/usage/)두 번째 탭 — 토큰 배지가 데려가는 곳. [대화](/ko/docs/work/conversations/)보드에 더는 없는 실을 찾기. # 승인 > 에이전트가 되돌릴 수 없는 일을 하기 전의 관문 — 무엇이 걸리고, 무엇을 보게 되고, 승인할 사람이 없으면 어떻게 되는가. **승인**은 에이전트가 되돌릴 수 없는 일을 하기 전에 Endue 가 멈춰 서서 묻는 것입니다. 일어나기 전에 정확히 어떤 행동을 어떤 인자로 하려는지 보게 됩니다. ## 무엇이 걸리는가 [섹션 제목: “무엇이 걸리는가”](#무엇이-걸리는가) [커넥터](/ko/docs/connect/overview/)가 제공하는 모든 작업은 세상에 무엇을 하는지에 따라 분류돼 있습니다. 그중 두 부류는 항상 사용자 앞에서 멈춥니다. | 분류 | 예시 | 관문 | | ------ | --------------------------------- | ------ | | **읽기** | 메일 검색, 파일 목록, 페이지 읽기, 대시보드 조회 | 없음 | | **쓰기** | 문서 생성, 행 추가, 메일 초안 작성, 작업 갱신 | 없음 | | **발송** | 메일 발송, 채널 게시, 글 공개, 댓글 답글, 빌드 트리거 | **있음** | | **파괴** | 파일 삭제, 레코드 삭제, 알림 무음 처리 | **있음** | 기준은 “무언가를 바꾸는가” 가 아니라 “되돌릴 수 있는가, 그리고 다른 사람에게 닿는가” 입니다. 초안을 만드는 것은 쓰기이고, 그것을 보내는 것은 발송입니다. 이 관문은 설정으로 바꿀 수 없습니다 발송과 파괴 작업은 항상 묻습니다. 에이전트별로도 계정별로도 이것을 끄는 설정은 없습니다. 자기 관문을 스스로 끌 수 있는 에이전트라면 그건 관문이 아닐 것입니다. ## 디바이스에서 [섹션 제목: “디바이스에서”](#디바이스에서) 에이전트의 [디바이스](/ko/docs/build/devices/)는 따로 정한 규칙을 따릅니다. | 디바이스 | 먼저 묻는 것 | 묻지 않는 것 | | -------------------- | ----------------------------------- | ---------------------------------------------- | | **endue Computer** | 없음 | [워크스페이스](/ko/docs/build/workspace/)의 파일 읽기·쓰기, 프로그램 실행 | | **endue for Chrome** | 클릭, 입력, 키 누르기, 양식 채우기, 파일 업로드, 탭 닫기 | 페이지 열기·읽기, 스크롤, 스크린샷 | 워크스페이스는 에이전트를 위해 마련된 기기 위의 자기 폴더라서, 그 안의 일은 호출마다 멈추지 않습니다. 웹 페이지는 다릅니다. 클릭 한 번이 다른 사람에게 닿는 무언가를 제출할 수 있습니다. ## 직접 연결 [섹션 제목: “직접 연결”](#직접-연결) 내가 운영하는 MCP 서버나 HTTP API 인 [직접 연결](/ko/docs/connect/direct-connections/) 호출은 분류돼 있지 않아서, 기본적으로 **매번 묻습니다.** 연결 설정에서 도구별(MCP)이나 GET 같은 메서드별(HTTP)로 **항상 허용**을 켤 수 있습니다. 루틴과 채널은 항상 허용한 것만 쓸 수 있습니다. ## 무엇을 보고 무엇이 일어나는가 [섹션 제목: “무엇을 보고 무엇이 일어나는가”](#무엇을-보고-무엇이-일어나는가) 실행이 멈추고 어떤 작업을 어떤 인자로 하려는지 보여줍니다. 수신자, 제목, 본문, 파일, 레코드까지요. **승인**하면 방금 본 그대로 행동이 실행됩니다. 승인은 포괄적인 권한 부여가 아닙니다. 그 인자를 가진 그 행동 하나를 허가하는 것입니다. **거절**하면 그 행동은 일어나지 않습니다. 에이전트는 그 사실을 전달받고 계속 일합니다. 대개는 멈추지 않고 다른 초안을 제안하는 식으로 맞춰갑니다. 승인 전에 인자를 고치는 기능은 없습니다. 인자가 잘못됐으면 거절하고 무엇이 달라져야 하는지 말하세요. 에이전트가 고친 행동을 다시 들고 옵니다. ## 지켜보는 사람이 없는 실행 [섹션 제목: “지켜보는 사람이 없는 실행”](#지켜보는-사람이-없는-실행) [루틴](/ko/docs/automate/routines/)처럼 아무도 보고 있지 않은 실행은 물을 수가 없습니다. 그런 실행에서 승인이 필요한 행동은 기다리는 대신 **거절**됩니다. 의도된 것입니다. 누군가 알아챌 때까지 몇 시간을 조용히 매달려 있는 행동이, 분명하게 실패하는 행동보다 나쁩니다. 예약된 작업이 무언가를 보내야 한다면, 스스로 보내는 대신 초안을 만들어 알려주도록 설계하세요. ## 비슷한 관문들 [섹션 제목: “비슷한 관문들”](#비슷한-관문들) 실행을 멈추고 사용자의 결정을 기다리는 것이 둘 더 있고, 방식은 같습니다. * **에이전트가 갖지 않은 [스킬](/ko/docs/capabilities/skills/).** 실패하는 대신 요청합니다. 대화 안에서 주거나 거절하면 됩니다. * **사용자만 아는 정보가 필요할 때의 [질문](/ko/docs/work/questions/).** ## 한계 [섹션 제목: “한계”](#한계) * 승인은 대화에서 답합니다. 기다리는 것이 있다는 사실은 [활동](/ko/docs/work/activity/) 보드에 보입니다. * 관문에서 인자를 고칠 수는 없습니다. 거절하고 방향을 다시 잡아주세요. * 승인은 행동 하나에 대한 것입니다. 같은 실행에서 다음 발송이 있으면 다시 묻습니다. * 거절된 행동을 나중에 재생할 수는 없습니다. 에이전트가 다시 제안해야 합니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [연결 가능한 서비스](/ko/docs/connect/available-connectors/)모든 커넥터, 그리고 그중 몇 개의 작업이 관문에 걸리는지. [루틴](/ko/docs/automate/routines/)일정을 잡는 법, 그리고 지켜보는 사람이 없는 실행이 하지 않는 일. [보안과 권한](/ko/docs/account/security/)에이전트가 닿을 수 있는 것과 닿을 수 없는 것. # 첨부와 이미지 > 메시지에 이미지·파일을 붙입니다 — 에이전트가 실제로 무엇을 읽는지, 그리고 그것을 고른 모델이 정하는 이유. 메시지에 이미지와 파일을 붙일 수 있습니다. 에이전트는 그것을 [실행](/ko/docs/work/runs/)의 일부로, 사용자의 텍스트를 읽듯이 읽습니다. ## 붙이기 [섹션 제목: “붙이기”](#붙이기) 1. **컴포저에서 파일을 추가하거나 붙여넣습니다.** 클립보드의 스크린샷도, 복사한 텍스트 덩어리도 모두 첨부로 들어갑니다. 2. **미리보기를 확인합니다.** 이미지는 썸네일로, 텍스트류 파일은 앞부분 몇 줄이 보입니다. 그 밖의 파일은 이름 칩으로 나오는데, 잘못된 파일을 보내기 전에 알아채기에는 충분합니다. 3. **함께 보낼 메시지를 씁니다.** 스크린샷에 *“여기 뭐가 잘못됐지?”* 를 붙이면 완결된 요청입니다. 파일만 보내는 것은 아닙니다. 붙여넣은 텍스트는 컴포저에 쏟아지지 않고 첨부로 들어갑니다. 긴 붙여넣기가 정작 쓴 문장을 묻어버리지 않게 하기 위해서입니다. ## 에이전트가 보는 것 [섹션 제목: “에이전트가 보는 것”](#에이전트가-보는-것) 첨부는 요청이 나가기 직전에 모델용으로 준비되고, 무엇이 되는지는 파일에 따라 다릅니다. * **이미지**는 모델이 받아들이면 이미지 그대로 전달됩니다. * **텍스트류 파일** — 일반 텍스트, Markdown, CSV, JSON, YAML, 소스 코드 — 은 텍스트로 읽힙니다. * **그 밖의 파일**은 이름과 형식으로 식별됩니다. 그 형식을 열 수 없는 모델에게는 파일이 생략됐다는 사실과 이유가 전달됩니다. 첨부의 값어치는 모델이 정합니다 모든 모델이 이미지를 읽지는 않습니다. 텍스트 전용 모델이 선택된 상태에서 스크린샷을 붙이면 업로드는 성공하고 에이전트도 답합니다 — 다만 이미지를 보지 못한 채 답하고, 그렇다고 말합니다. 에이전트가 그림을 무시하는 것 같으면 [모델](/ko/docs/build/models/)부터 확인하세요. ## 대화 안에서 [섹션 제목: “대화 안에서”](#대화-안에서) 첨부는 그것을 실어 보낸 메시지에 남습니다. 거슬러 올라가면 무엇을 언제 보냈는지 보입니다. [컨텍스트 창](/ko/docs/work/context-window/) 패널의 리소스 목록에도 나타나고, 거기서 고르면 해당 메시지로 이동합니다. ## 한계 [섹션 제목: “한계”](#한계) * 파일당 50MB 까지. * 모델이 무엇을 쓸 수 있는지는 모델에 달렸습니다 — 위 주의를 보세요. * SVG 파일은 저장·전달되지만 대화 안에서 그림으로 그려지지는 않습니다. * 첨부는 함께 보낸 메시지에 속합니다. 대화별 파일 관리자는 따로 없습니다. 오래 둘 산출물의 자리는 [아웃풋](/ko/docs/capabilities/outputs/)입니다. * 에이전트는 사용자가 보낸 첨부를 읽습니다. 내 컴퓨터에 그 에이전트용 [endue Computer](/ko/docs/build/own-server/)를 설치하지 않는 한 그 컴퓨터의 파일에는 닿지 못합니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [컨텍스트 창](/ko/docs/work/context-window/)첨부가 얼마를 차지하는지, 어디서 보는지. [모델 고르기](/ko/docs/build/models/)어떤 모델이 이미지를 읽는지, 그것이 어디에 표시되는지. [아웃풋](/ko/docs/capabilities/outputs/)에이전트가 만든 파일이 남는 곳. # 컨텍스트 창 > 모델마다 담을 수 있는 양이 정해져 있습니다. 표시기는 이 대화가 얼마를 쓰고 있는지, 패널은 무엇이 그 자리를 차지하는지 보여줍니다. 모델은 요청 하나당 정해진 분량만 읽습니다 — 그것이 **컨텍스트 창**입니다. 에이전트에게 필요한 것이 전부 그 안에 들어가야 합니다. 지침, 기억, 부를 수 있는 도구, 대화, 그리고 첨부까지요. 컴포저는 그 창이 얼마나 찼는지 보여주고, 컨텍스트 패널은 무엇이 채우고 있는지 보여줍니다. ## 왜 중요한가 [섹션 제목: “왜 중요한가”](#왜-중요한가) 창이 차면 두 가지가 나빠집니다. * **오래된 메시지가 잘려 나갑니다.** 긴 실의 앞부분이 에이전트에게 보이지 않게 됩니다. * **매 스텝이 비싸집니다.** [실행](/ko/docs/work/runs/)의 단계마다 컨텍스트 전체가 다시 전송되므로, 무거운 대화는 느리고 비싼 대화입니다. “처음에 한 얘기를 잊어버린” 에이전트는 기억이 고장 난 게 아니라 거의 항상 창이 가득 찬 것입니다. ## 무엇이 자리를 차지하는가 [섹션 제목: “무엇이 자리를 차지하는가”](#무엇이-자리를-차지하는가) 패널은 창을 구간으로 나눠 보여줍니다. | 구간 | 내용 | | ----------- | ----------------------------------------- | | **시스템 지침** | Endue 가 모든 실행에 두르는 틀 | | **정체성** | 에이전트의 이름·성격·프로필 | | **에이전트 지침** | 현재 리비전의 [시스템 프롬프트](/ko/docs/build/system-prompt/) | | **지침 스킬** | 커맨드가 아니라 상시 지침으로 실리는 스킬 | | **기억** | 이 대화에 관련된 [메모리](/ko/docs/capabilities/memory/) | | **도구 정의** | 에이전트가 부를 수 있는 모든 도구의 스키마 | | **대화 메시지** | 사용자와 에이전트가 주고받은 것 | | **첨부 미디어** | [첨부](/ko/docs/work/attachments/) — 메시지와 따로 셉니다 | 도구는 한 단계 더 쪼개집니다. 스킬·커넥터·기본 도구 그룹·디바이스 각각이 정의를 광고하는 데 드는 양과, 직전 실행에서 몇 번 불렸고 그 결과가 얼마나 무거웠는지를 보여줍니다. *“이 도구는 제공하는 것 자체가 비싸다”* 와 *“이 도구가 많이 돌려줬다”* 를 가르는 정보입니다. ## 실측과 예상 [섹션 제목: “실측과 예상”](#실측과-예상) 첫 [실행](/ko/docs/work/runs/) 전에는 잴 것이 없으므로 다음 요청이 실을 양의 **예상치**입니다. 실행 뒤에는 그 요청이 실제로 담았던 값입니다. 패널이 지금 보는 것이 어느 쪽인지 알려줍니다. 예상과 실측이 다른 것은 정상입니다 — 에이전트가 미리 알 수 없던 메모리나 도구 결과를 끌어올 수 있으니까요. ## 리소스 [섹션 제목: “리소스”](#리소스) 패널은 이 대화에 실린 첨부 목록도 보여줍니다. 하나를 고르면 그것이 딸려온 메시지로 스크롤합니다. 긴 실에서 *“아까 그 스크린샷”* 을 찾는 가장 빠른 방법입니다. ## 창이 가득 찼을 때 [섹션 제목: “창이 가득 찼을 때”](#창이-가득-찼을-때) 효과가 큰 순서로 대략 이렇습니다. 1. **새 [대화](/ko/docs/work/conversations/)를 시작하세요.** 가장 확실한 한 수입니다. 새 실은 옛 메시지를 하나도 안고 가지 않습니다. 2. 그전에 **오래 쓸 사실을 [메모리](/ko/docs/capabilities/memory/)나 [프로젝트](/ko/docs/capabilities/projects/)로 옮기세요.** 다음 실에서 다시 설명하지 않아도 됩니다. 3. **쓰지 않는 도구의 바인딩을 푸세요.** 정의는 부르든 안 부르든 매 스텝 다시 실립니다. 4. **창이 더 큰 모델을 고르세요** — 선택기가 모델별 크기를 보여줍니다. 자리는 벌지만, 흐트러진 실을 집중시키지는 못합니다. 들어간다고 해서 긴 실이 공짜는 아닙니다 한 스텝의 비용은 새로 쓴 문장이 아니라 컨텍스트 전체입니다. 초점이 잡힌 대화 둘이, 주제 셋을 오간 대화 하나보다 대개 싸고 답도 낫습니다. ## 한계 [섹션 제목: “한계”](#한계) * 창 크기는 모델이 정합니다. 모델을 바꾸면 천장이 바뀝니다. * 잘라내기는 오래된 메시지부터 버립니다. 요약해서 남기지 않습니다. * 분해는 직전 실행 기준입니다. 그 뒤에 한 변경 — 도구 바인딩, 프롬프트 수정 — 은 다음 실행에 반영됩니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [대화](/ko/docs/work/conversations/)이어가는 대신 새 실을 시작해야 할 때. [메모리](/ko/docs/capabilities/memory/)대화 안이 아니라 대화를 건너 사실을 나르기. [모델 고르기](/ko/docs/build/models/)창 크기, 그리고 모델별 토큰 비용. # 대화 > 에이전트와의 실 — 무엇을 기억하는지, 언제 새로 시작해야 하는지, 프로젝트로 어떻게 묶는지. **대화**는 에이전트 하나와 이어지는, 사라지지 않는 실입니다. 에이전트가 맥락으로 읽는 기록을 담고 있고 앱을 닫아도 남습니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 대화는 에이전트와 일하는 기본 방식입니다. 주제가 바뀌면 새로 시작하고, 같은 일을 계속하는 동안에는 쓰던 대화를 이어가세요. ## 에이전트가 읽는 것 [섹션 제목: “에이전트가 읽는 것”](#에이전트가-읽는-것) 모든 [실행](/ko/docs/work/runs/)이 시작될 때 에이전트는 자신이 있는 대화에서 맥락을 모읍니다. 여기에 프롬프트, 지금 관련 있는 [메모리](/ko/docs/capabilities/memory/), 그리고 대화가 [프로젝트](/ko/docs/capabilities/projects/)에 속한다면 그 프로젝트의 컨텍스트가 더해집니다. 다른 대화는 읽지 않습니다. 같은 에이전트와의 두 실은 서로 독립적입니다. 실 사이를 건너가야 하는 것은 메모리나 프로젝트에 두어야 합니다. ## 새로 시작할까, 이어갈까 [섹션 제목: “새로 시작할까, 이어갈까”](#새로-시작할까-이어갈까) | 새 대화를 시작 | 쓰던 대화를 계속 | | ----------------------------------------- | ---------------- | | 주제가 바뀌었다 | 같은 결과물을 다듬는 중이다 | | 실이 길고 막다른 길로 가득하다 | 앞의 기록이 있어야 답이 좋다 | | [다듬는 중](/ko/docs/build/iterating/)이라 깨끗하게 비교하고 싶다 | 에이전트가 작업 중이다 | 긴 실은 공짜가 아닙니다. 그 안의 모든 것이 모델의 주의를 놓고 다투고, 결국에는 컨텍스트 창을 놓고 다툽니다. 주제 셋을 오간 실 하나는 초점이 잡힌 실 셋보다 나쁜 답을 냅니다. ## 기록과 하던 일로 돌아가기 [섹션 제목: “기록과 하던 일로 돌아가기”](#기록과-하던-일로-돌아가기) 대화는 최근 순으로 나열되므로 하던 실이 맨 위에 있습니다. 열면 각 실행의 [도구 호출](/ko/docs/work/runs/)까지 포함해 기록 전체가 복원됩니다. 자리를 비운 동안에도 일은 계속됩니다. 실행 도중에 앱을 닫아도 실행은 서버에서 이어지고, 돌아오면 결과가 실 안에 있습니다. [실행](/ko/docs/work/runs/#%EB%B0%B1%EA%B7%B8%EB%9D%BC%EC%9A%B4%EB%93%9C-%EC%8B%A4%ED%96%89)을 보세요. ## 찾기와 정리 [섹션 제목: “찾기와 정리”](#찾기와-정리) 작업 공간에는 실이 쌓입니다. 네 가지가 목록을 쓸 만하게 유지합니다. * **검색**은 제목뿐 아니라 **본문**까지 훑습니다. 대화 이름이 아니라 그 안에서 오간 말로 찾을 수 있습니다. * **고정**은 대화를 목록 맨 위에 붙들어 둡니다. 매일 돌아가는 그 대화용입니다. * **이름 변경**은 첫 메시지에서 자동 생성된 제목을 바꿉니다. 제목은 사용자가 고른 라벨이 아니라 요약이라, 계속 쓸 대화라면 바꿔둘 값이 있습니다. * **보관**은 끝난 대화를 지우지 않고 목록에서 뺍니다. 보관된 실도 검색되고 다시 열 수 있습니다. 사이드바에서만 사라집니다. **링크 복사**는 그 대화로 가는 링크를 클립보드에 담습니다. 공유가 아니라 사용자용 북마크입니다 — 열려면 사용자 계정이 필요합니다. ## 프로젝트로 묶기 [섹션 제목: “프로젝트로 묶기”](#프로젝트로-묶기) 여러 대화가 같은 일을 다룬다면 [프로젝트](/ko/docs/capabilities/projects/)에 넣으세요. 프로젝트 안에서 일하는 에이전트는 그 프로젝트의 컨텍스트를 읽습니다. 실마다 배경을 다시 설명하지 않는 가장 값싼 방법입니다. 대화는 에이전트 하나의 것입니다 대화는 에이전트 한 명과 나눕니다. 같은 문제에 두 번째 에이전트를 부르려면 그 에이전트와 대화를 시작하세요. 맥락을 공유해야 한다면 둘을 같은 [프로젝트](/ko/docs/capabilities/projects/)에 두면 됩니다. ## 한계 [섹션 제목: “한계”](#한계) * 대화를 다른 에이전트로 옮길 수는 없습니다. * 에이전트는 서로의 대화를 읽지 않고, 같은 에이전트도 자기 실들을 가로질러 읽지 않습니다. * 아주 긴 실은 결국 모델의 컨텍스트 창을 넘습니다. 현실적인 해법은 새 대화를 시작하고, 오래 쓸 것은 메모리나 프로젝트로 옮기는 것입니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [실행](/ko/docs/work/runs/)한 차례에 무슨 일이 일어나고, 그것을 어떻게 읽는지. [프로젝트](/ko/docs/capabilities/projects/)관련된 대화를 묶고 에이전트에게 공통 맥락을 주기. [메모리](/ko/docs/capabilities/memory/)에이전트가 대화 사이로 들고 다니는 것. # 알림 > 다른 일을 하는 동안 에이전트가 나에게 닿는 방법 — 무엇이 알림을 보내는지, 브라우저 알림을 켜는 법, 브라우저가 막았을 때 무엇을 해야 하는지. **알림**은 내가 다른 곳에 있는 동안 무슨 일이 있었는지 에이전트가 알려주는 방법입니다. 답변이 끝났다, 루틴이 완료됐다, 루틴이 실패했다 같은 것들이죠. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) [실행](/ko/docs/work/runs/)은 탭을 닫아도 계속되고, [루틴](/ko/docs/automate/routines/)은 아무도 보지 않을 때 돕니다. 알림은 [활동](/ko/docs/work/activity/) 보드를 확인할 것을 기억해 두는 대신 쓰는 수단입니다. ## 무엇이 알림을 보내는가 [섹션 제목: “무엇이 알림을 보내는가”](#무엇이-알림을-보내는가) | 사건 | 언제 | | ----------- | --------------------------------------- | | **에이전트 응답** | 대화에서 떨어져 있는 동안 실행이 끝났을 때 | | **루틴 완료** | 예약된 [루틴](/ko/docs/automate/routines/) 실행이 끝났을 때 | | **루틴 실패** | 루틴 실행이 실패했을 때 | | **루틴 건너뜀** | 사용량 한도에 닿아 그 회차를 건너뛰었을 때 | 실행 안의 단계는 알리지 않습니다. 도구 호출, 중간 결과, 흘러나오는 텍스트는 대화에 나타나고, 그것들은 거기서 읽는 것입니다. [질문](/ko/docs/work/questions/)이나 [승인](/ko/docs/work/approvals/)으로 멈춘 실행은 활동 보드의 **Waiting** 열과 헤더의 **Needs review** 수에 나타납니다. 막힌 일을 찾는 확실한 방법은 그 보드입니다. ## 브라우저 알림 켜기 [섹션 제목: “브라우저 알림 켜기”](#브라우저-알림-켜기) 브라우저 알림은 Endue 탭을 완전히 닫은 상태에서도 닿습니다. 1. **설정 › 일반 › 알림**을 엽니다. 2. **브라우저 알림을 켭니다.** 켜는 그 순간에만 브라우저가 권한을 묻습니다. 그전에는 묻지 않습니다. 3. **허용합니다.** 토글이 켜진 채로 남고, 위의 활동 4종이 브라우저 알림으로 오기 시작합니다. 4. **쓰는 브라우저와 기기마다 따로 켭니다.** 구독은 계정이 아니라 한 기기의 한 브라우저에 속합니다. 알림을 누르면 그 알림이 나온 대화나 프로젝트가 열립니다. 토글이 켜지지 않는다면 브라우저가 알림을 전달할 수 없을 때 스위치는 비활성이고, 사유가 그 아래 적힙니다. * **이 사이트에 대해 차단됨.** 권한은 한 번만 물을 수 있습니다. 주소창의 자물쇠 아이콘 › 사이트 설정 › 알림에서 허용한 뒤 다시 켜세요. * **iOS · iPadOS.** 웹 푸시는 Endue 를 홈 화면에 추가하고 거기서 열어야만 동작합니다. * **보안 연결 아님.** 푸시는 HTTPS 를 요구합니다. * **이 환경에서 제공되지 않음.** 서버 쪽 설정 문제이지 여기서 고칠 수 있는 것이 아닙니다. ## 무엇을 통지받을지 고르기 [섹션 제목: “무엇을 통지받을지 고르기”](#무엇을-통지받을지-고르기) 같은 설정 절에 활동 4종이 토글과 함께 나열됩니다. 하나를 끄면 앱에서도 브라우저에서도 그 알림이 사라집니다. 스위치에 관해 알아둘 것 둘. * **브라우저 알림은 스위치 넷이 아니라 하나입니다.** 켜면 활동 4종을 덮고, 개별 사건을 끄면 브라우저 알림에서도 빠집니다. * **이메일은 아직 제공되지 않습니다.** 행은 있고, 준비 중으로 표시돼 있습니다. ## 쓸모 있게 유지하기 [섹션 제목: “쓸모 있게 유지하기”](#쓸모-있게-유지하기) 늘 울리는 알림은 읽히지 않게 됩니다. 신호를 지키는 습관은 [루틴](/ko/docs/automate/routines/) 쪽에 있습니다. [아웃풋](/ko/docs/capabilities/outputs/) 하나를 남기는 일일 루틴은 알림 하나지만, 중간 경과를 매번 보고하는 루틴은 여러 개입니다. ## 한계 [섹션 제목: “한계”](#한계) * 알림은 무슨 일이 있었는지 알려줄 뿐, 행동하는 자리가 아닙니다. 질문과 승인은 대화에서 답합니다. * 브라우저 알림은 브라우저 단위입니다. 책상에서 켜 두어도 휴대폰에는 아무 영향이 없습니다. * 브라우저에서 알림 권한을 회수하면 토글의 선호값은 그대로인 채 전달만 멈춥니다. 스위치 아래 안내가 그 상태를 설명합니다. * 알림은 계정 단위로 모든 에이전트를 덮습니다. 에이전트별 설정은 없습니다. * 이메일 알림은 아직 제공되지 않습니다. ## 관련 [섹션 제목: “관련”](#관련) [활동](/ko/docs/work/activity/)통지받지 않고도 막힌 일과 끝난 일을 보는 곳. [루틴](/ko/docs/automate/routines/)예약된 일 — 알림의 주된 출처. [승인](/ko/docs/work/approvals/)기다리는 실행이 무엇을 결정해 달라는 것인가. [실행](/ko/docs/work/runs/)앱을 닫아도 일이 계속되는 이유. # 에이전트의 질문 > 실행 도중 에이전트가 묻는 세 가지 방식 — 선택지, 자유 입력, 선호 묶음 — 그리고 기다리는 동안 무슨 일이 일어나는가. 찾아볼 수 없는 것이 빠져 있으면 에이전트는 추측하는 대신 **사용자에게 묻습니다**. [실행](/ko/docs/work/runs/)이 멈추고, 질문이 대화에 나타나고, 답하면 일이 이어집니다. ## 언제 보게 되는가 [섹션 제목: “언제 보게 되는가”](#언제-보게-되는가) 사용자만 정할 수 있는 갈림길에 닿을 때마다입니다. 문서 셋 중 어느 것을 말한 것인지, 초안의 어조를 어떻게 할지, 지난 분기를 포함할지 같은 것들이죠. 범위가 잘 잡힌 에이전트는 거의 묻지 않습니다. 계속 묻는 에이전트는 대개 [시스템 프롬프트](/ko/docs/build/system-prompt/)나 [메모리](/ko/docs/capabilities/memory/)에 있어야 할 상시 맥락이 빠져 있습니다. ## 세 가지 방식 [섹션 제목: “세 가지 방식”](#세-가지-방식) **선택지.** 버튼으로 나오는 항목들입니다. 하나를 고르거나, 질문이 허용하면 여럿을 고릅니다. 단계로 이어지는 선택지도 있습니다. 첫 질문에 답하면 다음이 나타나는 식인데, 질문을 한꺼번에 쏟아붓지 않고 좁혀가는 방법입니다. **자유 입력.** 선택지로 줄일 수 없는 것을 위한, 입력칸이 붙은 질문 하나입니다. 메일 제목, 이름, 한 문장의 지침 같은 것들입니다. **선호.** 한 번에 모아 받는 탭 가능한 선택지 묶음입니다. 사실 하나를 묻는 게 아니라 일을 어떻게 처리하기를 원하는지 맞춰볼 때 씁니다. 셋 다 똑같이 실행을 멈추고, 대화 안에서 답합니다. ## 기다리는 동안 [섹션 제목: “기다리는 동안”](#기다리는-동안) 실행은 다시 시작하는 게 아니라 자리를 지키고 있습니다. 에이전트가 이미 알아낸 것 — 돌린 검색, 읽은 파일 — 은 답할 때 그대로 남아 있습니다. 자리를 떠났다 와도 됩니다. 질문은 실 안에 그대로 있고, [활동](/ko/docs/work/activity/) 보드의 Waiting 열에 남아 있습니다. 생각하는 동안 만료되는 것은 없습니다. 메시지로 답해도 됩니다 질문은 답의 모양에 대한 제안이지 가둬두는 틀이 아닙니다. 어느 선택지도 맞지 않으면 입력창에 그렇게 쓰세요. 에이전트가 읽고 맞춰갑니다. ## 질문을 줄이고 답을 좋게 하기 [섹션 제목: “질문을 줄이고 답을 좋게 하기”](#질문을-줄이고-답을-좋게-하기) 에이전트가 묻는 것은 정해지지 않은 것이 있기 때문입니다. 모호함을 없애면 그 질문은 되풀이되지 않습니다. | 계속 묻는 것 | 답을 둘 곳 | | ----------------- | --------------------------------- | | 어느 계정·폴더·문서를 말하는지 | [시스템 프롬프트](/ko/docs/build/system-prompt/) | | 결과를 어떤 형식으로 원하는지 | 시스템 프롬프트 | | 나와 내 일에 대한 사실 | [메모리](/ko/docs/capabilities/memory/) | | 특정 업무에만 해당하는 배경 | [프로젝트](/ko/docs/capabilities/projects/) | ## 한계 [섹션 제목: “한계”](#한계) * 질문은 답할 때까지 실행을 멈춥니다. 시간 제한도, 기본 답도 없습니다. * [루틴](/ko/docs/automate/routines/) 실행에는 물을 사람이 없습니다. 예약된 일은 판단이 필요 없을 만큼 정확하게 적어야 합니다. * 질문에는 대화에서 답합니다. 활동 보드는 기다리는 것이 있다고 알려줄 뿐 대신 답해주지는 않습니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [승인](/ko/docs/work/approvals/)실행이 멈추는 또 하나의 이유, 그리고 더 엄격한 쪽. [실행](/ko/docs/work/runs/)실행이 멈추는 모든 이유를 한 표에. [메모리](/ko/docs/capabilities/memory/)같은 질문에 매주 답하는 대신 한 번 가르치기. # 실행 > 실행이 무엇인지, 도구 호출을 어떻게 읽는지, 실행이 왜 멈추는지, 도중에 앱을 닫으면 어떻게 되는지. **실행**은 에이전트가 실제로 일하는 한 차례입니다. 맥락을 읽고, 정하고, 도구를 부르고, 결과를 읽고, 답을 얻거나 사용자가 필요해질 때까지 되풀이합니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 실행을 직접 시작하지는 않습니다. 메시지를 보내면 실행이 시작됩니다. 이 페이지는 실행을 *읽는* 법을 위한 것입니다. 에이전트가 무엇을 했는지, 왜 멈췄는지, 그래서 무엇을 해야 하는지 아는 일이죠. ## 실행 읽기 [섹션 제목: “실행 읽기”](#실행-읽기) 각 단계는 진행되는 대로 대화에 나타납니다. * **도구 호출**과 에이전트가 고른 인자. 화면에서 가장 정보가 많은 부분입니다. 엉뚱한 것을 검색한 에이전트는 나쁜 최종 답보다 훨씬 많은 것을 알려줍니다. * 오류를 포함한 **돌아온 결과**. 실패한 호출이 실행의 끝은 아닙니다. 에이전트는 오류를 보고 다른 방법을 시도할 수 있습니다. * 생성되는 대로 흘러나오는 **에이전트의 텍스트**. 최종 답이 틀렸다면 도구 호출을 거슬러 올라가 보세요. 실수는 거의 항상 그중 하나에 드러나 있고, [무엇을 바꿔야 하는지](/ko/docs/build/iterating/#%EC%8B%A4%ED%96%89%EC%9D%84-%EC%9D%BD%EC%96%B4-%EC%A7%84%EB%8B%A8%ED%95%98%EA%B8%B0)는 어느 것이냐에서 따라 나옵니다. ## 실행이 멈추는 이유 [섹션 제목: “실행이 멈추는 이유”](#실행이-멈추는-이유) | 멈춘 이유 | 보이는 것 | 할 일 | | --------------------------------------- | ------------------------------------------- | ------------------ | | 끝났다 | 최종 답 | 없음 | | 사용자만 아는 정보가 필요하다 | [질문](/ko/docs/work/questions/) — 선택지, 입력칸, 또는 선호 묶음 | 답하면 실행이 이어집니다 | | 되돌릴 수 없는 일을 하려 한다 | 정확한 행동을 보여주는 [승인](/ko/docs/work/approvals/) 요청 | 승인하거나 거절 | | 갖지 않은 [스킬](/ko/docs/capabilities/skills/)이 필요하다 | 스킬을 달라는 요청 | 주거나 거절 | | 단계 한도에 닿았다 | 최종 답 없이 실행이 끝남 | 계속하라고 하거나 작업을 좁히기 | | 실패했다 | 오류 | 재시도하거나, 막힌 원인을 고치기 | 멈춘 실행은 처음부터 다시 하는 게 아니라 자리를 지키고 있는 것입니다. 답하면 이미 알아낸 것을 그대로 들고 이어갑니다. ## 백그라운드 실행 [섹션 제목: “백그라운드 실행”](#백그라운드-실행) 실행은 브라우저 탭이 아니라 Endue 의 서버에서 돌아갑니다. **앱을 닫아도 일은 멈추지 않습니다.** 긴 작업을 시작하고 탭을 닫았다가 나중에 돌아오면, 실행은 계속돼 있었고 결과가 실 안에 있습니다. 대화 목록은 자리를 비운 사이에 끝난 실을 표시해 주므로 어느 것을 확인해야 하는지 외울 필요가 없습니다. [루틴](/ko/docs/automate/routines/)이 가능한 것도 같은 이유입니다. 예약된 실행은 누가 지켜볼 필요가 없습니다. 대화당 한 번에 한 실행 대화는 한 번에 한 차례씩 돕니다. 실행이 도는 중에 메시지를 보내면 두 번째 실행이 시작되는 게 아니라 그 실행에 [방향을 잡아줍니다](/ko/docs/work/steering/). ## 한계 [섹션 제목: “한계”](#한계) * 실행에는 단계 한도가 있습니다. 한도보다 많은 단계가 필요한 작업은 최종 답 없이 끝납니다. 나누거나 좁히세요. * 실행은 시작할 때의 설정 — 프롬프트 리비전, 모델, 바인딩된 도구 — 을 유지합니다. 도중의 변경은 다음 실행부터 적용됩니다. * 에이전트가 이미 한 도구 호출을 고칠 수는 없습니다. 다음에 할 일에 [방향을 잡아주거나](/ko/docs/work/steering/), [승인](/ko/docs/work/approvals/) 관문에서 행동을 거절할 수 있습니다. * 재생 기능은 없습니다. 작업을 다시 돌리면 새 실행이 시작되고, 에이전트는 결정론적이지 않습니다. 같은 요청이 다른 경로를 탈 수 있습니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [실행 중 방향 잡기](/ko/docs/work/steering/)도는 중인 실행을 바로잡기. [승인](/ko/docs/work/approvals/)되돌릴 수 없는 일 앞의 관문. [Endue 의 동작 방식](/ko/docs/get-started/how-it-works/)모든 실행 뒤의 루프, 더 자세히. # 슬래시 커맨드 > 컴포저에서 `/` 를 눌러 `/usage` 같은 앱 기능을 쓰거나, 스킬의 커맨드를 직접 부릅니다. 원하는 것을 설명하고 에이전트가 알아서 고르기를 기다리는 대신에요. 컴포저에서 **`/`** 를 입력하면 이 에이전트가 실행할 수 있는 커맨드 목록이 열립니다. 하나를 고르면 어느 도구로 시작할지를 에이전트에게 맡기지 않고 사용자가 지정하게 됩니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 원하는 절차를 이미 알고 있을 때 씁니다. *“/weekly-report”* 가 *“지난번처럼 주간 보고 해줄래”* 보다 빠르고 확실합니다. 뒤쪽은 에이전트가 먼저 해석해야 하는 요청이니까요. 어떤 스킬이 맞는지 모르거나 여러 스킬에 걸친 일이라면 그냥 말로 설명하세요. 에이전트는 여전히 바인딩된 것 중에서 자유롭게 고릅니다. ## 쓰는 법 [섹션 제목: “쓰는 법”](#쓰는-법) 1. **컴포저 맨 앞에서 `/` 를 입력합니다.** 입력창 위에 목록이 뜹니다. 2. **계속 입력하면 좁혀집니다.** 화살표 키로 이동하고, 마우스를 올리거나 선택하면 그 커맨드가 무엇을 하는지 보입니다. 3. **행 옆의 ⓘ 를 열면** 스킬 전체를 읽을 수 있습니다 — 무엇을 위한 스킬인지, 어떤 커맨드를 담고 있는지. 4. **Enter 로 넣고 나머지 메시지를 씁니다.** 커맨드에는 대개 맥락이 필요합니다. *“/summarize 가격 얘기했던 하나 님 스레드”* 처럼 커맨드 + 대상이 한 벌입니다. 5. **보냅니다.** 에이전트가 그 커맨드로 [실행](/ko/docs/work/runs/)을 시작하고, 그다음은 평소대로 이어갑니다. ## 목록에 뜨는 것 [섹션 제목: “목록에 뜨는 것”](#목록에-뜨는-것) 목록은 두 묶음이고, 둘은 다르게 움직입니다. ### 내장 커맨드 [섹션 제목: “내장 커맨드”](#내장-커맨드) 내장 커맨드는 에이전트가 하는 일이 아니라 앱의 기능입니다. 모든 에이전트에 늘 있고, 실행하더라도 [실행](/ko/docs/work/runs/)이 시작되지 않으며 비용도 들지 않습니다. | 커맨드 | 하는 일 | | ------------ | ------------------------------------------------------------------ | | **`/usage`** | 이 대화가 쓴 것을 보여줍니다 — 토큰, 크레딧, 관여한 모델. [사용량 대시보드](/ko/docs/account/usage/) 참조 | 내장 이름은 예약어입니다. 같은 이름의 스킬이 있더라도 실행되는 것은 내장 쪽이고, 스킬 행은 목록에 그대로 남아 있어 그것이 거기 있다는 사실은 계속 보입니다. ### 스킬 커맨드 [섹션 제목: “스킬 커맨드”](#스킬-커맨드) 나머지는 이 에이전트에 바인딩된 [스킬](/ko/docs/capabilities/skills/)에서 옵니다. 두 가지가 따라옵니다. * **에이전트마다 목록이 다릅니다.** 같은 커맨드라도 양쪽에 스킬이 바인딩돼 있지 않으면 어디서나 쓸 수 있는 게 아닙니다. * **이 묶음이 비었다면 아직 바인딩된 스킬이 없는 것입니다.** [에이전트 빌더](/ko/docs/build/agent-builder/)에서 하나 바인딩하면 다음 메시지부터 목록에 나타납니다. ## 스킬 커맨드를 고르면 실제로 일어나는 일 [섹션 제목: “스킬 커맨드를 고르면 실제로 일어나는 일”](#스킬-커맨드를-고르면-실제로-일어나는-일) 커맨드는 도구를 지명하고, 에이전트는 **첫 스텝에서** 그 도구를 반드시 부릅니다. 그 뒤로는 평소와 같습니다. 결과를 읽고 다음에 무엇을 할지 스스로 정하며, 다른 도구도 부릅니다. 이 모양이 쓸모 있는 지점입니다. 시작은 확실하게 잡아주면서 — 맞는 절차를, 사용자의 입력과 함께 — 실행의 나머지를 대본으로 굳히지는 않습니다. 어떤 커맨드는 실행 전에 묻습니다 확인이 필요하다고 선언된 스킬의 커맨드는 외부로 나가거나 되돌릴 수 없는 단계에 이르면 여전히 [승인](/ko/docs/work/approvals/) 관문에서 멈춥니다. 목록에서 고른 것이 승인은 아닙니다. ## 없는 커맨드를 보냈을 때 [섹션 제목: “없는 커맨드를 보냈을 때”](#없는-커맨드를-보냈을-때) 아무것도 가리키지 않는 `/무언가` 는 에이전트에게 가지 않습니다. 컴포저가 그 자리에서 멈추고 그런 커맨드가 없다고 알려줍니다. 오타가 에이전트가 해석해야 할 메시지로 둔갑하지 않게 하려는 것입니다. 커맨드로 읽히는 것은 슬래시 하나에 단어 하나뿐이고 그 뒤에 아무것도 없는 메시지뿐입니다. `/usage 7월치`, 파일 경로, 우연히 슬래시로 시작하는 문장은 평범한 메시지로 그대로 전송됩니다. ## 한계 [섹션 제목: “한계”](#한계) * 스킬 커맨드는 에이전트별입니다. 전역 목록은 없고, 어디서나 같은 것은 내장 커맨드뿐입니다. * 스킬 커맨드는 **첫** 스텝만 지정합니다. 실행의 나머지는 에이전트가 고릅니다. * 실행이 도는 중에 커맨드를 보내면 그 커맨드가 시작되는 게 아니라 그 실행에 [방향을 잡아줍니다](/ko/docs/work/steering/) — 스티어링은 텍스트만 전달하고 도구 지정은 싣지 않습니다. * 목록은 에이전트가 지금 부를 수 있는 것을 보여줍니다. 대화 도중에 바인딩한 스킬은 다음 메시지부터 나타납니다. * 내장 커맨드가 그리는 것은 그 화면에서만 보이는 표시입니다. 메시지가 아니라서 대화 기록에 남지 않고, 새로고침하면 사라집니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [스킬](/ko/docs/capabilities/skills/)커맨드가 어디서 오고 어떻게 바인딩하는지. [실행](/ko/docs/work/runs/)첫 스텝 다음에 일어나는 일. [승인](/ko/docs/work/approvals/)커맨드가 우회하지 못하는 관문. # 실행 중 방향 잡기 > 에이전트가 일하는 도중에 정정을 보내기 — 무엇을 바꿀 수 있고, 언제 반영되고, 횟수를 다 쓰면 어떻게 되는가. **스티어링**은 아직 도는 중인 [실행](/ko/docs/work/runs/)에 정정을 보내는 것입니다. 에이전트가 다음 단계에서 그것을 반영하므로, 정정 비용이 실행 전체가 아니라 한 단계에 그칩니다. ## 언제 쓰는가 [섹션 제목: “언제 쓰는가”](#언제-쓰는가) 실행이 잘못 가는 것이 보이는 그 순간입니다. 나쁜 실행이 끝나기를 기다렸다가 무엇이 잘못됐는지 설명하면 그 사이의 모든 작업을 버리게 되고, 에이전트는 사용자가 지켜보고 있던 맥락을 처음부터 다시 쌓아야 합니다. 좋은 스티어는 짧고 교정적입니다. * *“이번 주만, 한 달 전체 말고.”* * *“뉴스레터는 빼줘.”* * *“산문 말고 표로 써줘.”* * *“검색 그만해도 돼, 충분해 — 요약만 해줘.”* ## 동작 방식 [섹션 제목: “동작 방식”](#동작-방식) 실행이 도는 중에 입력창에 쓰고 보내면 됩니다. 그 밖에 할 일은 없습니다. 실행 중에 보낸 메시지는 새 차례가 아니라 스티어입니다. 에이전트는 지금 하고 있는 도구 호출을 끝낸 다음, 다음 단계를 정하기 전에 정정을 읽습니다. 스티어가 가끔 한 박자 늦게 반영되는 것처럼 보이는 이유입니다. 이미 나간 호출은 취소되지 않습니다. ## 스티어링으로 바꿀 수 있는 것과 없는 것 [섹션 제목: “스티어링으로 바꿀 수 있는 것과 없는 것”](#스티어링으로-바꿀-수-있는-것과-없는-것) | 할 수 있는 것 | 할 수 없는 것 | | ---------------- | ---------------------- | | 다음에 할 일의 방향을 돌리기 | 이미 실행된 도구 호출을 되돌리기 | | 작업 범위를 좁히거나 넓히기 | 이번 실행의 모델이나 프롬프트를 바꾸기 | | 출력 형식을 바꾸기 | 이미 지워진 데이터를 되살리기 | | 검색을 멈추고 답하게 하기 | 승인된 행동이 이미 보낸 메일을 회수하기 | 되돌릴 수 없는 일은 스티어링이 아니라 [승인](/ko/docs/work/approvals/) 관문이 막습니다. “그건 하지 마” 를 위한 장치는 그쪽이고, 행동 *뒤*가 아니라 *앞*에 섭니다. ## 스티어 횟수를 다 썼을 때 [섹션 제목: “스티어 횟수를 다 썼을 때”](#스티어-횟수를-다-썼을-때) 한 실행이 받는 스티어 횟수에는 한도가 있습니다. 기본은 다섯 번입니다. 실행을 새로 시작하는 대신 끝없이 방향만 돌리게 되는 것을 막는 장치입니다. 한도에 닿아도 메시지가 사라지지는 않습니다. 일반 후속 메시지로 전달되어 실행이 끝난 뒤에 처리됩니다. 이런 일이 생기면 대화에 표시됩니다. 반복되는 스티어는 프롬프트 결함입니다 같은 에이전트에게 매번 같은 정정을 보내고 있다면, 그것은 [시스템 프롬프트](/ko/docs/build/system-prompt/) 에 있어야 할 내용입니다. 스티어는 실행 하나를 고치고, 프롬프트는 모든 실행을 고칩니다. ## 한계 [섹션 제목: “한계”](#한계) * 기본값은 실행당 다섯 번입니다. * 스티어는 그것을 보낸 실행에만 적용됩니다. 프롬프트나 [메모리](/ko/docs/capabilities/memory/)에 넣지 않는 한 다음 실행에는 기억되지 않습니다. * 스티어링은 채팅 환경에서 쓸 수 있습니다. [루틴](/ko/docs/automate/routines/)이나 [채널](/ko/docs/automate/channels/)에서 시작된 실행은 사용자 앞에 놓여 있지 않습니다. * 이미 나간 도구 호출은 정정을 읽기 전에 끝납니다. ## 관련 문서 [섹션 제목: “관련 문서”](#관련-문서) [실행](/ko/docs/work/runs/)실행이 무엇이고 진행 중에 어떻게 읽는지. [승인](/ko/docs/work/approvals/)되돌릴 수 없는 행동을 일어나기 전에 막는 관문. [시험하고 다듬기](/ko/docs/build/iterating/)반복되는 정정을 더 나은 에이전트로 바꾸기.