# 핵심 개념

> Endue 의 동작을 설명하는 아홉 가지 — 에이전트, 대화, 실행, 도구, 스킬, 커넥터, 메모리, 아티팩트, 루틴.

Endue 의 어휘는 많지 않습니다. 아래 아홉 가지만 익히면 제품의 나머지는 스스로 설명됩니다.

## 에이전트

**에이전트**는 사용자를 대신해 일하는, 계속 남는 정체성입니다. 쓰고 버리는 채팅창이 아닙니다. 불러 쓸 수 있는 이름과 핸들, 프로필, 응답 방식을 결정하는 성격, 그리고 하는 일을 정의하는 시스템 프롬프트를 갖습니다.

시스템 프롬프트는 리비전 기록으로 보관됩니다. 에이전트의 행동을 바꾸고, 무엇이 바뀌었는지 정확히 확인하고, 그 변경이 더 나빴다면 되돌릴 수 있습니다.

에이전트는 사용자가 준 능력만 갖습니다. 스스로는 추론하고, 계산하고, 공개된 웹 페이지를 읽습니다. 그 밖의 것 — 메일, 캘린더, 문서 — 은 명시적으로 바인딩한 연결이 있어야 합니다.

## 대화

**대화**는 에이전트와 이어지는 하나의 실입니다. 에이전트가 맥락으로 읽는 메시지 기록을 담고 있고, 사라지지 않습니다. 탭을 닫고 내일 다시 와도 에이전트는 무슨 이야기를 하고 있었는지 알고 있습니다.

대화는 사용자의 것입니다. 여러 대화가 같은 일을 다룬다면 **프로젝트**로 묶을 수 있습니다.

## 실행

**실행**은 에이전트가 실제로 일하는 한 차례입니다. 메시지를 보내면 에이전트가 실행을 시작합니다. 무엇을 할지 정하고, 도구를 부르고, 결과를 읽고, 답에 이르거나 사용자에게 물을 것이 생길 때까지 되풀이합니다.

실제로 중요한 것은 세 가지입니다.

- **볼 수 있습니다.** 어떤 도구를 무엇으로 불렀고 무엇이 돌아왔는지, 각 단계가 진행되는 대로 보입니다.
- **잡아줄 수 있습니다.** 실행이 도는 중에 정정을 보내면 에이전트가 다음 단계에서 반영합니다. 잘못 가는 실행이 끝나기를 기다릴 필요가 없습니다.
- **자리를 떠도 이어집니다.** 실행 도중에 앱을 닫아도 작업은 서버에서 계속됩니다. 돌아오면 결과가 있습니다.

