# coze-dev/coze-loop architecture

> Architecture diagram of the GitHub repository coze-dev/coze-loop, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/coze-dev/coze-loop
- Repository: https://github.com/coze-dev/coze-loop

## Overview

Coze Loop is a platform for developing and operating AI agents. Its principal workflow spans prompt authoring and debugging, model-backed execution, systematic evaluation, and post-deployment observability; supporting capabilities include datasets, tools, and workspace foundations. The backend exposes these capabilities through API routing and service handlers. The README documents the product branches, while the sampled source is limited and does not establish most handler-to-domain wiring, so those internal links are omitted.

Main entry points: [`backend/api/router/coze/loop/apis/coze.loop.apis.go`](https://github.com/coze-dev/coze-loop/blob/main/backend/api/router/coze/loop/apis/coze.loop.apis.go) (Coze API routes), [`backend/api/router.go`](https://github.com/coze-dev/coze-loop/blob/main/backend/api/router.go) (API router), [`backend/api/handler/coze/loop/apis/prompt_manage_service.go`](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/prompt_manage_service.go) (Prompt management), [`backend/api/handler/coze/loop/apis/prompt_debug_service.go`](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/prompt_debug_service.go) (Prompt debugging)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["API entry"]
  node_api_router["API router<br/>[router.go]"]
  node_api_routes["Coze API routes<br/>[coze.loop.apis.go]"]
end

subgraph group_prompt["Prompt and models"]
  node_prompt_manage["Prompt management"]
  node_prompt_debug["Prompt debugging"]
  node_prompt_execute["Prompt execution"]
  node_llm_manage["Model management"]
  node_llm_runtime["Model runtime"]
end

subgraph group_evaluation["Evaluation"]
  node_datasets["Datasets<br/>[dataset_service.go]"]
  node_eval_sets["Evaluation sets"]
  node_eval_targets["Evaluation targets"]
  node_evaluators["Evaluators"]
  node_experiments["Experiments"]
end

subgraph group_operations["Operations"]
  node_observability_traces["Trace observation"]
  node_observability_metrics["Metrics"]
  node_observability_tasks["Observation tasks"]
  node_foundation["Workspace and identity"]
  node_tools["Tool management"]
end

node_developer(("Developer"))

node_developer -->|"sends requests"| node_api_router
node_api_router -->|"routes requests"| node_api_routes
node_api_routes -->|"dispatches"| node_prompt_manage
node_api_routes -->|"dispatches"| node_prompt_debug
node_api_routes -->|"dispatches"| node_prompt_execute
node_api_routes -->|"dispatches"| node_llm_manage
node_api_routes -->|"dispatches"| node_llm_runtime
node_api_routes -->|"dispatches"| node_datasets
node_api_routes -->|"dispatches"| node_eval_sets
node_api_routes -->|"dispatches"| node_eval_targets
node_api_routes -->|"dispatches"| node_evaluators
node_api_routes -->|"dispatches"| node_experiments
node_api_routes -->|"dispatches"| node_observability_traces
node_api_routes -->|"dispatches"| node_observability_metrics
node_api_routes -->|"dispatches"| node_observability_tasks
node_api_routes -->|"dispatches"| node_foundation
node_api_routes -->|"dispatches"| node_tools

click node_api_router "https://github.com/coze-dev/coze-loop/blob/main/backend/api/router.go"
click node_api_routes "https://github.com/coze-dev/coze-loop/blob/main/backend/api/router/coze/loop/apis/coze.loop.apis.go"
click node_prompt_manage "https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/prompt_manage_service.go"
click node_prompt_debug "https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/prompt_debug_service.go"
click node_prompt_execute "https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/prompt_execute_service.go"
click node_llm_manage "https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/llmmanage_service.go"
click node_llm_runtime "https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/llmruntime_service.go"
click node_datasets "https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/dataset_service.go"
click node_eval_sets "https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/evaluation_set_service.go"
click node_eval_targets "https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/eval_target_service.go"
click node_evaluators "https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/evaluator_service.go"
click node_experiments "https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/experiment_service.go"
click node_observability_traces "https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/observability_trace_service.go"
click node_observability_metrics "https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/observability_metric_service.go"
click node_observability_tasks "https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/observability_task_service.go"
click node_foundation "https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/foundation_space_service.go"
click node_tools "https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/tool_manage_service.go"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_api_router,node_api_routes toneBlue
class node_prompt_manage,node_prompt_debug,node_prompt_execute,node_llm_manage,node_llm_runtime toneAmber
class node_datasets,node_eval_sets,node_eval_targets,node_evaluators,node_experiments toneMint
class node_observability_traces,node_observability_metrics,node_observability_tasks,node_foundation,node_tools toneRose
class node_developer toneIndigo
```

## Components

### API entry

- [API router](https://github.com/coze-dev/coze-loop/blob/main/backend/api/router.go): `backend/api/router.go`
- [Coze API routes](https://github.com/coze-dev/coze-loop/blob/main/backend/api/router/coze/loop/apis/coze.loop.apis.go): `backend/api/router/coze/loop/apis/coze.loop.apis.go`

### Prompt and models

- [Prompt management](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/prompt_manage_service.go): `backend/api/handler/coze/loop/apis/prompt_manage_service.go`
- [Prompt debugging](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/prompt_debug_service.go): `backend/api/handler/coze/loop/apis/prompt_debug_service.go`
- [Prompt execution](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/prompt_execute_service.go): `backend/api/handler/coze/loop/apis/prompt_execute_service.go`
- [Model management](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/llmmanage_service.go): `backend/api/handler/coze/loop/apis/llmmanage_service.go`
- [Model runtime](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/llmruntime_service.go): `backend/api/handler/coze/loop/apis/llmruntime_service.go`

### Evaluation

- [Datasets](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/dataset_service.go): `backend/api/handler/coze/loop/apis/dataset_service.go`
- [Evaluation sets](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/evaluation_set_service.go): `backend/api/handler/coze/loop/apis/evaluation_set_service.go`
- [Evaluation targets](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/eval_target_service.go): `backend/api/handler/coze/loop/apis/eval_target_service.go`
- [Evaluators](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/evaluator_service.go): `backend/api/handler/coze/loop/apis/evaluator_service.go`
- [Experiments](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/experiment_service.go): `backend/api/handler/coze/loop/apis/experiment_service.go`

### Operations

- [Trace observation](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/observability_trace_service.go): `backend/api/handler/coze/loop/apis/observability_trace_service.go`
- [Metrics](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/observability_metric_service.go): `backend/api/handler/coze/loop/apis/observability_metric_service.go`
- [Observation tasks](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/observability_task_service.go): `backend/api/handler/coze/loop/apis/observability_task_service.go`
- [Workspace and identity](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/foundation_space_service.go): `backend/api/handler/coze/loop/apis/foundation_space_service.go`
- [Tool management](https://github.com/coze-dev/coze-loop/blob/main/backend/api/handler/coze/loop/apis/tool_manage_service.go): `backend/api/handler/coze/loop/apis/tool_manage_service.go`

### Other components

- **Developer**

## Connections

- Developer → API router: sends requests
- API router → Coze API routes: routes requests
- Coze API routes → Prompt management: dispatches
- Coze API routes → Prompt debugging: dispatches
- Coze API routes → Prompt execution: dispatches
- Coze API routes → Model management: dispatches
- Coze API routes → Model runtime: dispatches
- Coze API routes → Datasets: dispatches
- Coze API routes → Evaluation sets: dispatches
- Coze API routes → Evaluation targets: dispatches
- Coze API routes → Evaluators: dispatches
- Coze API routes → Experiments: dispatches
- Coze API routes → Trace observation: dispatches
- Coze API routes → Metrics: dispatches
- Coze API routes → Observation tasks: dispatches
- Coze API routes → Workspace and identity: dispatches
- Coze API routes → Tool management: dispatches
