---
title: Agent
order: 4
description: 每个 workspace 背后的推理引擎。
---

# Agent

**Agent** 是负责读取 sources、选择工具、产生答案的推理引擎。Investibook 通过可插拔的
**agent runtime** 驱动独立进程：OpenCode 和 Claude 使用 ACP，Pi 使用 JSONL RPC。

## Agent 循环

1. 你在 chat 中发送消息。
2. backend 与 agent 建立 runtime 会话，把消息与 workspace 的 sources 一并流入。
3. agent 输出一串事件：
   - `text` —— 流式输出的回答片段。
   - `thought` —— 内部推理，UI 中可折叠。
   - `tool` —— 工具/技能的调用与结果。
   - `complete` —— 本次运行结束。
4. UI 实时渲染每一个事件。

## 切换 runtime

在 chat 中运行 `/agent pi` 或 `/agent opencode`。选择结果会按当前 workspace
保存，并从下一条消息开始生效。

## Agent 能访问哪些资源

- 当前 workspace 的 **sources**（Jira、集群、文件）。
- **内置技能**与已启用的自定义技能。
- **MCP 工具** —— sources 面板里出现的 Clinic、Wait、DevOps 等连接器。
- **截图与 PromQL** —— 你可以显式让 agent 抓 Grafana 截图或跑 PromQL。

## 为什么 agent 是独立进程

把 agent 独立成一个进程意味着：

- agent 可以独立于 Investibook backend 升级。
- backend 保持精简、无状态。
- 本地开发可以在 `opencode`、`claude-code-acp` 与 `pi` 之间任意切换。

如何指定 agent 二进制见
[How-to → 本地运行 Investibook](/docs/how-to/run-locally)。
