# Endue 의 동작 방식

> 메시지를 보낸 순간부터 에이전트가 결과를 건네는 순간까지 실제로 무슨 일이 일어나는가.

Endue 에이전트에게 일을 시키면 한 번에 답하지 않습니다. 정하고, 실행하고, 돌아온 것을 보고, 다시 정하는 루프로 일합니다. 이 루프를 이해하는 것이 답답한 에이전트를 쓸모 있는 에이전트로 바꿉니다. 행동에 대한 거의 모든 질문 — 왜 그렇게 했는지, 왜 멈췄는지, 왜 나에게 물었는지 — 이 결국 루프에 대한 질문이기 때문입니다.

## 루프

**실행**은 이 순환을 한 바퀴 도는 것이고, 답을 얻거나 사용자가 필요해질 때까지 되풀이됩니다.

<Steps>

1. **맥락을 읽습니다.** 무엇보다 먼저 아는 것을 모읍니다. 시스템 프롬프트, 지금까지의 대화, 관련된 메모리, 그리고 일하고 있는 프로젝트입니다.

2. **정합니다.** 다음 행동을 고릅니다. 도구를 부르거나, 사용자에게 묻거나, 답합니다.

3. **실행합니다.** 도구를 골랐다면 그 도구가 돌아갑니다. 호출과 결과가 일어나는 대로 보입니다.

4. **결과를 봅니다.** 도구의 출력이 다시 맥락으로 들어갑니다. 실패한 호출도 정보입니다. 에이전트는 오류를 보고 다른 방법을 시도할 수 있습니다.

5. **되풀이합니다.** 아까보다 많은 정보를 들고 2번으로 돌아갑니다.

</Steps>

에이전트는 필요한 것을 다 얻었을 때, 사용자에게 물을 것이 생겼을 때, 또는 한도에 닿았을 때 루프를 빠져나옵니다.

## 에이전트가 볼 수 있는 것

에이전트는 계정에 대해 전지전능하지 않습니다. 의도된 것입니다. 실행이 시작될 때 맥락에는 다음이 담깁니다.

| 포함되는 것 | 포함되지 않는 것 |
| --- | --- |
| 현재 리비전의 시스템 프롬프트 | 다른 에이전트의 대화 |
| 이 대화의 기록 | 같은 실이 아닌, 다른 곳에서 이 에이전트와 나눈 대화 |
| 지금 관련 있는, 저장해 둔 메모리 | 기억한 것 전부 — 메모리는 선별되지 통째로 실리지 않습니다 |
| 대화가 프로젝트 안이라면 그 프로젝트의 컨텍스트 | 연결하지 않은 서비스의 데이터 |
| 쓸 수 있도록 허용된 도구 | 다른 에이전트에 바인딩된 도구 |

바인딩이 중요한 이유가 여기 있습니다. Gmail 을 계정에 연결했다고 모든 에이전트의 맥락에 받은편지함이 들어가지는 않습니다. 필요한 에이전트에 연결을 바인딩하고, 그 에이전트만 볼 수 있습니다.

## 실행이 멈추는 이유

실행이 도중에 멈추는 이유는 정확히 셋뿐이고, 대화에서 각각 다르게 보입니다.

**사용자만 아는 정보가 필요할 때.** 에이전트가 질문을 던지고 기다립니다. 선택지 중 하나를 고르는 것일 수도, 자유 입력일 수도, 선호를 묻는 것일 수도 있습니다. 답하면 일이 이어집니다.

**되돌릴 수 없는 일을 하려 할 때.** 메일 발송, 메시지 게시, 데이터 삭제 같은 것들입니다. 실행이 멈추고 어떤 행동을 어떤 인자로 하려는지 정확히 보여줍니다. 이 관문은 설정으로 끌 수 없습니다.

**갖지 않은 능력이 필요할 때.** 도움이 될 스킬이 바인딩돼 있지 않다면, 에이전트는 실패하는 대신 그것을 요청할 수 있습니다. 대화 안에서 승인하거나 거절하면 됩니다.

<Aside type="note" title="멈춤은 실패가 아닙니다">
  멈춘 실행은 처음부터 다시 시작하는 게 아니라 자리를 지키고 있는 것입니다. 답하면 에이전트는
  이미 알아낸 것을 그대로 들고 이어갑니다.
</Aside>

## 일이 벌어지는 곳

실행은 브라우저 탭이 아니라 Endue 의 서버에서 돌아갑니다. 알아둘 만한 결과가 하나 있습니다. **앱을 닫아도 일은 멈추지 않습니다.**

긴 작업을 시작하고 탭을 닫았다가 나중에 돌아오면, 실행은 계속돼 있었고 결과가 기다립니다. 루틴이 가능한 것도 같은 이유입니다. 예약된 실행은 누가 지켜볼 필요가 없습니다.

반대가 필요하다면 — 내 컴퓨터에서, 로컬 파일에 닿으면서 도는 작업 — 그것이 데스크톱 앱의 로컬 런타임이 하는 일입니다. [사용 환경](/ko/docs/get-started/surfaces/)을 보세요.

## 실전에서 의미하는 것

루프의 생김새에서 습관 셋이 바로 따라 나옵니다.

**에이전트가 스스로 확인할 방법을 주세요.** 루프의 품질은 4단계의 피드백만큼입니다. 스스로 검증할 수 있는 작업 — 검색해서 확인하기, 쓰고 다시 읽기 — 이 눈 감고 한 번에 맞혀야 하는 작업보다 잘 됩니다.

**단계가 아니라 목표를 구체적으로 말하세요.** 행동은 2단계에서 에이전트가 고릅니다. *좋은 결과가 어떤 모습인지* 알려주면 겨눌 과녁이 생깁니다. 단계를 하나하나 지시하는 것은 루프와 싸우는 일입니다.

**일찍 바로잡으세요.** 실행이 도는 중에 방향을 잡아줄 수 있습니다. 3단계에서의 정정은 한 단계 값이지만, 실행이 끝난 뒤의 같은 정정은 실행 전체 값입니다.

## 다음에 읽을 것

<CardGrid>
  <LinkCard
    title="핵심 개념"
    href="/ko/docs/get-started/core-concepts/"
    description="이 페이지가 전제한 어휘 — 에이전트 · 실행 · 도구 · 스킬 · 메모리."
  />
  <LinkCard
    title="빠른 시작"
    href="/ko/docs/get-started/quickstart/"
    description="직접 만든 에이전트로 루프가 도는 것을 지켜봅니다."
  />
</CardGrid>
