본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
엔터프라이즈 Eve 에이전트 개발

기초 아키텍처

Ch1. Eve 멘탈 모델Ch2. 소스 코드 지도Ch3. 프로젝트 레이아웃과 DiscoveryCh4. Compiler와 Runtime Graph

에이전트 품질 설계

Ch5. agent.ts, 모델, 컴팩션Ch6. Context, Skills, Dynamic CapabilitiesCh7. Tools, Approval, ConnectionsCh8. Sandbox 보안 런타임

운영 런타임

Ch9. Channels, Auth, StreamingCh10. Subagents, Workflows, Remote AgentsCh11. Schedules, State, HooksCh12. Evals와 품질 게이트

프로덕션 운영

Ch13. Observability와 DeploymentCh14. Enterprise PatternsCh15. Migration과 Governance

부록

공식 문서 대조표검증 리포트업데이트 내역
핸드북›엔터프라이즈 Eve 에이전트›Ch13. Observability와 Deployment
한국어English

Ch13. Observability와 Deployment

Eve의 OpenTelemetry, Workflow tags, Vercel/self-host 배포, 운영 점검 절차를 정리한다.

핵심 요약

  • Eve 운영 관측성은 HTTP 로그만으로 부족하며 session, turn, step, tool, sandbox, model usage를 함께 봐야 합니다.
  • OpenTelemetry, Workflow tags, runtime hooks는 각기 다른 관측 표면이라 한곳에만 의존하면 안 됩니다.
  • Vercel 배포와 self-host 배포 모두 .eve/ 산출물, health endpoint, stream endpoint를 release checklist에 넣어야 합니다.

Eve는 durable agent framework이라 일반 HTTP request 로그만으로는 관측성이 부족합니다. session, turn, step, tool call, subagent run, approval park, sandbox backend, model usage를 함께 봐야 합니다.

세 가지 관측 표면

