跳转至

工作原理

理解 OLAV 的三个核心概念,你就掌握了整个平台的运作方式。

本页为概念说明页,无独立 Claim。相关功能声明分布在各指南页。


三个核心概念

Agent(智能体)

Agent 是 OLAV 的"员工"——每个 Agent 是一个专注特定任务的 AI 助手。你可以把它想象成团队里的不同角色:

  • quick Agent:负责快速查询,像是一个反应敏捷的助手
  • config Agent:负责平台配置,像是一个系统管理员
  • core Agent:负责代码执行和复杂分析,像是一个全能工程师

每个 Agent 的能力由 .olav/workspace/<agent>/AGENT.md 定义,包括它的职责描述、可调用的工具、以及触发路由的关键词。

Skill(技能)

Skill 是 Agent 的"武器"——一组 Python 工具函数,赋予 Agent 特定的能力。例如:

  • 一个执行 SQL 查询的 Skill
  • 一个调用外部 REST API 的 Skill
  • 一个在知识库中搜索文档的 Skill

你可以为 Agent 安装新的 Skill 来扩展它的能力,就像给员工配备新工具。

Workspace(工作空间)

Workspace 是 .olav/workspace/ 目录——所有 Agent 和 Skill 的定义都存放在这里。它可以提交到 git,与团队共享。这意味着:

  • 团队成员拥有相同的 Agent 能力
  • Agent 的改进可以通过版本控制追踪
  • 你可以在不同项目中使用不同的工作空间

一个查询是如何被处理的

当你输入一个问题时,OLAV 内部会经历以下流程:

你的问题: "数据库里有哪些表?"
┌─────────────────────────────────────────────┐
│  语义路由器                                    │
│  分析问题内容,匹配 Agent 的 route_keywords    │
│  → 选择最合适的 Agent(或使用你指定的 --agent) │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│  Agent 加载工具                                │
│  读取 AGENT.md 和 MANIFEST.yaml               │
│  加载所有关联的 Skill 工具函数                  │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│  LLM 推理 + 工具调用循环                       │
│  LLM 分析问题 → 决定调用哪个工具               │
│  → 获取工具返回结果 → 综合生成回答              │
│  (可能多次调用工具,直到信息足够)              │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│  返回结果给你                                  │
│  同时自动写入审计日志 (audit.duckdb)            │
└─────────────────────────────────────────────┘

数据存储:哪些是共享的,哪些是私有的

OLAV 的数据分为两类:项目级(团队共享)和用户级(个人私有)。

项目级(存储在 .olav/ 下)

内容 位置 说明
Agent 和 Skill 定义 .olav/workspace/ ✅ 可以提交 git,团队共享
审计日志 .olav/databases/audit.duckdb 所有人的操作记录,DuckDB 支持并发写入
业务数据 .olav/databases/domain.duckdb 业务数据、解析结果等
API 密钥和配置 .olav/config/api.json ⚠️ 包含密钥,不要提交 git

用户级(存储在 ~/.olav/ 下)

内容 位置 说明
认证令牌 ~/.olav/token 你的身份凭证
会话记录 ~/.olav/sessions/ 交互模式的历史,24h 后过期
LLM 缓存 ~/.olav/cache/{user}/llm_cache.db 相同 prompt 不重复调用 LLM,实测命中时 0 token、<1ms 返回(约 2000x 加速)

三种使用接口

接口 启动方式 适用场景
CLI olav "你的问题" 脚本集成、一次性查询
TUI olav(不带参数) 多轮对话、探索式分析
Web UI olav service web start 团队共享、浏览器访问

三种接口背后使用相同的 Agent 和工具,能力完全一致。

下一步: 深入理解 Agent 与 Skill →