This is the full developer documentation for Endue AI
# Endue 문서
> Endue 는 AI 에이전트에게 정체성을 주고, 이미 쓰고 있는 도구에 연결하고, 에이전트가 하는 일의 통제권을 사용자에게 남깁니다.
Endue 는 실제 업무를 하는 AI 에이전트 플랫폼입니다. 에이전트에게 정체성과 목적을 주고 이미 쓰고 있는 도구에 연결하면, 대화 중에도·정해진 일정에도·이벤트에 반응해서도 에이전트가 일합니다. 그동안 계정 밖으로 나가는 모든 행동의 통제권은 사용자에게 남습니다.
## 시작하기
[섹션 제목: “시작하기”](#시작하기)
Endue 는 여러 환경에서 돌아갑니다. 어디서 쓰든 같은 에이전트, 같은 대화, 같은 기록을 봅니다. 한쪽에서 시작해 다른 쪽에서 이어갈 수 있습니다. 시작할 곳을 고르세요.
* 웹
브라우저에서 쓰는 Endue 작업 공간 전체입니다. 에이전트를 만들고, 대화하고, 도구를 연결하고, 루틴을 예약하고, 결과물을 검토하는 일이 설치 없이 됩니다.
Endue 를 열어 로그인한 다음 [빠른 시작](/ko/docs/get-started/quickstart/)을 따라 첫 에이전트를 만드세요.
여기서 시작하기를 권합니다. 이 문서의 나머지도 기본적으로 웹 화면을 기준으로 설명합니다.
* 데스크톱
macOS · Windows · Linux 용 네이티브 앱입니다. 웹과 같은 작업 공간에 더해, 에이전트 실행을 내 컴퓨터에서 직접 호스팅할 수 있습니다. 그래야 클라우드가 아니라 로컬에 있는 파일과 도구에 닿을 수 있습니다.
설치 문서 작성 중
데스크톱 설치·페어링 안내는 작성 중입니다. 지금 데스크톱 앱이 하는 일은 [사용 환경](/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/artifacts/)
도는 동안에도 통제권을 쥔다
실행이 시작돼도 사용자가 배제되지 않습니다. 도는 도중에 방향을 잡아줄 수 있고, 계정 밖으로 무언가를 보내거나 데이터를 지우는 행동은 승인하거나 거절합니다. 바깥으로 나가는 일은 사용자의 확인 없이 일어나지 않습니다.
→ [핵심 개념: 실행](/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. **모델 제공자 대시보드에서 키를 만듭니다.**
2. **Endue 의 설정 → 계정 → LLM 키를 열고** 붙여넣습니다.
3. **동작을 확인합니다.** 평범한 대화를 한 번 돌려 실행이 끝나는지 보세요.
키는 자격증명입니다
그 키로 지출할 수 있는 사람은 누구나 청구서를 키울 수 있습니다. 제공자에서 지출 한도를 걸고, 유출이 의심되면 키를 교체하세요. 교체는 제공자에서 새 키를 만들고 Endue 에서 갈아 끼우는 것을 뜻합니다. 옛 키와 새 키는 실행 중에 서로 대체되지 않습니다.
## 바뀌는 것과 그대로인 것
[섹션 제목: “바뀌는 것과 그대로인 것”](#바뀌는-것과-그대로인-것)
| 바뀌는 것 | 그대로인 것 |
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| 모델 호출의 비용을 누가 내는가 | 에이전트의 행동에 관한 모든 것 |
| 어떤 모델에 닿을 수 있는가 — 사용자 계정의 접근 권한이 적용됩니다 | [승인](/ko/docs/work/approvals/) · [커넥터](/ko/docs/connect/overview/) · [메모리](/ko/docs/capabilities/memory/) · [아티팩트](/ko/docs/capabilities/artifacts/) |
| 청구서가 어디로 오는가 | 여전히 적용되는 Endue 구독 |
BYOK 는 모델 호출을 다룹니다. 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/)** | 지켜보든 아니든 자기 일정대로 돕니다 |
## 주간 한도
[섹션 제목: “주간 한도”](#주간-한도)
요금제의 허용량은 **이동하는 한 주**를 기준으로 측정됩니다. 한 번에 다 써버릴 수 있는 월 잔액이 아닙니다. 그 주의 허용량을 다 쓰면 창이 넘어갈 때까지 실행이 거절됩니다.
염두에 둘 결과가 둘 있습니다.
* 하루 몰아 써도 한 달치를 소진하지는 못합니다.
* 짧은 주기의 루틴에 비싼 모델을 물리는 것이 한도에 닿는 가장 흔한 경로입니다. 지켜보지 않는 동안 꾸준히 쓰기 때문입니다.
현재 수치를 보는 곳
요금제와 허용량, 지금까지 쓴 양은 **설정 → 사용량**에 있습니다. 현재 가격과 각 요금제에 포함된 내용은 앱의 요금제 페이지에 있습니다. 그것들은 바뀌므로 앱이 기준입니다.
## 사용량 줄이기
[섹션 제목: “사용량 줄이기”](#사용량-줄이기)
효과가 큰 순서로 대략 이렇습니다.
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/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/capabilities/built-in-tools/) | Endue 작업 공간 |
| 사용자에 대한 사실 | [메모리](/ko/docs/capabilities/memory/)에 저장한 것 | 이 에이전트만 |
## 닿을 수 없는 것
[섹션 제목: “닿을 수 없는 것”](#닿을-수-없는-것)
* **다른 에이전트의 대화·메모리·바인딩.** 에이전트들은 서로 격리돼 있습니다.
* **자기의 다른 실.** [대화](/ko/docs/work/conversations/)는 다른 대화를 넘겨다보지 않습니다.
* **연결하지 않은 서비스.** “아무 API 나 호출” 하는 범용 능력은 없습니다.
* **커넥터가 제공하지 않는 작업.** 커넥터마다 목록이 정해져 있습니다 — [연결 가능한 서비스](/ko/docs/connect/available-connectors/)를 보세요.
* **사용자 컴퓨터의 어떤 것도.** Endue 서버에서 도는 실행에 대해서요.
## 되돌릴 수 없는 행동 앞의 관문
[섹션 제목: “되돌릴 수 없는 행동 앞의 관문”](#되돌릴-수-없는-행동-앞의-관문)
모든 커넥터 작업은 분류돼 있습니다. **발송**(계정을 벗어나 다른 사람에게 닿는 모든 것)과 **파괴**(지우거나 덮어쓰는 모든 것)는 실행 전에 멈춰 서서 어떤 행동을 어떤 인자로 하려는지 그대로 보여줍니다.
이 관문은 끌 수 없습니다
에이전트가 묻지 않고 보내거나 지우도록 허용하는 설정은 에이전트별로도 계정별로도 없습니다. 지켜보는 사람이 없는 실행 — [루틴](/ko/docs/automate/routines/)이나 [채널](/ko/docs/automate/channels/) — 에서 그런 행동은 수행되지 않고 거절됩니다.
승인은 *그 인자를 가진 그 행동* 하나를 허가합니다. 다음 번에는 다시 묻습니다.
## 자격증명 보관 방식
[섹션 제목: “자격증명 보관 방식”](#자격증명-보관-방식)
커넥터를 승인하면 Endue 는 그 결과로 받은 토큰을 저장합니다. 비밀번호는 저장하지 않습니다. 비밀번호는 Endue 가 아니라 제공자에서 입력하니까요. 저장된 자격증명은 암호화되며, 커넥터의 작업이 기술하는 호출에만 쓰입니다.
[BYOK](/ko/docs/account/bring-your-own-key/)로 제공한 모델 제공자 키도 같은 방식으로 다뤄집니다.
## 접근 거두기
[섹션 제목: “접근 거두기”](#접근-거두기)
| 거둘 대상 | 하는 일 | 효과 |
| ------------------------------------ | -------------------------------------------- | ------------------------- |
| 에이전트 하나의 서비스 접근 | [에이전트 빌더](/ko/docs/build/agent-builder/)에서 연결 바인딩 해제 | 그 에이전트에 즉시 |
| 모든 에이전트의 접근 | Endue 에서 연결 제거 | 어디서나 즉시 |
| Endue 의 접근 전체 | 제공자에서도 취소 | 오래된 토큰으로도 Endue 가 호출하지 못함 |
| 공유된 [아티팩트](/ko/docs/capabilities/artifacts/) | 링크 공유 끄기 | 링크가 동작을 멈춤 |
완전히 끊으려면 Endue 쪽과 제공자 쪽을 모두 하세요. Endue 에서 연결을 제거해도 제공자에 등록된 Endue 가 취소되지는 않습니다.
## 실전 조언
[섹션 제목: “실전 조언”](#실전-조언)
* **좁게 바인딩하세요.** 메일 초안을 쓰는 에이전트에게 운영 대시보드는 필요 없습니다.
* **채널을 향한 에이전트는 조심하세요.** 봇에 닿을 수 있는 사람은 누구나 에이전트와 대화합니다. [채널](/ko/docs/automate/channels/)에 노출된 에이전트가 민감한 연결을 갖고 있어서는 안 됩니다.
* **승인 창을 읽으세요.** 수신자가 잘못된 것을 잡으라고 있는 것이고, 거기 이름이 적혀 있습니다.
* **공유할 것을 읽어보세요.** 메일을 바탕으로 쓴 아티팩트는 그것을 인용하고 있을 수 있고, 공유 링크는 가진 사람 누구에게나 공개입니다.
* **메모리를 가끔 검토하세요.** 에이전트는 추론한 것도 적어두고, 있어선 안 될 것은 지울 수 있습니다.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[승인](/ko/docs/work/approvals/)관문 자체, 그리고 지켜보는 사람이 없을 때의 동작.
[커넥터 개요](/ko/docs/connect/overview/)연결과 바인딩 — 접근 모델의 핵심.
[연결 문제 해결](/ko/docs/connect/troubleshooting/)해지, 재승인, 그리고 잘못된 계정.
# 채널
> 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/artifacts/)를 갖습니다. 나중에 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/artifacts/)이고, 그것을 가리키는 알림과 함께 기다리고 있습니다.
4. **처음 몇 번의 실행을 지켜보세요.** 의도한 것과 에이전트가 하는 것 사이의 틈은 곧바로 드러나고, 그때 고치는 것이 가장 쌉니다.
## 실행마다 일어나는 일
[섹션 제목: “실행마다 일어나는 일”](#실행마다-일어나는-일)
루틴이 발동하면 에이전트는 사용자가 보낸 것처럼 그 지시를 수행하고, 결과가 작업 공간에 쌓입니다. 끝나면 알림이 오고, 실패해도 알림이 옵니다. [알림과 인박스](/ko/docs/work/inbox/)를 보세요.
계속 실패하는 루틴은 중지되고 그 사실을 알려줍니다. 의도된 것입니다. 일주일 동안 매시간 재시도하는 망가진 루틴은 멈춰 서서 말해주는 루틴보다 나쁩니다.
## 승인할 사람이 아무도 없다
[섹션 제목: “승인할 사람이 아무도 없다”](#승인할-사람이-아무도-없다)
예약된 작업에 대해 가장 중요하게 이해해야 할 부분입니다.
지켜보는 사람이 없는 실행은 아무것도 물을 수 없습니다. 평소라면 [승인](/ko/docs/work/approvals/)을 위해 멈췄을 행동 — 메일 발송, 채널 게시, 삭제 — 은 대기열에 쌓이는 게 아니라 **거절**됩니다.
그것을 전제로 설계하세요.
| 이렇게 말고 | 이렇게 |
| ------------------ | -------------------------------------- |
| “요약을 메일로 보내줘” | “요약을 아티팩트로 써줘” — 알림이 그리로 데려다줍니다 |
| “브리핑을 Slack 에 올려줘” | 읽어본 뒤 직접 올릴 아티팩트 |
| “급한 건 답장해줘” | “급한 건 답장 초안을 써줘” — 초안 작성은 관문에 걸리지 않습니다 |
[질문](/ko/docs/work/questions/)도 마찬가지입니다. 판단이 필요한 루틴에는 물을 사람이 없으니, 판단이 필요 없을 만큼 지시를 구체적으로 쓰세요.
루틴에 모델을 고정하세요
루틴은 에이전트 기본값과 무관하게 자기 모델을 쓸 수 있습니다. 에이전트를 다시 손보는 동안에도 예약 작업의 비용과 행동이 흔들리지 않습니다.
## 루틴 관리하기
[섹션 제목: “루틴 관리하기”](#루틴-관리하기)
루틴은 에이전트별로 나열되고, 각각 일정·기록·만들어낸 실행을 담은 자기 페이지를 갖습니다. 언제든 중지·수정·취소할 수 있고, 시키면 에이전트가 자기 루틴을 조회하고 관리할 수도 있습니다.
## 한계
[섹션 제목: “한계”](#한계)
* 지켜보는 사람이 없는 실행은 관문에 걸리는 행동을 거절합니다. “미리 승인” 은 없습니다.
* 루틴은 에이전트 하나에 속하고 지시 하나를 담습니다.
* 반복 실패하면 무한히 재시도하지 않고 루틴을 중지합니다.
* 루틴은 Endue 의 서버에서 돌기 때문에 사용자의 컴퓨터에 있는 것에는 닿지 못합니다.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[승인](/ko/docs/work/approvals/)예약된 실행이 발송을 거절하는 이유.
[아티팩트](/ko/docs/capabilities/artifacts/)예약 작업의 산출물이 있어야 할 곳.
[알림과 인박스](/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. **프로그램은 읽고 사람은 못 읽는 곳에 두세요** — 환경 변수나 시크릿 저장소에 두고, 저장소에는 절대 넣지 마세요.
여기서 만든 키는 **이 에이전트로 제한**됩니다. 다른 에이전트를 부르는 데 쓸 수 없습니다. 계정 전체 키는 **설정 → 계정**에서 따로 발급하는데, 가능하면 좁은 쪽을 쓰세요.
[](/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/capabilities/built-in-tools/) |
| **페어링** | 채널, 기기 | [채널](/ko/docs/automate/channels/) |
| **인벤토리** | 워크스페이스, 아티팩트 | [아티팩트](/ko/docs/capabilities/artifacts/) |
이 구분은 익혀둘 만합니다. **정체성**은 에이전트가 누구인지, **능력**은 무엇에 닿을 수 있는지, **페어링**은 어디서 부를 수 있는지, **인벤토리**는 무엇을 만들어냈는지입니다.
## 에이전트의 구성
[섹션 제목: “에이전트의 구성”](#에이전트의-구성)
에이전트의 행동을 정하는 것은 셋이고, 영향이 큰 순서로 대략 이렇습니다.
**시스템 프롬프트.** 모든 대화 전에 읽는 상시 지침입니다. 가장 큰 지렛대이면서 대부분이 가장 덜 쓰는 것이기도 합니다. [시스템 프롬프트와 리비전](/ko/docs/build/system-prompt/)을 보세요.
**바인딩된 것.** 에이전트는 바인딩한 스킬과 연결만 쓸 수 있습니다. 바인딩은 계정 단위가 아니라 에이전트 단위입니다. Gmail 을 한 번 연결했다고 모든 에이전트가 받은편지함을 갖지 않습니다.
**모델.** 어떤 모델이 루프를 돌리는지, 추론에 얼마나 힘을 쓰는지입니다. [모델 고르기](/ko/docs/build/models/)를 보세요.
넓은 것보다 좁은 것
일이 하나이고 도구가 셋인 에이전트가 목적이 흐릿하고 도구가 스무 개인 에이전트보다 낫습니다. 두 번째 일을 담으려고 프롬프트를 넓히고 있다면, 두 번째 에이전트를 만드세요.
## 한계
[섹션 제목: “한계”](#한계)
* 에이전트의 핸들은 생성할 때 정하며 이후에 바꾸는 것을 전제로 하지 않습니다.
* 에이전트 변경은 **다음** 실행부터 적용됩니다. 이미 돌고 있는 실행은 시작할 때의 설정 — 프롬프트 리비전, 모델, 바인딩된 도구 — 을 그대로 유지합니다.
* 에이전트 빌더는 에이전트 하나를 설정합니다. 여러 에이전트를 한꺼번에 수정하는 기능은 없습니다.
* 에이전트를 삭제해도 그 에이전트가 만든 [아티팩트](/ko/docs/capabilities/artifacts/)는 삭제되지 않습니다.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[정체성과 프로필](/ko/docs/build/identity/)이름 · 핸들 · 프로필, 그리고 말투를 결정하는 성격.
[시스템 프롬프트와 리비전](/ko/docs/build/system-prompt/)가장 큰 지렛대, 그리고 안전하게 바꾸는 방법.
[모델 고르기](/ko/docs/build/models/)모델 카탈로그, 추론 강도, 그리고 각각이 중요해지는 때.
[시험하고 다듬기](/ko/docs/build/iterating/)잘 돌던 에이전트를 망가뜨리지 않고 바꾸기.
# 캔버스
> 에이전트 하나의 지도 — 무엇이 바인딩돼 있는지를 눌러 들어갈 수 있는 그래프로 그립니다.
**캔버스**는 에이전트와 거기 붙은 모든 것을 그립니다. 쓸 수 있는 스킬과 커넥터, 답하는 채널, 가진 워크스페이스까지요. [에이전트 빌더](/ko/docs/build/agent-builder/) 섹션들과 같은 설정을 한눈에 보는 것입니다.
[](/ko/docs/_astro/studio-canvas.BRohVRCC.png)
아무것도 붙지 않은 축도 그대로 나타난다 — 빈 곳이 연결만큼 잘 보인다.[원본 크기로 보기](/ko/docs/_astro/studio-canvas.BRohVRCC.png)
## 언제 쓰는가
[섹션 제목: “언제 쓰는가”](#언제-쓰는가)
설정 하나를 바꾸려는 게 아니라 *이 에이전트가 대체 무엇인지* 알고 싶을 때 엽니다. 채널을 붙이기 전, 동료가 “얘는 어디까지 닿아?” 라고 물을 때, 프롬프트로는 설명되지 않는 행동을 할 때요.
무엇을 바꿀지 알고 있다면 섹션으로 가세요. 캔버스는 보는 곳입니다.
## 읽는 법
[섹션 제목: “읽는 법”](#읽는-법)
가운데에 에이전트가 있고, 둘레에 바인딩된 것들이 종류별로 — 능력·페어링·인벤토리 — 묶여 있습니다. 아무것도 없는 축도 그려지므로, 연결만큼 빈자리도 눈에 들어옵니다.
노드를 고르면 해당 섹션이 쓰는 것과 같은 패널이 열립니다. *“이 에이전트가 무엇을 가졌나”* 에서 그것을 바꾸는 데까지 지도를 떠나지 않고 갈 수 있습니다.
설정보다 먼저 그려지는 축도 있습니다
일부 노드는 아직 편집 대상이 아니라 구조를 보여주기 위해 있습니다. 노드를 눌렀는데 읽기 전용 패널이 열린다면 그 축은 여기서 설정하는 것이 아닙니다.
## 한계
[섹션 제목: “한계”](#한계)
* 캔버스는 에이전트 하나를 보여줍니다. 모든 에이전트를 가로지르는 뷰는 없습니다.
* 활동이 아니라 설정을 비춥니다 — 오늘 무엇을 썼는지가 아니라 무엇에 *닿을 수 있는지*입니다. 사용 내역은 [사용량](/ko/docs/account/plans-and-usage/)이나 [실행](/ko/docs/work/runs/) 자체를 보세요.
* 편집은 여전히 패널에서 합니다. 캔버스는 들어가는 길이지 별도의 편집기가 아닙니다.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[에이전트 빌더](/ko/docs/build/agent-builder/)같은 설정을 섹션별로.
[보안과 권한](/ko/docs/account/security/)바인딩된다는 것이 실제로 무엇을 주는지.
# 디바이스
> 내 컴퓨터를 에이전트에 페어링해서, 클라우드에 있는 것만이 아니라 로컬 파일과 도구를 다루게 합니다.
**디바이스**는 에이전트가 닿을 수 있는 사용자의 컴퓨터입니다. 페어링하면 연결한 서비스가 아니라 내 머신에 있는 파일과 도구를 에이전트가 다룰 수 있습니다.
## 디바이스와 워크스페이스
[섹션 제목: “디바이스와 워크스페이스”](#디바이스와-워크스페이스)
둘 다 에이전트에게 일할 자리를 주지만 서로 대체되지 않습니다.
| | [워크스페이스](/ko/docs/build/workspace/) | 디바이스 |
| ------ | ---------------------------- | ------------------------ |
| 도는 곳 | Endue 인프라 | 내 컴퓨터 |
| 준비 주체 | 필요할 때 자동으로 준비됨 | 사용자가 페어링 |
| 어울리는 일 | 자체 완결적인 일 — 코드 받아오기, 보고서 만들기 | 내 머신만 닿을 수 있는 파일·도구·네트워크 |
## 페어링
[섹션 제목: “페어링”](#페어링)
[에이전트 빌더](/ko/docs/build/agent-builder/)의 디바이스 섹션이 이 에이전트에 페어링된 머신과 상태를 보여줍니다 — 사용 가능, 요청됨, 연결됨, 비활성. 페어링은 머신 쪽에서 시작하고, 에이전트 쪽은 여기 보이는 목록입니다. 여기서 해지하면 즉시 끊깁니다.
설치 문서 작성 중
디바이스 페어링에는 데스크톱 앱이나 CLI 가 필요하고, 둘 다 아직 일반 공개 전입니다. 설치와 페어링 안내는 그것들과 함께 나옵니다. 지금 각각이 무엇을 하는지는 [사용 환경](/ko/docs/get-started/surfaces/)을 보세요.
## 한계
[섹션 제목: “한계”](#한계)
* 페어링된 디바이스는 내 머신으로 들어오는 문입니다. 스스로 관리하는 머신만 페어링하고, 안 쓰는 페어링은 해지하세요.
* 디바이스에서의 일은 그 디바이스가 있는 곳에서 일어납니다. 꺼져 있거나 오프라인이면 에이전트가 닿지 못합니다.
* 쓰거나 실행하는 행동은 다른 곳과 똑같이 [승인](/ko/docs/work/approvals/) 관문의 적용을 받습니다.
* 디바이스는 계정별이 아니라 에이전트별로 페어링됩니다.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[사용 환경](/ko/docs/get-started/surfaces/)머신을 페어링 가능하게 만드는 데스크톱 앱과 CLI.
[워크스페이스](/ko/docs/build/workspace/)아무것도 페어링하지 않아도 에이전트가 갖는 클라우드 머신.
[보안과 권한](/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/)도는 실행을 바로잡기, 그리고 그것이 알려주는 것.
# 모델 고르기
> 에이전트가 돌아갈 모델을 고르고, 추론에 얼마나 힘을 쓸지 정하고, 메시지 하나에 대해서만 둘 다 바꿔 씁니다.
모든 [실행](/ko/docs/work/runs/)은 모델이 굴립니다. Endue 는 여러 제공자의 카탈로그를 제공하고, 에이전트가 어느 모델을 쓸지는 사용자가 고릅니다. 기본값으로 정할 수도, 메시지 하나에만 적용할 수도 있습니다.
## 언제 쓰는가
[섹션 제목: “언제 쓰는가”](#언제-쓰는가)
문제가 에이전트의 *추론*일 때 모델을 바꿉니다. 긴 작업에서 단계를 빠뜨리거나, 정말 단순한 일에 느리고 비싸게 굴 때입니다. 일을 못하는 게 아니라 엉뚱한 일을 하고 있다면 [시스템 프롬프트](/ko/docs/build/system-prompt/)를 먼저 고치세요. 더 큰 모델도 흐릿한 지시는 똑같이 충실하게 따릅니다.
## 카탈로그
[섹션 제목: “카탈로그”](#카탈로그)
모델 선택기는 쓸 수 있는 모델과 함께, 선택을 실제로 좌우하는 정보를 보여줍니다. 컨텍스트 창, 백만 토큰당 입력·출력 가격, 받아들이는 입력(텍스트·이미지·파일), 그리고 도구 호출 지원 여부입니다.
**확인할 것은 도구 호출입니다.** Endue 의 에이전트는 도구를 불러 일합니다. 도구 호출을 지원하지 않는 모델은 이미 아는 것으로 답할 수는 있어도 메일을 검색하거나, 아티팩트를 쓰거나, 커넥터를 쓰지 못합니다. 그런 모델은 선택기에 표시돼 있습니다.
## 추론 강도
[섹션 제목: “추론 강도”](#추론-강도)
일부 모델은 **추론 강도** 설정을 제공합니다. 답하기 전에 얼마나 생각할지입니다. 강도가 높으면 토큰을 더 쓰고 시간도 더 걸립니다. 대신 초반의 잘못된 판단이 실행의 나머지를 버리게 만드는 다단계 작업에서 값을 합니다.
대략의 기준입니다.
| 작업 | 강도 |
| ------------------------------ | -- |
| 형식 변환, 정보 추출, 분류, 짧은 답 | 낮음 |
| 도구 호출 몇 번이 끼는 일상적인 다단계 작업 | 보통 |
| 초반 실수가 누적되는 긴 사슬 — 조사, 계획, 디버깅 | 높음 |
[](/ko/docs/_astro/studio-model.Dma7Uwmc.png)
[원본 크기로 보기](/ko/docs/_astro/studio-model.Dma7Uwmc.png)
## 에이전트별 · 메시지별 · 루틴별
[섹션 제목: “에이전트별 · 메시지별 · 루틴별”](#에이전트별--메시지별--루틴별)
모델을 정하는 곳은 셋이고, 아래로 갈수록 위를 덮어씁니다.
* **에이전트 기본값** — [에이전트 빌더](/ko/docs/build/agent-builder/)에서 정합니다. 달리 지정하지 않으면 이것을 씁니다.
* **메시지 하나** — 입력창에서 바꿉니다. 값싼 에이전트와의 대화 중 어려운 질문 하나에 쓰기 좋습니다.
* **[루틴](/ko/docs/automate/routines/)** — 자기 모델을 고정할 수 있어서, 에이전트를 다시 손봐도 예약된 작업의 비용이 흔들리지 않습니다.
값싼 에이전트에 가끔 승급
빠른 모델을 에이전트 기본값으로 두고 필요한 몇 메시지에만 더 강한 모델을 쓰는 편이, 모든 것을 가장 강한 모델로 돌리는 것보다 대개 쌉니다. 일상적인 90% 에서는 에이전트가 더 빠르게 느껴지기도 합니다.
## 비용
[섹션 제목: “비용”](#비용)
요금제의 사용량을 소모하는 것은 모델 사용이고, 카탈로그 안에서도 가격은 열 배 넘게 차이 납니다. 선택기가 모델별 입력·출력 가격을 보여줍니다. 사용량을 어떻게 재고 어디서 보는지는 [요금제와 사용량](/ko/docs/account/plans-and-usage/)을, 제공자에게 직접 결제하고 싶다면 [내 API 키 사용](/ko/docs/account/bring-your-own-key/)을 보세요.
## 한계
[섹션 제목: “한계”](#한계)
* 모든 모델이 모든 기능을 지원하지는 않습니다. 도구 호출, 이미지 입력, 추론 강도는 모델마다 다르고 선택기가 그 기준입니다.
* 모델을 바꿔도 에이전트의 프롬프트·메모리·바인딩은 바뀌지 않습니다.
* 돌고 있는 실행은 시작할 때의 모델을 유지합니다. 모델 변경은 다음 실행부터입니다.
* 컨텍스트 창이 모델마다 다릅니다. 한 모델에는 들어가는 아주 긴 대화가 다른 모델에는 들어가지 않을 수 있습니다.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[요금제와 사용량](/ko/docs/account/plans-and-usage/)무엇이 사용량을 소모하고, 얼마나 썼는지 어디서 보는지.
[내 API 키 사용](/ko/docs/account/bring-your-own-key/)Endue 의 자격증명 대신 내 모델 자격증명 쓰기.
[Endue 의 동작 방식](/ko/docs/get-started/how-it-works/)모델이 굴리는 루프, 그리고 선택이 중요한 이유.
# 시스템 프롬프트와 리비전
> 에이전트가 모든 대화 전에 읽는 상시 지침을 쓰고, 모든 판을 보관하고, 나빠졌을 때 되돌립니다.
**시스템 프롬프트**는 에이전트가 모든 대화 전에 읽는 상시 지침입니다. 무엇을 하는지, 어떻게 판단해야 하는지, 무엇을 절대 하면 안 되는지를 담습니다. 저장하는 모든 판이 보관되므로 변경은 되돌릴 수 있습니다.
## 언제 쓰는가
[섹션 제목: “언제 쓰는가”](#언제-쓰는가)
에이전트의 *행동*이 잘못됐을 때 프롬프트를 손봅니다 — 엉뚱한 일을 하거나, 형식이 틀렸거나, 이미 알아야 할 것을 묻는 경우입니다. *능력*이 없는 것이라면 [커넥터](/ko/docs/connect/overview/)나 [스킬](/ko/docs/capabilities/skills/)을 손봐야 합니다. 프롬프트로 접근 권한을 대신할 수는 없습니다.
## 프롬프트 쓰기
[섹션 제목: “프롬프트 쓰기”](#프롬프트-쓰기)
1. **[에이전트 빌더](/ko/docs/build/agent-builder/)에서 프롬프트 섹션을 엽니다.**
현재 본문과 지난 리비전 기록이 보입니다.
2. **하는 일을 한 문단으로 밝힙니다.**
누구를 위해 일하는지, 무엇을 책임지는지, 무엇이 그 밖인지. 경계를 아는 에이전트는 쓸데없는 질문을 덜 합니다.
3. **좋은 결과가 어떤 모습인지 씁니다.**
대부분의 프롬프트가 건너뛰는 부분이자 결과를 가장 크게 바꾸는 부분입니다. 단계는 에이전트가 알아서 고릅니다. 알아서 맞힐 수 없는 것은 “다 됐다” 에 대한 사용자의 기준입니다.
*“안 읽은 메일 요약해줘”* 는 전부를 운에 맡깁니다. *“안 읽은 메일을 보낸 사람별로 묶어 요약하되, 나에게 직접 질문한 것은 원문 그대로 인용해서 메일을 열지 않고도 답할 수 있게 해줘”* 는 그렇지 않습니다.
4. **지켜야 할 규칙을 적습니다.**
항상 해야 하거나 절대 하면 안 되는 것들 — 회사 밖으로는 메일을 보내지 않는다, 출처 문서를 항상 밝힌다, 숫자는 추측하지 않는다 같은 것입니다.
5. **새 리비전으로 저장합니다.**
이전 본문은 덮어써지지 않고, 돌아갈 수 있는 리비전이 됩니다.
[](/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/automate/routines/)으로 돕니다. |
[](/ko/docs/_astro/studio-trait.DAC5mU4p.png)
[원본 크기로 보기](/ko/docs/_astro/studio-trait.DAC5mU4p.png)
## 언제 쓰는가
[섹션 제목: “언제 쓰는가”](#언제-쓰는가)
**성격**은 말투가 중요할 때 켤 값이 있습니다. 고객과 대화하는 에이전트, 또는 하루 종일 그 답변을 읽는 에이전트가 그렇습니다. 담백하고 예측 가능하기를 원하거나 [프롬프트를 다듬는 중](/ko/docs/build/iterating/)이라 변수를 하나라도 줄이고 싶다면 꺼두세요.
**성장형**은 몇 주째 돌면서 이제는 필요 없는 기억이 쌓인 에이전트에서 값을 합니다. 새 에이전트에는 정리할 것이 없습니다.
꺼도 설정은 남습니다
끄는 것은 지우는 것이 아닙니다. 성격은 프로필에, 루틴은 루틴 목록에 그대로 있고 트레이트가 그것을 쓰지 않을 뿐입니다. 다시 켜면 이전 동작이 돌아옵니다.
## 한계
[섹션 제목: “한계”](#한계)
* 트레이트는 에이전트별입니다.
* 성격 트레이트가 성격을 만들지는 않습니다. 프로필에 이미 있는 성격을 실어 나를 뿐입니다. 성격 자체는 [정체성](/ko/docs/build/identity/)에서 바꾸세요.
* 성장형은 평범한 루틴으로 동작하므로 같은 규칙을 따릅니다 — 지켜보는 사람이 없는 실행은 아무것도 묻지 못한다는 것까지 포함해서요.
* 변경은 에이전트의 다음 [실행](/ko/docs/work/runs/)부터 적용됩니다.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[정체성과 프로필](/ko/docs/build/identity/)성격 트레이트가 실어 나르는 성격을 정하는 곳.
[메모리](/ko/docs/capabilities/memory/)성장형 트레이트가 정리하는 대상.
[컨텍스트 창](/ko/docs/work/context-window/)트레이트도 매 스텝 모델이 읽는 내용의 일부입니다.
# 워크스페이스
> 에이전트가 파일을 두고 명령을 실행하는 전용 머신 — 필요할 때 준비되고, 쓰는 일은 전부 승인을 거칩니다.
**워크스페이스**는 에이전트 하나에 속한 샌드박스입니다. 읽고 쓸 수 있는 파일 시스템과 명령을 실행할 셸이죠. 무언가를 둘 자리가 필요한 일 — 코드를 받아오고, 데이터로 보고서를 만들고, 대화 사이에 작업 디렉토리를 유지하는 일 — 을 에이전트가 해내는 방식입니다.
## 언제 생기는가
[섹션 제목: “언제 생기는가”](#언제-생기는가)
미리 만들지 않습니다. 머신이 필요한 일을 시키면 에이전트가 준비하고, 그 과정을 대화에서 알려줍니다. 처음 한 번은 준비에 잠깐 걸리고, 그다음부터는 같은 워크스페이스가 다음 대화에도 그대로 있습니다.
채팅이 준비 과정을 별도 단계로 보여주므로, 첫 실행이 느린 것이 영문 모를 일이 아니라 읽히는 일이 됩니다.
## 에이전트가 그 안에서 할 수 있는 일
[섹션 제목: “에이전트가 그 안에서 할 수 있는 일”](#에이전트가-그-안에서-할-수-있는-일)
파일과 디렉토리를 읽고, 쓰고, 옮기고, 명령을 실행합니다.
쓰기와 실행은 항상 묻습니다
읽기는 자유입니다. 워크스페이스를 바꾸는 모든 것 — 쓰기·이동·복사·삭제·명령 실행과 중지 — 은 먼저 [승인](/ko/docs/work/approvals/)을 위해 멈추고 어떤 작업인지 그대로 보여줍니다. 이것을 끄는 설정은 없고, 지켜보는 사람이 없는 실행은 그런 작업을 기다리는 대신 거절합니다.
## 안을 들여다보기
[섹션 제목: “안을 들여다보기”](#안을-들여다보기)
[에이전트 빌더](/ko/docs/build/agent-builder/)의 워크스페이스 섹션이 안에 무엇이 있는지 보여줍니다. 파일 트리, 파일 내용, 그리고 지금 돌고 있는 프로세스입니다.
이 화면은 **의도적으로 읽기 전용**입니다. 워크스페이스를 바꾸는 유일한 길은 에이전트에게 부탁하고 그 제안을 승인하는 것입니다 — 쓰기까지 되는 브라우저는 승인 관문을 우회하는 문이 됩니다.
화면은 스스로 새로고침하지 않습니다. 파일을 바꾸는 것이 사용자가 아니라 에이전트라서, 언제 바뀌는지는 화면이 알 수 없기 때문입니다. 현재 상태가 필요하면 새로고침하세요.
[](/ko/docs/_astro/studio-workspace.CxoDZefo.png)
트리는 읽기 전용이다. 쓰는 일은 전부 대화 안의 승인을 거친다.[원본 크기로 보기](/ko/docs/_astro/studio-workspace.CxoDZefo.png)
## 한계
[섹션 제목: “한계”](#한계)
* 에이전트당 워크스페이스 하나.
* 사용자 컴퓨터가 아니라 Endue 인프라의 머신입니다. 내 파일을 다루는 일은 [디바이스](/ko/docs/build/devices/)와 데스크톱 앱의 로컬 런타임을 보세요.
* 워크스페이스가 오프라인이면 패널이 그렇게 알려줍니다. 그것이 필요한 일을 시키면 다시 올라옵니다.
* 브라우저는 목록과 읽기만 합니다. 업로드·편집·삭제는 하지 않습니다.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[승인](/ko/docs/work/approvals/)모든 쓰기와 명령이 지나는 관문.
[아티팩트](/ko/docs/capabilities/artifacts/)남길 만해진 결과물이 가야 할 곳.
[디바이스](/ko/docs/build/devices/)또 다른 종류의 머신 — 내 컴퓨터.
# 아티팩트
> 에이전트가 만든 문서 · 보고서 · 파일 — 어디에 있고, 어떻게 읽고 내보내며, 링크 공유는 어떻게 동작하는가.
**아티팩트**는 에이전트가 만든 것 중 남겨둘 만한 것입니다. 보고서, 문서, 데이터셋, 다이어그램 같은 것들이죠. 대화 기록 속에 묻히는 대신 자기 페이지를 갖습니다.
## 언제 생기는가
[섹션 제목: “언제 생기는가”](#언제-생기는가)
에이전트가 판단합니다. 분량이 있는 것을 요청하면 — *“조사 결과를 정리해줘”*, *“주간 요약을 만들어줘”* — 결과를 아티팩트로 저장하고 대화에 링크합니다. 직접 시켜도 됩니다. *“그거 아티팩트로 저장해줘”* 처럼요.
짧은 답은 대화에 남습니다. 그게 맞는 기본값입니다. 아티팩트는 다시 찾아올 산출물을 위한 것입니다.
## 다루기
[섹션 제목: “다루기”](#다루기)
**대화 안에서는** 실을 떠나지 않고 열어볼 수 있는 카드로 나타납니다.
**자기 페이지에서는** 전체 내용, 지원되는 형식의 미리보기, 그리고 내보내기를 제공합니다. 에이전트는 나중에 자기 아티팩트를 다시 읽을 수 있습니다. 한 대화에서 초안을 쓰고 다음 대화에서 고치는 식의 이어지는 작업이 가능한 이유입니다.
**에이전트의 인벤토리에는** 그 에이전트가 만든 아티팩트가 모두 나열됩니다. 자주 돌아가는 것은 고정해 두면 위에 남습니다.
## 아티팩트에서 앱으로
[섹션 제목: “아티팩트에서 앱으로”](#아티팩트에서-앱으로)
에이전트가 함께 동작하는 파일 묶음을 만들었다면 — 페이지, 작은 도구, 대시보드 같은 것 — 그것들을 **앱**으로 승격할 수 있습니다. 앱은 자기 페이지를 갖고, 문서가 아니라 동작하는 것으로 열리며, 아티팩트와 똑같이 링크로 공유됩니다.
승격은 **이동**입니다. 아티팩트들이 앱의 첫 버전이 되고 원래 항목은 사라집니다. 진실이 한 벌만 남아 같은 결과물이 목록에 두 번 나오지 않습니다. 원본은 앱이 저장된 **뒤에만** 지워지므로, 저장이 실패하면 아무것도 잃지 않습니다.
앱은 두 가지 모드로 열립니다.
* **뷰어** — 결과물만, 둘레에 아무것도 없이. 링크를 받은 사람이 보는 화면입니다.
* **캔버스** — 대화 옆에 앱을 띄웁니다. 고쳐달라고 말하고 반영되는 것을 바로 볼 수 있습니다.
## 링크로 공유하기
[섹션 제목: “링크로 공유하기”](#링크로-공유하기)
아티팩트는 기본적으로 **사용자만 볼 수 있습니다**. 링크 공유를 켜면 그 아티팩트 하나를 여는 URL 이 만들어집니다.
링크가 주는 것과 주지 않는 것입니다.
| 주는 것 | 주지 않는 것 |
| ---------------- | --------------- |
| 이 아티팩트에 대한 읽기 권한 | 다른 아티팩트에 대한 접근 |
| 그 밖에는 없음 | 그것이 나온 대화 |
| | 에이전트, 그 메모리, 계정 |
링크를 가진 사람은 누구나 열 수 있으니 공개된 것으로 취급하세요. 공유를 끄면 링크가 동작을 멈춥니다. 공유되지 않은 아티팩트는 누가 URL 을 맞혔든 아예 찾아지지 않습니다.
공유 전에 내용을 확인하세요
메일이나 문서를 바탕으로 쓴 아티팩트는 그것들을 인용하고 있을 수 있습니다. 링크를 켜기 전에 읽어보세요.
## 한계
[섹션 제목: “한계”](#한계)
* **버전 기록이 없습니다.** 아티팩트를 갱신하면 내용이 교체됩니다. 이전 상태가 필요하면 먼저 내보내거나, 별도 아티팩트로 저장하라고 하세요.
* 아티팩트는 그것을 만든 에이전트와 사용자의 것입니다. 다른 에이전트는 사용자가 가리켜 주지 않는 한 읽지 않습니다.
* 링크 공유는 읽기 전용이고 아티팩트당 링크 하나입니다. 사람별 접근 설정은 없습니다.
* 에이전트를 삭제해도 그 아티팩트는 삭제되지 않습니다.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[프로젝트](/ko/docs/capabilities/projects/)아티팩트가 속한 업무를 묶기.
[루틴](/ko/docs/automate/routines/)산출물이 대개 아티팩트인 예약 작업.
[보안과 권한](/ko/docs/account/security/)무엇이 비공개이고, 무엇이 공유되고, 에이전트가 무엇에 닿는지.
# 내장 툴
> 설정 없이 모든 에이전트가 할 수 있는 일, 그리고 그중 에이전트별로 끌 수 있는 것들.
**내장 툴**는 아무것도 연결하기 전에 에이전트가 이미 가진 능력입니다. 그룹으로 묶여 있고, 각 그룹은 에이전트별로 끌 수 있습니다.
## 언제 쓰는가
[섹션 제목: “언제 쓰는가”](#언제-쓰는가)
이것들을 *켤* 일은 거의 없습니다. 기본으로 켜져 있으니까요. 에이전트를 좁히려고 *끕니다*. 붙여넣은 것만 요약하면 되는 에이전트에게 웹 페이지를 가져오는 능력은 필요 없고, 아무것도 예약하지 말아야 할 에이전트에게 루틴 도구는 필요 없습니다.
## 그룹
[섹션 제목: “그룹”](#그룹)
| 그룹 | 에이전트가 할 수 있는 일 |
| ---------- | ------------------------------------------------- |
| **아티팩트** | [아티팩트](/ko/docs/capabilities/artifacts/) 저장·목록·읽기·수정·삭제 |
| **루틴** | 대화 안에서 [루틴](/ko/docs/automate/routines/) 생성·관리 |
| **메모리** | 기억·회상·갱신·망각 — [메모리](/ko/docs/capabilities/memory/) 참고 |
| **프로젝트** | 대화가 속한 [프로젝트](/ko/docs/capabilities/projects/) 읽기·갱신 |
| **스킬 도구** | 설치된 [스킬](/ko/docs/capabilities/skills/) 훑어보기, 쓰기, 새로 작성하기 |
| **시각화** | 대화 안에 차트나 위젯 그리기 |
| **웹 가져오기** | URL 의 내용 읽기 |
| **유틸리티** | 정확한 계산과 현재 시각 |
**메모리**를 끄면 대화가 시작될 때 에이전트의 메모리 색인을 싣는 것도 멈춥니다. 그룹은 도구 몇 개가 아니라 그 능력 전체입니다.
[](/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/artifacts/)에, 특정 업무의 배경은 [프로젝트](/ko/docs/capabilities/projects/)에 둡니다.
## 에이전트가 쓰는 방식
[섹션 제목: “에이전트가 쓰는 방식”](#에이전트가-쓰는-방식)
무엇을 남길 만한지는 에이전트가 판단해 적어둡니다. 사용자가 정정해 주거나 선호를 말한 뒤에 적는 경우가 많습니다. 대화가 시작될 때는 아는 것의 색인을 싣고, 저장한 것 전부가 아니라 지금 작업에 관련된 항목만 끌어옵니다.
그냥 말해도 됩니다. *“금요일에는 회의를 안 잡는다는 걸 기억해줘”* 는 평범한 지시이고, 에이전트는 그것을 저장합니다.
## 확인하고 바로잡기
[섹션 제목: “확인하고 바로잡기”](#확인하고-바로잡기)
메모리는 [에이전트 빌더](/ko/docs/build/agent-builder/)의 정체성 섹션에 나열됩니다. 모든 항목을 읽을 수 있고, 남으면 안 될 것은 지울 수 있습니다.
가끔은 꼭 확인하세요. 에이전트는 추론한 것도 적어둡니다. 한 번 조급하게 답한 것을 보고 *“짧은 답을 선호함”* 이라고 사실처럼 적어두면, 그것이 몇 주 동안 조용히 답을 좌우합니다.
메모리는 에이전트별입니다
에이전트마다 따로 기억합니다. 한 에이전트에게 선호를 가르쳤다고 다른 에이전트가 알게 되지 않습니다. 모든 에이전트가 알아야 할 것은 각 에이전트의 [시스템 프롬프트](/ko/docs/build/system-prompt/) 에 두는 편이 낫습니다.
[](/ko/docs/_astro/studio-memory.DjljMvl7.png)
[원본 크기로 보기](/ko/docs/_astro/studio-memory.DjljMvl7.png)
## 끄기
[섹션 제목: “끄기”](#끄기)
메모리는 [내장 툴 그룹](/ko/docs/capabilities/built-in-tools/) 중 하나입니다. 에이전트에서 끄면 저장과 회상이 멈추고, 대화가 시작될 때 메모리 색인을 싣는 것도 멈춥니다. 기존 항목은 남고, 에이전트가 그것을 쓰지 않게 됩니다.
다른 사람의 데이터를 다루는 에이전트, 또는 상태 없이 예측 가능하게 두고 싶은 에이전트에 맞는 설정입니다.
## 한계
[섹션 제목: “한계”](#한계)
* 메모리는 계정별이 아니라 에이전트별입니다.
* 무엇을 저장할지는 에이전트가 정합니다. 메모리 목록을 미리 써넣을 수는 없지만, 무엇을 기억하라고 말할 수 있고 잘못 적은 것은 지울 수 있습니다.
* 항목을 지우면 이후 실행에서 회상되지 않습니다. 이미 그것을 쓴 대화가 고쳐지지는 않습니다.
* 메모리는 검색 가능한 콘텐츠 저장소가 아닙니다. 큰 문서는 아티팩트에 두세요.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[프로젝트](/ko/docs/capabilities/projects/)에이전트가 아니라 하나의 업무를 위한 공유 맥락.
[시스템 프롬프트](/ko/docs/build/system-prompt/)잊히거나 추측돼서는 안 되는 상시 규칙.
[내장 툴](/ko/docs/capabilities/built-in-tools/)메모리를 켜고 끄는 곳.
# 프로젝트
> 하나의 업무를 중심으로 대화를 묶고, 에이전트가 실행마다 읽는 상시 맥락을 줍니다.
**프로젝트**는 같은 업무에 속하는 [대화](/ko/docs/work/conversations/)를 묶고, 그 안의 모든 대화가 읽을 수 있는 맥락을 함께 담습니다.
## 언제 쓰는가
[섹션 제목: “언제 쓰는가”](#언제-쓰는가)
실마다 같은 배경을 다시 설명하고 있다는 것을 깨달았을 때 씁니다. 그 고객, 그 코드베이스, 그 출시, 그 분기 같은 것들이죠. 프로젝트가 그 배경을 한 번만 갖습니다.
| 두는 곳 | 언제 |
| --------------------------------- | --------------------- |
| [시스템 프롬프트](/ko/docs/build/system-prompt/) | 에이전트가 하는 모든 일에 참인 것 |
| 프로젝트 | 이 업무에 참인 것 |
| [메모리](/ko/docs/capabilities/memory/) | 모든 업무를 통틀어 나에 대해 참인 것 |
| 메시지 | 이번 작업 하나에만 참인 것 |
## 프로젝트가 에이전트에게 주는 것
[섹션 제목: “프로젝트가 에이전트에게 주는 것”](#프로젝트가-에이전트에게-주는-것)
프로젝트 안의 대화는 그 프로젝트의 맥락을 쓸 수 있는 상태로 시작합니다. 에이전트는 프로젝트의 현재 상태를 읽고 일이 진행되는 대로 갱신할 수도 있습니다. 사용자가 옮겨 적지 않아도 에이전트가 유지하는 현황이 최신으로 남는 것이죠.
그래서 프로젝트는 공유 작업 기록으로도 쓸모가 있습니다. 이 일이 무엇이고, 어디까지 왔고, 무엇이 정해졌는지 말입니다.
## 프로젝트 안에서 일하기
[섹션 제목: “프로젝트 안에서 일하기”](#프로젝트-안에서-일하기)
프로젝트를 열고 거기서 대화를 시작하면 그 대화는 프로젝트에 속합니다. 프로젝트 페이지가 자기 대화 목록을 보여주므로, 하던 일로 돌아가려고 전체 최근 목록을 뒤질 필요가 없습니다.
프로젝트는 권한 경계가 아닙니다
대화를 프로젝트에 넣는 것은 에이전트가 *읽는* 것을 바꾸지 *닿을 수 있는* 것을 바꾸지 않습니다. 접근 권한은 여전히 에이전트에 바인딩된 [연결과 스킬](/ko/docs/connect/overview/)에서 옵니다.
## 한계
[섹션 제목: “한계”](#한계)
* 대화는 프로젝트 하나에 속합니다.
* 프로젝트 맥락은 그 프로젝트 안의 대화에서 쓸 수 있습니다. 에이전트의 다른 실과 공유되지 않습니다.
* 프로젝트는 일을 묶습니다. 접근 권한을 주지도 않고, 문서를 보관하는 곳도 아닙니다. 산출물은 [아티팩트](/ko/docs/capabilities/artifacts/)에 둡니다.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[대화](/ko/docs/work/conversations/)프로젝트가 묶는 실들.
[아티팩트](/ko/docs/capabilities/artifacts/)프로젝트 작업의 산출물이 쌓이는 곳.
[메모리](/ko/docs/capabilities/memory/)업무가 아니라 사용자를 따라다니는 맥락.
# 스킬
> 반복되는 일을 한 번 포장해 에이전트에 바인딩하고, 갖지 않은 스킬을 에이전트가 직접 요청하게 합니다.
**스킬**은 반복되는 일 — 절차, 체크리스트, 단계 묶음 — 을 포장한 것입니다. 매번 다시 설명하지 않아도 되게 해줍니다. 에이전트에 바인딩하면 그 에이전트가 할 수 있는 일의 일부가 됩니다.
## 언제 쓰는가
[섹션 제목: “언제 쓰는가”](#언제-쓰는가)
*방법*이 안정돼 있고 재사용할 값어치가 있을 때 씁니다. 구조가 고정된 주간 보고, 규칙이 있는 분류 절차, 매번 같은 방식으로 따르게 하고 싶은 조사 방법 같은 것들입니다.
| 두는 곳 | 언제 |
| --------------------------------- | ------------------------ |
| [시스템 프롬프트](/ko/docs/build/system-prompt/) | 에이전트가 하는 모든 일에 적용될 때 |
| 스킬 | 단계가 있는 특정 작업 하나이고 가끔 쓸 때 |
| [루틴](/ko/docs/automate/routines/) | 그 일이 일정에 따라서도 일어나야 할 때 |
## 바인딩
[섹션 제목: “바인딩”](#바인딩)
스킬은 [연결](/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/)포장된 작업을 일정에 따라 돌리기.
# 연결 가능한 서비스
> 지금 Endue 가 연결하는 모든 서비스, 각각으로 에이전트가 할 수 있는 일, 그리고 승인 방식.
Endue 는 **34개 서비스**에 연결합니다. 이 페이지가 그 카탈로그입니다. 각각이 에이전트에게 무엇을 허용하는지, 어떻게 승인하는지를 담았습니다.
기준은 앱입니다
커넥터는 거의 매주 늘어납니다. 앱 안의 카탈로그와 공개 [커넥터 목록](/ko/connectors)이 항상 최신이고, 이 페이지는 손으로 관리하는 사본이라 한 릴리스 정도 뒤처질 수 있습니다.
[](/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/)커넥터가 동작을 멈췄을 때.
# 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/artifacts/)를 산출물로, [루틴](/ko/docs/automate/routines/)으로 매주 돌립니다.
* **Endue 에 먼저 쓰고 나중에 내보내기.** [아티팩트](/ko/docs/capabilities/artifacts/)로 만들고 마음에 들 때 문서로 옮기는 편이, 살아 있는 문서에서 바로 고쳐가는 것보다 대개 낫습니다.
## 한계
[섹션 제목: “한계”](#한계)
* 서비스마다 따로 승인합니다. Workspace 전체를 한 번에 허용하는 방법은 없습니다.
* 서비스당 연결 하나에 Google 계정 하나입니다.
* 에이전트는 검색으로 찾거나 사용자가 준 링크로 닿는 파일을 다룹니다. 무엇이 관련 있는지 정하려고 드라이브 전체를 훑지 않습니다.
* Endue 는 위 표의 작업만 제공합니다. Google API 전체가 아니므로 고급 서식, 권한 변경, 공유 설정은 손이 닿지 않습니다.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[Gmail](/ko/docs/connect/gmail/)여덟 번째 Google 커넥터이자 발송 관문이 있는 것.
[연결 가능한 서비스](/ko/docs/connect/available-connectors/)Endue 가 연결하는 그 밖의 모든 것.
[아티팩트](/ko/docs/capabilities/artifacts/)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/)를 보세요.
## 연결과 바인딩
[섹션 제목: “연결과 바인딩”](#연결과-바인딩)
제대로 이해해 둘 만한 개념은 이것 하나입니다. 에이전트의 손이 닿는 범위를 예측 가능하게 만드는 것이 바로 이 구분이기 때문입니다.
1. **연결을 승인합니다.** 제공자 — Google · Slack · Notion — 에서 로그인하거나 API 토큰을 붙여넣습니다. 그렇게 만들어진 연결은 *사용자 계정*에 속합니다.
2. **연결을 특정 에이전트에 바인딩합니다.** 바인딩한 에이전트만 그것을 쓸 수 있습니다.
Gmail 을 연결했다고 모든 에이전트가 받은편지함을 갖지 않습니다. 메일을 읽을 이유가 없는 에이전트에는 바인딩하지 마세요. 잘못될 수 있는 범위가 좁아지고 에이전트의 선택도 더 예측 가능해집니다.
## 서비스 연결하기
[섹션 제목: “서비스 연결하기”](#서비스-연결하기)
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 클라이언트가 아니어서, 에이전트가 제공자의 임의 엔드포인트를 호출할 수는 없습니다.
* 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/artifacts/)를 쓰고 알리게 하거나, 읽어본 뒤 사용자가 직접 올리는 편이 맞습니다.
## 한계
[섹션 제목: “한계”](#한계)
* 연결 하나에 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%ED%8B%B0%ED%8C%A9%ED%8A%B8) 작성, [메모리](#%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. 실행 안에서 도구를 한 번 부르는 것. 무엇이 돌아왔는지와 함께, 일어나는 대로 보입니다.
## ㄹ
[섹션 제목: “ㄹ”](#ㄹ)
### 루틴
[섹션 제목: “루틴”](#루틴)
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)
## ㅁ
[섹션 제목: “ㅁ”](#ㅁ)
### 메모리
[섹션 제목: “메모리”](#메모리)
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/)
### 성격
[섹션 제목: “성격”](#성격)
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/)
### 승인
[섹션 제목: “승인”](#승인)
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)
## ㅇ
[섹션 제목: “ㅇ”](#ㅇ)
### 아티팩트
[섹션 제목: “아티팩트”](#아티팩트)
Artifact. 에이전트가 만든 문서·보고서·다이어그램·데이터셋으로, [대화](#%EB%8C%80%ED%99%94) 속에 묻히지 않고 자기 페이지에 저장됩니다. 기본적으로 사용자만 볼 수 있고, 링크로 공유하면 그 아티팩트 하나에만 접근이 열립니다.
자세히: [아티팩트](/ko/docs/capabilities/artifacts/)
### 에이전트
[섹션 제목: “에이전트”](#에이전트)
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/)
### 인박스
[섹션 제목: “인박스”](#인박스)
Inbox. 알림이 모이는 곳 — [실행](#%EC%8B%A4%ED%96%89)이 끝났다, [루틴](#%EB%A3%A8%ED%8B%B4)이 완료되거나 실패했다, 사용자의 결정을 기다리는 것이 있다. 무슨 일이 있었는지 알려주고, 실제 조치는 그것이 가리키는 대화에서 합니다.
자세히: [알림과 인박스](/ko/docs/work/inbox/)
## ㅊ
[섹션 제목: “ㅊ”](#ㅊ)
### 채널
[섹션 제목: “채널”](#채널)
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/)
## ㅍ
[섹션 제목: “ㅍ”](#ㅍ)
### 프로젝트
[섹션 제목: “프로젝트”](#프로젝트)
Project. 같은 일에 속하는 [대화](#%EB%8C%80%ED%99%94)·[아티팩트](#%EC%95%84%ED%8B%B0%ED%8C%A9%ED%8A%B8)·[루틴](#%EB%A3%A8%ED%8B%B4)의 묶음. 프로젝트 안에서 일하는 에이전트는 그 프로젝트의 컨텍스트를 봅니다. 대화마다 배경을 다시 설명하지 않는 가장 값싼 방법입니다.
자세히: [프로젝트](/ko/docs/capabilities/projects/)
## ㅎ
[섹션 제목: “ㅎ”](#ㅎ)
### 핸들
[섹션 제목: “핸들”](#핸들)
Handle. 에이전트를 부를 때 쓰는 짧은 이름. 에이전트를 만들 때 정하고 그 뒤로 바뀌지 않습니다.
## A–Z
[섹션 제목: “A–Z”](#az)
### BYOK
[섹션 제목: “BYOK”](#byok)
“Bring your own key.” 에이전트의 모델 호출에 Endue 의 자격증명 대신 사용자가 가진 모델 제공자 자격증명을 쓰는 것.
자세히: [내 API 키 사용](/ko/docs/account/bring-your-own-key/)
***
## 폐기된 용어
[섹션 제목: “폐기된 용어”](#폐기된-용어)
옛 자료에 남아 있는 표현입니다. 현재 이름을 쓰세요.
| 옛 용어 | 현재 이름 | 비고 |
| --------------- | ------------------------------------------------------------------- | -------------------------- |
| Studio(스튜디오) | [에이전트 빌더](#%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8-%EB%B9%8C%EB%8D%94) | 제품 이름이었던 적이 없습니다. 되살리지 마세요 |
| 캐릭터 빌드, 퀘스트, 파티 | — | RPG 비유는 제품 카피에서 폐기됐습니다 |
# Endue 의 동작 방식
> 메시지를 보낸 순간부터 에이전트가 결과를 건네는 순간까지 실제로 무슨 일이 일어나는가.
Endue 에이전트에게 일을 시키면 한 번에 답하지 않습니다. 정하고, 실행하고, 돌아온 것을 보고, 다시 정하는 루프로 일합니다. 이 루프를 이해하는 것이 답답한 에이전트를 쓸모 있는 에이전트로 바꿉니다. 행동에 대한 거의 모든 질문 — 왜 그렇게 했는지, 왜 멈췄는지, 왜 나에게 물었는지 — 이 결국 루프에 대한 질문이기 때문입니다.
## 루프
[섹션 제목: “루프”](#루프)
**실행**은 이 순환을 한 바퀴 도는 것이고, 답을 얻거나 사용자가 필요해질 때까지 되풀이됩니다.
1. **맥락을 읽습니다.** 무엇보다 먼저 아는 것을 모읍니다. 시스템 프롬프트, 지금까지의 대화, 관련된 메모리, 그리고 일하고 있는 프로젝트입니다.
2. **정합니다.** 다음 행동을 고릅니다. 도구를 부르거나, 사용자에게 묻거나, 답합니다.
3. **실행합니다.** 도구를 골랐다면 그 도구가 돌아갑니다. 호출과 결과가 일어나는 대로 보입니다.
4. **결과를 봅니다.** 도구의 출력이 다시 맥락으로 들어갑니다. 실패한 호출도 정보입니다. 에이전트는 오류를 보고 다른 방법을 시도할 수 있습니다.
5. **되풀이합니다.** 아까보다 많은 정보를 들고 2번으로 돌아갑니다.
에이전트는 필요한 것을 다 얻었을 때, 사용자에게 물을 것이 생겼을 때, 또는 한도에 닿았을 때 루프를 빠져나옵니다.
## 에이전트가 볼 수 있는 것
[섹션 제목: “에이전트가 볼 수 있는 것”](#에이전트가-볼-수-있는-것)
에이전트는 계정에 대해 전지전능하지 않습니다. 의도된 것입니다. 실행이 시작될 때 맥락에는 다음이 담깁니다.
| 포함되는 것 | 포함되지 않는 것 |
| -------------------------- | --------------------------------- |
| 현재 리비전의 시스템 프롬프트 | 다른 에이전트의 대화 |
| 이 대화의 기록 | 같은 실이 아닌, 다른 곳에서 이 에이전트와 나눈 대화 |
| 지금 관련 있는, 저장해 둔 메모리 | 기억한 것 전부 — 메모리는 선별되지 통째로 실리지 않습니다 |
| 대화가 프로젝트 안이라면 그 프로젝트의 컨텍스트 | 연결하지 않은 서비스의 데이터 |
| 쓸 수 있도록 허용된 도구 | 다른 에이전트에 바인딩된 도구 |
바인딩이 중요한 이유가 여기 있습니다. Gmail 을 계정에 연결했다고 모든 에이전트의 맥락에 받은편지함이 들어가지는 않습니다. 필요한 에이전트에 연결을 바인딩하고, 그 에이전트만 볼 수 있습니다.
## 실행이 멈추는 이유
[섹션 제목: “실행이 멈추는 이유”](#실행이-멈추는-이유)
실행이 도중에 멈추는 이유는 정확히 셋뿐이고, 대화에서 각각 다르게 보입니다.
**사용자만 아는 정보가 필요할 때.** 에이전트가 질문을 던지고 기다립니다. 선택지 중 하나를 고르는 것일 수도, 자유 입력일 수도, 선호를 묻는 것일 수도 있습니다. 답하면 일이 이어집니다.
**되돌릴 수 없는 일을 하려 할 때.** 메일 발송, 메시지 게시, 데이터 삭제 같은 것들입니다. 실행이 멈추고 어떤 행동을 어떤 인자로 하려는지 정확히 보여줍니다. 이 관문은 설정으로 끌 수 없습니다.
**갖지 않은 능력이 필요할 때.** 도움이 될 스킬이 바인딩돼 있지 않다면, 에이전트는 실패하는 대신 그것을 요청할 수 있습니다. 대화 안에서 승인하거나 거절하면 됩니다.
멈춤은 실패가 아닙니다
멈춘 실행은 처음부터 다시 시작하는 게 아니라 자리를 지키고 있는 것입니다. 답하면 에이전트는 이미 알아낸 것을 그대로 들고 이어갑니다.
## 일이 벌어지는 곳
[섹션 제목: “일이 벌어지는 곳”](#일이-벌어지는-곳)
실행은 브라우저 탭이 아니라 Endue 의 서버에서 돌아갑니다. 알아둘 만한 결과가 하나 있습니다. **앱을 닫아도 일은 멈추지 않습니다.**
긴 작업을 시작하고 탭을 닫았다가 나중에 돌아오면, 실행은 계속돼 있었고 결과가 기다립니다. 루틴이 가능한 것도 같은 이유입니다. 예약된 실행은 누가 지켜볼 필요가 없습니다.
반대가 필요하다면 — 내 컴퓨터에서, 로컬 파일에 닿으면서 도는 작업 — 그것이 데스크톱 앱의 로컬 런타임이 하는 일입니다. [사용 환경](/ko/docs/get-started/surfaces/)을 보세요.
## 실전에서 의미하는 것
[섹션 제목: “실전에서 의미하는 것”](#실전에서-의미하는-것)
루프의 생김새에서 습관 셋이 바로 따라 나옵니다.
**에이전트가 스스로 확인할 방법을 주세요.** 루프의 품질은 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. **결과물을 찾습니다.**
보고서 · 요약 · 문서처럼 분량이 있는 산출물은 **아티팩트**가 되어 **아티팩트** 아래에 자기 페이지를 갖습니다. 아티팩트는 기본적으로 사용자만 볼 수 있습니다. 작업 공간 밖의 사람에게 읽히고 싶을 때 링크로 공유하면, 그 사람에게 다른 접근 권한은 생기지 않습니다.
스크린샷은 준비 중입니다
이 안내는 제품을 함께 띄워 놓고 따라올 독자를 기준으로 썼습니다. 단계별 주석 스크린샷은 앱에서 자동으로 생성되며 이 페이지의 다음 판에 실립니다.
## 반복되게 만들기
[섹션 제목: “반복되게 만들기”](#반복되게-만들기)
방금 만든 에이전트는 시킬 때 움직입니다. 진짜 값어치는 시키지 않아도 움직일 때 나옵니다.
같은 작업을 일정이 붙은 **루틴**으로 바꾸세요 — 평일 아침 8시, 매주 월요일, 매달 1일처럼요. 루틴은 Endue 를 열어두지 않아도 실행되고, 결과물은 돌아왔을 때 기다리고 있습니다. 판단이 필요하면 에이전트가 묻고, 그 요청은 인박스에서 보입니다.
## 더 나은 에이전트 만들기
[섹션 제목: “더 나은 에이전트 만들기”](#더-나은-에이전트-만들기)
도움이 되는 에이전트와 성가신 에이전트를 가르는 것은 대개 어떤 모델을 쓰느냐가 아니라 어떻게 설정했느냐입니다. 아래를 해본 뒤에는 [시험하고 다듬기](/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 가 하는 모든 일을 브라우저에서 할 수 있습니다. 에이전트를 만들고 다듬는 것, 대화하는 것, 도구를 연결하는 것, 스킬을 쓰는 것, 루틴을 예약하는 것, 아티팩트를 검토하는 것, 결제를 관리하는 것까지 전부입니다.
*만드는* 일에는 웹을 쓰세요 — 에이전트 생성, 프롬프트 수정, 커넥터 연결 같은 것들입니다. 다른 환경은 *지켜보고* *응답하는* 데 더 낫습니다.
* 데스크톱
**작업 공간에 내 컴퓨터를 더한 것.**
macOS · 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 는 일반 공개 전입니다. 설치 안내는 출시되면 여기에 실립니다.
## 환경 고르기
[섹션 제목: “환경 고르기”](#환경-고르기)
| 하고 싶은 일 | 쓸 곳 |
| ----------------------------- | ----- |
| 에이전트를 만들거나 행동을 바꾸기 | 웹 |
| 도구를 연결하거나 권한을 관리하기 | 웹 |
| 내 컴퓨터의 파일을 에이전트가 다루게 하기 | 데스크톱 |
| 자리를 비운 사이 에이전트의 질문에 답하기 | 모바일 |
| 에이전트가 하려는 행동을 승인하기 | 모든 환경 |
| 데이터를 에이전트에 흘려보내거나 스크립트에서 실행하기 | CLI |
## 다음에 읽을 것
[섹션 제목: “다음에 읽을 것”](#다음에-읽을-것)
[빠른 시작](/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/)를 쓴다면 키와 크레딧을 확인하세요.
**앱을 닫았습니다.** 그것 때문에 멈추지는 않습니다. 실행은 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/inbox/)를 확인하세요. 산출물은 대개 [아티팩트](/ko/docs/capabilities/artifacts/)로 쌓입니다.
새 대화에서 재현해 보세요
긴 실은 설정과 무관하게 답을 바꾸는 기록을 안고 있습니다. 원인을 짚기 어려운 문제라면, 에이전트가 망가졌다고 결론 내리기 전에 새 대화에서 같은 요청을 해보세요.
## 도움 받기
[섹션 제목: “도움 받기”](#도움-받기)
* **문서 검색** — 아무 페이지에서나 `Ctrl`/`⌘` + `K` 를 누르세요.
* **메일 보내기** — . 무엇을 요청했는지, 에이전트가 무엇을 했는지, 어느 도구 호출이 어긋났는지를 함께 보내주세요. 대개 그것이면 주고받지 않고 답할 수 있습니다.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[연결 문제 해결](/ko/docs/connect/troubleshooting/)만료된 토큰, 취소된 접근, 잘못된 계정.
[시험하고 다듬기](/ko/docs/build/iterating/)되풀이되는 문제를 더 나은 에이전트로 바꾸기.
[실행](/ko/docs/work/runs/)실행 읽기, 그리고 실행이 멈추는 모든 이유.
# 승인
> 에이전트가 되돌릴 수 없는 일을 하기 전의 관문 — 무엇이 걸리고, 무엇을 보게 되고, 승인할 사람이 없으면 어떻게 되는가.
**승인**은 에이전트가 되돌릴 수 없는 일을 하기 전에 Endue 가 멈춰 서서 묻는 것입니다. 일어나기 전에 정확히 어떤 행동을 어떤 인자로 하려는지 보게 됩니다.
## 무엇이 걸리는가
[섹션 제목: “무엇이 걸리는가”](#무엇이-걸리는가)
[커넥터](/ko/docs/connect/overview/)가 제공하는 모든 작업은 세상에 무엇을 하는지에 따라 분류돼 있습니다. 그중 두 부류는 항상 사용자 앞에서 멈춥니다.
| 분류 | 예시 | 관문 |
| ------ | --------------------------------- | ------ |
| **읽기** | 메일 검색, 파일 목록, 페이지 읽기, 대시보드 조회 | 없음 |
| **쓰기** | 문서 생성, 행 추가, 메일 초안 작성, 작업 갱신 | 없음 |
| **발송** | 메일 발송, 채널 게시, 글 공개, 댓글 답글, 빌드 트리거 | **있음** |
| **파괴** | 파일 삭제, 레코드 삭제, 알림 무음 처리 | **있음** |
기준은 “무언가를 바꾸는가” 가 아니라 “되돌릴 수 있는가, 그리고 다른 사람에게 닿는가” 입니다. 초안을 만드는 것은 쓰기이고, 그것을 보내는 것은 발송입니다.
이 관문은 설정으로 바꿀 수 없습니다
발송과 파괴 작업은 항상 묻습니다. 에이전트별로도 계정별로도 이것을 끄는 설정은 없습니다. 자기 관문을 스스로 끌 수 있는 에이전트라면 그건 관문이 아닐 것입니다.
## 무엇을 보고 무엇이 일어나는가
[섹션 제목: “무엇을 보고 무엇이 일어나는가”](#무엇을-보고-무엇이-일어나는가)
실행이 멈추고 어떤 작업을 어떤 인자로 하려는지 보여줍니다. 수신자, 제목, 본문, 파일, 레코드까지요.
**승인**하면 방금 본 그대로 행동이 실행됩니다. 승인은 포괄적인 권한 부여가 아닙니다. 그 인자를 가진 그 행동 하나를 허가하는 것입니다.
**거절**하면 그 행동은 일어나지 않습니다. 에이전트는 그 사실을 전달받고 계속 일합니다. 대개는 멈추지 않고 다른 초안을 제안하는 식으로 맞춰갑니다.
승인 전에 인자를 고치는 기능은 없습니다. 인자가 잘못됐으면 거절하고 무엇이 달라져야 하는지 말하세요. 에이전트가 고친 행동을 다시 들고 옵니다.
## 지켜보는 사람이 없는 실행
[섹션 제목: “지켜보는 사람이 없는 실행”](#지켜보는-사람이-없는-실행)
[루틴](/ko/docs/automate/routines/)처럼 아무도 보고 있지 않은 실행은 물을 수가 없습니다. 그런 실행에서 승인이 필요한 행동은 기다리는 대신 **거절**됩니다.
의도된 것입니다. 누군가 알아챌 때까지 몇 시간을 조용히 매달려 있는 행동이, 분명하게 실패하는 행동보다 나쁩니다. 예약된 작업이 무언가를 보내야 한다면, 스스로 보내는 대신 초안을 만들어 알려주도록 설계하세요.
## 비슷한 관문들
[섹션 제목: “비슷한 관문들”](#비슷한-관문들)
실행을 멈추고 사용자의 결정을 기다리는 것이 둘 더 있고, 방식은 같습니다.
* **에이전트가 갖지 않은 [스킬](/ko/docs/capabilities/skills/).** 실패하는 대신 요청합니다. 대화 안에서 주거나 거절하면 됩니다.
* **사용자만 아는 정보가 필요할 때의 [질문](/ko/docs/work/questions/).**
## 한계
[섹션 제목: “한계”](#한계)
* 승인은 대화에서 답합니다. [인박스](/ko/docs/work/inbox/)는 기다리는 것이 있다고 알려줍니다.
* 관문에서 인자를 고칠 수는 없습니다. 거절하고 방향을 다시 잡아주세요.
* 승인은 행동 하나에 대한 것입니다. 같은 실행에서 다음 발송이 있으면 다시 묻습니다.
* 거절된 행동을 나중에 재생할 수는 없습니다. 에이전트가 다시 제안해야 합니다.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[연결 가능한 서비스](/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/artifacts/)입니다.
* 에이전트는 사용자가 보낸 첨부를 읽습니다. [데스크톱 앱의 로컬 런타임](/ko/docs/get-started/surfaces/)에서 돌리지 않는 한 사용자 컴퓨터의 파일에는 닿지 못합니다.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[컨텍스트 창](/ko/docs/work/context-window/)첨부가 얼마를 차지하는지, 어디서 보는지.
[모델 고르기](/ko/docs/build/models/)어떤 모델이 이미지를 읽는지, 그것이 어디에 표시되는지.
[아티팩트](/ko/docs/capabilities/artifacts/)에이전트가 만든 파일이 남는 곳.
# 컨텍스트 창
> 모델마다 담을 수 있는 양이 정해져 있습니다. 표시기는 이 대화가 얼마를 쓰고 있는지, 패널은 무엇이 그 자리를 차지하는지 보여줍니다.
모델은 요청 하나당 정해진 분량만 읽습니다 — 그것이 **컨텍스트 창**입니다. 에이전트에게 필요한 것이 전부 그 안에 들어가야 합니다. 지침, 기억, 부를 수 있는 도구, 대화, 그리고 첨부까지요.
컴포저는 그 창이 얼마나 찼는지 보여주고, 컨텍스트 패널은 무엇이 채우고 있는지 보여줍니다.
## 왜 중요한가
[섹션 제목: “왜 중요한가”](#왜-중요한가)
창이 차면 두 가지가 나빠집니다.
* **오래된 메시지가 잘려 나갑니다.** 긴 실의 앞부분이 에이전트에게 보이지 않게 됩니다.
* **매 스텝이 비싸집니다.** [실행](/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/automate/routines/) 실행이 끝났을 때 |
| **루틴 실패** | 루틴이 반복해서 실패해 중지됐을 때 |
| **기다리는 중** | 실행이 [승인](/ko/docs/work/approvals/)이나 [질문](/ko/docs/work/questions/)에서 멈춰 있을 때 |
실행 안의 평범한 진행 상황은 알리지 않습니다. 도구 호출은 인박스가 아니라 대화에 나타납니다.
## 읽기
[섹션 제목: “읽기”](#읽기)
인박스에는 목록이 둘 있습니다. 아직 처리하지 않은 것을 담는 **인박스**, 처리한 것을 담는 **완료**입니다. 사용자를 기다리는 항목은 맨 위 별도 구역으로 올라옵니다. 승인 요청이 끝난 실행 스무 개 아래 묻히지 않도록요. 필터로 답변·오류·시스템 메시지만 추려 볼 수 있습니다.
항목을 선택하면 그것이 가리키는 대화·루틴·아티팩트로 이동합니다. 실제 조치는 거기서 합니다. 승인도 마찬가지로 언제나 대화 안에서 답합니다.
비운다고 필요한 것까지 치우지는 않습니다
모두 읽음으로 표시하면 끝난 실행은 정리되지만, 사용자의 결정을 기다리는 항목은 일부러 남습니다. 목록을 비운 것이 에이전트가 계속 막혀 있던 이유가 되어서는 안 되기 때문입니다.
## 쓸모 있게 유지하기
[섹션 제목: “쓸모 있게 유지하기”](#쓸모-있게-유지하기)
늘 가득 찬 인박스는 읽히지 않습니다. 두 습관이면 신호가 유지됩니다.
* **끝난 실행은 그때그때 치우세요.** 이미 본 것은 완료로 보내면 됩니다.
* **루틴이 중계 대신 요약하게 하세요.** [아티팩트](/ko/docs/capabilities/artifacts/) 하나를 만드는 일간 루틴은 알림 하나지만, 중간 보고를 보내는 루틴은 여러 개입니다.
## 한계
[섹션 제목: “한계”](#한계)
* 알림은 무슨 일이 있었는지 알려줄 뿐 조치하는 곳이 아닙니다. 승인과 질문은 대화에서 답합니다.
* 한 번 치운 항목을 다시 안 읽음으로 되돌릴 수는 없습니다.
* 알림은 계정 단위로 모든 에이전트를 아우릅니다. 에이전트별 인박스는 없습니다.
## 관련 문서
[섹션 제목: “관련 문서”](#관련-문서)
[승인](/ko/docs/work/approvals/)기다리는 항목들이 무엇을 결정해 달라고 하는지.
[루틴](/ko/docs/automate/routines/)예약된 작업 — 알림의 가장 큰 출처.
[실행](/ko/docs/work/runs/)앱을 닫아도 일이 계속되는 이유.
# 에이전트의 질문
> 실행 도중 에이전트가 묻는 세 가지 방식 — 선택지, 자유 입력, 선호 묶음 — 그리고 기다리는 동안 무슨 일이 일어나는가.
찾아볼 수 없는 것이 빠져 있으면 에이전트는 추측하는 대신 **사용자에게 묻습니다**. [실행](/ko/docs/work/runs/)이 멈추고, 질문이 대화에 나타나고, 답하면 일이 이어집니다.
## 언제 보게 되는가
[섹션 제목: “언제 보게 되는가”](#언제-보게-되는가)
사용자만 정할 수 있는 갈림길에 닿을 때마다입니다. 문서 셋 중 어느 것을 말한 것인지, 초안의 어조를 어떻게 할지, 지난 분기를 포함할지 같은 것들이죠. 범위가 잘 잡힌 에이전트는 거의 묻지 않습니다. 계속 묻는 에이전트는 대개 [시스템 프롬프트](/ko/docs/build/system-prompt/)나 [메모리](/ko/docs/capabilities/memory/)에 있어야 할 상시 맥락이 빠져 있습니다.
## 세 가지 방식
[섹션 제목: “세 가지 방식”](#세-가지-방식)
**선택지.** 버튼으로 나오는 항목들입니다. 하나를 고르거나, 질문이 허용하면 여럿을 고릅니다. 단계로 이어지는 선택지도 있습니다. 첫 질문에 답하면 다음이 나타나는 식인데, 질문을 한꺼번에 쏟아붓지 않고 좁혀가는 방법입니다.
**자유 입력.** 선택지로 줄일 수 없는 것을 위한, 입력칸이 붙은 질문 하나입니다. 메일 제목, 이름, 한 문장의 지침 같은 것들입니다.
**선호.** 한 번에 모아 받는 탭 가능한 선택지 묶음입니다. 사실 하나를 묻는 게 아니라 일을 어떻게 처리하기를 원하는지 맞춰볼 때 씁니다.
셋 다 똑같이 실행을 멈추고, 대화 안에서 답합니다.
## 기다리는 동안
[섹션 제목: “기다리는 동안”](#기다리는-동안)
실행은 다시 시작하는 게 아니라 자리를 지키고 있습니다. 에이전트가 이미 알아낸 것 — 돌린 검색, 읽은 파일 — 은 답할 때 그대로 남아 있습니다.
자리를 떠났다 와도 됩니다. 질문은 실 안에 그대로 있고, [인박스](/ko/docs/work/inbox/)가 에이전트가 기다리고 있다고 알려줍니다. 생각하는 동안 만료되는 것은 없습니다.
메시지로 답해도 됩니다
질문은 답의 모양에 대한 제안이지 가둬두는 틀이 아닙니다. 어느 선택지도 맞지 않으면 입력창에 그렇게 쓰세요. 에이전트가 읽고 맞춰갑니다.
## 질문을 줄이고 답을 좋게 하기
[섹션 제목: “질문을 줄이고 답을 좋게 하기”](#질문을-줄이고-답을-좋게-하기)
에이전트가 묻는 것은 정해지지 않은 것이 있기 때문입니다. 모호함을 없애면 그 질문은 되풀이되지 않습니다.
| 계속 묻는 것 | 답을 둘 곳 |
| ----------------- | --------------------------------- |
| 어느 계정·폴더·문서를 말하는지 | [시스템 프롬프트](/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/)모든 실행 뒤의 루프, 더 자세히.
# 슬래시 커맨드
> 컴포저에서 `/` 를 눌러 스킬의 커맨드를 직접 부릅니다. 원하는 것을 설명하고 에이전트가 알아서 고르기를 기다리는 대신에요.
컴포저에서 **`/`** 를 입력하면 이 에이전트가 실행할 수 있는 커맨드 목록이 열립니다. 하나를 고르면 어느 도구로 시작할지를 에이전트에게 맡기지 않고 사용자가 지정하게 됩니다.
## 언제 쓰는가
[섹션 제목: “언제 쓰는가”](#언제-쓰는가)
원하는 절차를 이미 알고 있을 때 씁니다. *“/weekly-report”* 가 *“지난번처럼 주간 보고 해줄래”* 보다 빠르고 확실합니다. 뒤쪽은 에이전트가 먼저 해석해야 하는 요청이니까요.
어떤 스킬이 맞는지 모르거나 여러 스킬에 걸친 일이라면 그냥 말로 설명하세요. 에이전트는 여전히 바인딩된 것 중에서 자유롭게 고릅니다.
## 쓰는 법
[섹션 제목: “쓰는 법”](#쓰는-법)
1. **컴포저 맨 앞에서 `/` 를 입력합니다.** 입력창 위에 목록이 뜹니다.
2. **계속 입력하면 좁혀집니다.** 화살표 키로 이동하고, 마우스를 올리거나 선택하면 그 커맨드가 무엇을 하는지 보입니다.
3. **행 옆의 ⓘ 를 열면** 스킬 전체를 읽을 수 있습니다 — 무엇을 위한 스킬인지, 어떤 커맨드를 담고 있는지.
4. **Enter 로 넣고 나머지 메시지를 씁니다.** 커맨드에는 대개 맥락이 필요합니다. *“/summarize 가격 얘기했던 하나 님 스레드”* 처럼 커맨드 + 대상이 한 벌입니다.
5. **보냅니다.** 에이전트가 그 커맨드로 [실행](/ko/docs/work/runs/)을 시작하고, 그다음은 평소대로 이어갑니다.
## 목록에 뜨는 것
[섹션 제목: “목록에 뜨는 것”](#목록에-뜨는-것)
커맨드는 이 에이전트에 바인딩된 [스킬](/ko/docs/capabilities/skills/)에서 옵니다. 그 밖에는 없습니다. 두 가지가 따라옵니다.
* **에이전트마다 목록이 다릅니다.** 같은 커맨드라도 양쪽에 스킬이 바인딩돼 있지 않으면 어디서나 쓸 수 있는 게 아닙니다.
* **목록이 비었다면 아직 바인딩된 스킬이 없는 것입니다.** [에이전트 빌더](/ko/docs/build/agent-builder/)에서 하나 바인딩하면 다음 메시지부터 목록에 나타납니다.
## 고르면 실제로 일어나는 일
[섹션 제목: “고르면 실제로 일어나는 일”](#고르면-실제로-일어나는-일)
커맨드는 도구를 지명하고, 에이전트는 **첫 스텝에서** 그 도구를 반드시 부릅니다. 그 뒤로는 평소와 같습니다. 결과를 읽고 다음에 무엇을 할지 스스로 정하며, 다른 도구도 부릅니다.
이 모양이 쓸모 있는 지점입니다. 시작은 확실하게 잡아주면서 — 맞는 절차를, 사용자의 입력과 함께 — 실행의 나머지를 대본으로 굳히지는 않습니다.
어떤 커맨드는 실행 전에 묻습니다
확인이 필요하다고 선언된 스킬의 커맨드는 외부로 나가거나 되돌릴 수 없는 단계에 이르면 여전히 [승인](/ko/docs/work/approvals/) 관문에서 멈춥니다. 목록에서 고른 것이 승인은 아닙니다.
## 한계
[섹션 제목: “한계”](#한계)
* 커맨드는 에이전트별이고 바인딩된 스킬에서 옵니다. 전역 커맨드 목록은 없습니다.
* 커맨드는 **첫** 스텝만 지정합니다. 실행의 나머지는 에이전트가 고릅니다.
* 실행이 도는 중에 커맨드를 보내면 그 커맨드가 시작되는 게 아니라 그 실행에 [방향을 잡아줍니다](/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/)반복되는 정정을 더 나은 에이전트로 바꾸기.