표면설정 위치용도
Workflow run tagsframework 자동Vercel Workflow/Agent Runs에서 session tree와 usage 파악
OpenTelemetryagent/instrumentation.ts외부 observability backend로 span export
Runtime hooksagent/hooks/**감사 로그, metric, alert, warehouse 적재

이 셋은 대체 관계가 아니라 보완 관계입니다.

instrumentation.ts

agent/instrumentation.ts
import { defineInstrumentation } from "eve/instrumentation";
import { registerOTel } from "@vercel/otel";

export default defineInstrumentation({
  setup: ({ agentName }) =>
    registerOTel({
      serviceName: agentName,
    }),
  recordInputs: false,
  recordOutputs: false,
});

기본값으로 inputs/outputs recording이 켜질 수 있으니 민감 데이터가 오가는 production에서는 명시적으로 false를 검토합니다. exporter destination, retention, access control도 privacy/security review 대상입니다.

Runtime context enrichment

events["step.started"]에서 AI SDK span runtimeContext를 추가할 수 있습니다.

export default defineInstrumentation({
  events: {
    "step.started"(input) {
      return {
        runtimeContext: {
          "tenant.id": input.session.auth.current?.attributes.tenantId ?? "unknown",
          "channel.kind": input.channel.kind,
        },
      };
    },
  },
});

규칙:

  • cardinality가 너무 높은 값을 남발하지 않는다.
  • secret/PII를 넣지 않는다.
  • tenant/user id는 hashing 또는 internal id 정책을 따른다.
  • channel metadata는 channel이 project한 값만 신뢰한다.

Eve가 자동으로 남기는 Workflow tags

Eve는 $eve.* 예약 attribute를 Workflow run에 남깁니다.

Tag의미
$eve.typesession, turn, subagent
$eve.parentimmediate parent session
$eve.rootroot session
$eve.subagentsubagent node id
$eve.triggerchannel kind
$eve.title첫 사용자 메시지 기반 title
$eve.modelturn model id
$eve.input_tokens누적 input tokens
$eve.output_tokens누적 output tokens
$eve.tool_counttool count

이 tag들은 best-effort라, 기록에 실패해도 session을 깨지 않도록 설계했습니다. 그래서 감사의 단일 source of truth로 삼지 말고, 필요하면 hook 기반 audit log를 따로 남깁니다.

Vercel 배포

Vercel 환경에서 eve build는 .vercel/output을 생성하고, Vercel Workflow와 Vercel Sandbox를 활용합니다.

기본 절차:

eve build
vercel deploy

검증:

curl https://<deployment>/eve/v1/health
curl -X POST https://<deployment>/eve/v1/session \
  -H 'content-type: application/json' \
  -d '{"message":"Hello from production"}'
curl https://<deployment>/eve/v1/session/<sessionId>/stream

Self-host 배포

Eve는 Vercel 외부에서도 Node service로 실행할 수 있습니다.

eve build
PORT=3000 eve start --host 0.0.0.0

Self-host에서 명시해야 할 것:

항목기준
workflow state.workflow-data persistent storage
model authdirect provider key 또는 AI Gateway API key
route authVercel OIDC 대신 자체 auth
sandboxDocker/microsandbox/custom backend
scheduleseve start가 Nitro schedule runner 실행
logsprocess manager/collector
TLS/routingreverse proxy 또는 platform

Build artifact 점검

배포 전 반드시 .eve/를 확인합니다.

Artifact체크
diagnostics.jsonerror/warning 없음
agent-discovery-manifest.json예상 파일만 포함
compiled-agent-manifest.jsontools/connections/channels/schedules/subagents 확인
module-map.mjscompiled module resolution 가능

이 artifact는 security review와 release evidence에 함께 넣어도 됩니다.

Runtime runbook

증상확인
production 401route auth policy, placeholderAuth 제거 여부
session.waiting에서 멈춤pending approval/question/OAuth
tool이 안 보임eve info, dynamic resolver event, disabled default
subagent 결과 없음child session stream, parent proxy input request
sandbox command 실패backend availability, network policy, bootstrap
비용 급증token tags, tool count, compaction threshold
trace 누락instrumentation setup, exporter config, record flags

프로덕션 SLO 후보

SLO측정
session start successPOST /session 2xx ratio
turn completionturn.completed / started
no failed stepstep.failed rate
approval latencyinput.requested to response
model latencystep.started to step.completed
cost per tasktoken usage + tool infra
sandbox setup latencyfirst sandbox use duration
eval pass rateCI and scheduled eval

배포 체크리스트

Gate기준
buildeve build 성공
diagnostics.eve/diagnostics.json clean
authproduction route auth fail-closed 확인
secretsenv/secret manager, artifact에 없음
sandboxbackend/network policy 명시
evaleve eval --strict 통과
smokehealth/session/stream live check
observabilityOTel 또는 hook audit path 동작
rollbackmodel/prompt/tool rollback 절차

Eve 배포는 “서버가 뜬다”가 아니라 “장기 workflow가 재개되고, stream이 복구되고, sandbox와 tool이 정책대로 작동한다”까지 검증해야 완료입니다.

관련 문서

Ch15. Migration과 Governance

기존 에이전트와 자동화 시스템을 Eve로 전환하고 운영 거버넌스를 세우는 방법을 정리한다.

Ch9. Channels, Auth, Streaming

Eve channel이 세션 생성, continuation token, route auth, NDJSON stream을 어떻게 책임지는지 분석한다.

마이그레이션 가이드

Vercel 엔터프라이즈 AI 플랫폼 · LangChain, LangGraph, 커스텀 오케스트레이션에서 Vercel AI 스택으로 전환할 때의 개념 매핑과 전환 전략을 정리합니다.

Ch6. Vercel 배포 전략

엔터프라이즈 프로젝트 설계 · 모노레포 배포 구조, Preview 환경, Rolling Releases, 환경 변수 관리, turbo prune

내부 리서치 에이전트 아키텍처

Vercel 엔터프라이즈 AI 플랫폼 · 내부 분석·리서치 에이전트를 Workflow, Sandbox, artifact 중심으로 설계하는 방법을 정리합니다.

Ch12. Evals와 품질 게이트

Eve eval runner와 assertion surface를 활용해 에이전트 회귀를 막는 품질 게이트를 설계한다.

Ch14. Enterprise Patterns

Eve로 고객지원, 내부 리서치, 코드 작업, 백오피스 자동화, 데이터 분석 에이전트를 설계하는 패턴을 정리한다.

On this page

세 가지 관측 표면instrumentation.tsRuntime context enrichmentEve가 자동으로 남기는 Workflow tagsVercel 배포Self-host 배포Build artifact 점검Runtime runbook프로덕션 SLO 후보배포 체크리스트