실행은 멈춰서 사용자에게 물을 수도 있습니다. 선택지 중 하나를 고르는 것, 텍스트를 받는 것, 행동에 대한 승인입니다. 아래 [승인](#승인)을 보세요.

## 도구

**도구**는 실행 중에 에이전트가 부를 수 있는 능력 하나입니다. 파일을 읽고, 메일을 검색하고, 캘린더 일정을 만들고, 아티팩트를 쓰고, 메모리를 떠올리는 것 각각이 도구입니다.

일부는 내장돼 있어 늘 쓸 수 있습니다. 나머지는 서비스를 연결하거나 스킬을 바인딩해야 나타납니다. 어떤 도구를 부를지는 에이전트가 고르고, 어떤 도구가 존재할지는 사용자가 정합니다.

## 스킬

**스킬**은 반복되는 일을 매번 다시 설명하지 않도록 하나로 포장한 것입니다. 절차일 수도, 체크리스트일 수도, 에이전트가 실행할 명령 묶음일 수도 있습니다.

스킬을 에이전트에 바인딩하면 그 에이전트가 할 수 있는 일의 일부가 됩니다. 받지 않은 스킬을 에이전트가 *요청*할 수도 있습니다. 실행 도중 멈춰서 묻고, 사용자가 대화 안에서 승인하거나 거절합니다.

## 커넥터

**커넥터**는 이미 쓰고 있는 서비스에 에이전트를 잇습니다 — Gmail 을 비롯한 Google Workspace, Slack, Notion, Linear, GitLab, Shopify, Figma, Datadog, 그리고 [서른 개가 넘는 서비스](/ko/docs/connect/available-connectors/)입니다.

연결은 두 단계로 이해하면 좋습니다.

1. **제공자에서 연결을 승인합니다.** Google · Slack · Notion 같은 곳에서 승인하고, 그 연결은 사용자 계정에 속합니다.
2. **연결을 특정 에이전트에 바인딩합니다.** Gmail 을 연결했다고 모든 에이전트가 받은편지함을 갖게 되지는 않습니다.

연결은 Endue 에서도, 제공자 쪽에서도 언제든 해지할 수 있습니다.

<Aside type="caution" title="연결 하나에 계정 하나">
  연결은 제공자의 계정 하나에 묶입니다. 같은 서비스를 같은 계정으로 다시 연결하면 사본이
  만들어지는 게 아니라 기존 연결이 다시 승인되므로, 에이전트 바인딩은 그대로 유지됩니다.
</Aside>

## 메모리

**메모리**는 에이전트가 대화를 넘어 간직하는 것입니다. 사용자에 대한 사실, 선호, 일을 어떻게 처리하기를 원하는지 같은 것들입니다. 무엇을 기억할 만한지는 에이전트가 판단하고, 필요할 때 떠올립니다.

메모리는 들여다볼 수 있고 고칠 수 있습니다. 에이전트가 무엇을 저장했는지 확인하고, 남으면 안 될 것은 지울 수 있습니다.

## 아티팩트

**아티팩트**는 에이전트가 만든 것 중 남겨둘 만한 것입니다. 보고서, 문서, 다이어그램, 데이터셋 같은 것이죠. 대화 기록 속에 묻어두는 대신 Endue 가 자기 페이지를 줍니다.

아티팩트는 기본적으로 사용자만 볼 수 있습니다. 링크로 공유하면 그 아티팩트에만 접근이 열립니다. 작업 공간 밖의 사람에게 결과물을 건넬 때 쓰기 좋습니다.

## 루틴

**루틴**은 일정이 붙은 작업입니다. 에이전트에게 매번 시키는 대신 할 일을 한 번 적어두고 주기를 줍니다 — 평일 아침마다, 매주 월요일, 매달 1일처럼요.

루틴은 Endue 를 열어두지 않아도 실행됩니다. 결과물은 작업 공간에 쌓이고, 판단이 필요하면 사용자에게 묻고 기다립니다.

## 승인

**승인**은 되돌릴 수 없는 일을 하기 전에 Endue 가 멈춰 서서 묻는 것입니다.

두 부류는 항상 승인을 요구합니다.

- **외부로 나가는 행동** — 메일 발송, 메시지 게시 등 계정을 벗어나 다른 사람에게 닿는 모든 것.
- **파괴적인 행동** — 데이터를 지우거나 덮어쓰는 것.

에이전트가 그런 일을 하려 하면 실행이 멈추고 정확히 어떤 행동을 어떤 인자로 하려는지 보여줍니다. 승인하면 방금 본 그대로 진행하고, 거절하면 에이전트가 다른 방법을 찾아 계속합니다.

예약 실행과 이벤트로 시작된 실행에도 똑같이 적용됩니다. 승인할 사람이 아무도 없으면 그 행동은 매달린 채로 남지 않고 거절됩니다.

## 서로 어떻게 맞물리는가

> **에이전트**에게 정체성을 주고 **커넥터**와 **스킬**을 바인딩합니다.
> **대화** 안에서 이야기하고, 한 차례가 곧 **도구**를 부르는 **실행**입니다.
> 알게 된 것은 **메모리**로 저장하고, **아티팩트**를 만들고, 계정 밖으로 나가는 일에는
> **승인**을 구합니다. 그 일이 되풀이되면 **루틴**이 됩니다.

## 다음에 읽을 것

<CardGrid>
  <LinkCard
    title="빠른 시작"
    href="/ko/docs/get-started/quickstart/"
    description="개념을 실제로 써봅니다 — 에이전트를 처음부터 끝까지 만들기."
  />
  <LinkCard
    title="용어집"
    href="/ko/docs/get-started/glossary/"
    description="여기서 다루지 않은 것까지, Endue 의 모든 용어."
  />
</CardGrid>
