|
|
@@ -0,0 +1,216 @@
|
|
|
+# LambdAgent PaaS 项目介绍
|
|
|
+
|
|
|
+**文档版本:** 1.0
|
|
|
+**日期:** 2026-05-28
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 一、整体定位
|
|
|
+
|
|
|
+**LambdAgent PaaS** 是一个基于 **λ-演算理论** 的 Agent 平台即服务(Platform-as-a-Service)框架。它把 AI Agent 的构建、运行、组合纳入到一套**可证明、可优化、可计费**的形式化代数语义之下,并通过 Web UI 让非技术用户也能直接使用。
|
|
|
+
|
|
|
+整个项目分为三层:
|
|
|
+
|
|
|
+```
|
|
|
+┌─────────────────────────────────────────────┐
|
|
|
+│ Web UI —— 面向领域专家的可视化工作台 │
|
|
|
+├─────────────────────────────────────────────┤
|
|
|
+│ PaaS —— Agent 平台 / 实例 / 计费 │
|
|
|
+├─────────────────────────────────────────────┤
|
|
|
+│ LambdAgent —— λ-演算驱动的 Agent 引擎 │
|
|
|
+└─────────────────────────────────────────────┘
|
|
|
+```
|
|
|
+
|
|
|
+一句话定位:**让 Agent 像 λ 表达式一样被构造、组合与计费——并把这一切藏到一个上手即用的浏览器界面背后。**
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 二、LambdAgent —— 核心引擎层
|
|
|
+
|
|
|
+### 2.1 一句话定义
|
|
|
+
|
|
|
+> **Agent ≡ λ-term**:每一个 Agent 都是一个带 **效应(effect)** 和 **成本(cost)** 标注的 λ 表达式,由 CEK 抽象机求值,遵循可证明的代数律。
|
|
|
+
|
|
|
+LambdAgent 不是又一个 Agent 框架,而是一套带语义的 Agent **计算模型**。
|
|
|
+
|
|
|
+### 2.2 三大支柱
|
|
|
+
|
|
|
+#### ① CEK 求值器(Control-Environment-Kontinuation)
|
|
|
+经典 λ-演算抽象机被改造成 Agent 调度内核:
|
|
|
+- **Control**:当前正在求值的 Agent 表达式
|
|
|
+- **Environment**:变量绑定 + 工具 / 记忆 / 上下文
|
|
|
+- **Kontinuation**:续延栈,天然支持 ReAct、Handoff、回溯
|
|
|
+
|
|
|
+#### ② Graded Effects(分级效应系统)
|
|
|
+每个 Agent 项都有可静态推断的效应签名:
|
|
|
+
|
|
|
+| 效应 | 含义 |
|
|
|
+|------|------|
|
|
|
+| `Pure` | 纯函数式调用,无副作用 |
|
|
|
+| `LLM` | 调用大模型 |
|
|
|
+| `Tool` | 外部工具 / IO |
|
|
|
+| `GroupChat` / `AsyncPar` | 并发协作 |
|
|
|
+| `Handoff` / `Send` / `Receive` | Agent 间通信 |
|
|
|
+
|
|
|
+`infer_effect_for_term()` 在运行前就能告诉你这个 Agent 会"碰到什么"。
|
|
|
+
|
|
|
+#### ③ Cost Vectors(成本向量)
|
|
|
+成本不再只是 token 计数,而是向量:`⟨tokens, latency, $, tool_calls, …⟩`
|
|
|
+- **预测**:求值前估算
|
|
|
+- **实际**:运行时累加
|
|
|
+- **校验**:`validate_cost()` 交叉比对,偏差即异常
|
|
|
+
|
|
|
+### 2.3 代数律(Algebraic Laws)
|
|
|
+
|
|
|
+LambdAgent 强制 Agent 组合满足等式律:
|
|
|
+
|
|
|
+```
|
|
|
+seq(seq(a, b), c) ≡ seq(a, seq(b, c)) -- 结合律
|
|
|
+par(a, b) ≡ par(b, a) -- 交换律
|
|
|
+handoff(a, id) ≡ a -- 单位元
|
|
|
+```
|
|
|
+
|
|
|
+这意味着 **Agent 编排可以被编译器 / 优化器重写**,而不只是被解释执行。
|
|
|
+
|
|
|
+### 2.4 与传统 Agent 框架的差别
|
|
|
+
|
|
|
+| 维度 | 传统框架(LangChain / AutoGen 等) | LambdAgent |
|
|
|
+|------|--------------------------------|------------|
|
|
|
+| 抽象 | 类 + 回调 | λ-term + 效应 |
|
|
|
+| 组合 | 编排 DSL / 图 | 函数组合(可证等价) |
|
|
|
+| 成本 | 事后统计 | 向量 + 预测 + 校验 |
|
|
|
+| 并发 | ad-hoc | AsyncPar / GroupChat 一等公民 |
|
|
|
+| 复用 | 复制代码改参数 | Template + Instance 注入 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 三、LambdAgent PaaS —— 平台层
|
|
|
+
|
|
|
+PaaS 层在引擎之上提供工程化能力:实例管理、运行隔离、协议接入、领域部署。
|
|
|
+
|
|
|
+### 3.1 核心机制
|
|
|
+
|
|
|
+- **Agent = Template + Instance**:一个模板可派生 N 个领域实例,通过 `load_instance()` / `create_instance()` 注入领域数据。模板与数据彻底解耦,一次编写、多域复用。
|
|
|
+- **Run Workspace**:每次运行隔离在 `{agent_dir}/workspace/run_{时间戳}/`,input / output / trace / config / cost 全留痕,永不删除。
|
|
|
+- **成本预测与校验**:闭环可观测,预测与实际偏差即时报警。
|
|
|
+- **多 LLM 接入**:已打通 **小艺 OpenClaw**(A2A WebSocket)、**agent67**(ReAct + done 工具)等协议。
|
|
|
+
|
|
|
+### 3.2 QA Demo 四模式
|
|
|
+
|
|
|
+右侧面板支持 **Wiki / BM25 / DirectLLM / RAG** 四种检索回答模式对比,已部署三个领域实例:
|
|
|
+
|
|
|
+| 实例 | 部署地址 | 规模 |
|
|
|
+|------|---------|------|
|
|
|
+| maritime-qa | (已部署) | 海事领域 |
|
|
|
+| finance-qa | (已部署) | 金融领域 |
|
|
|
+| **clean-qa** | `qa.lambdagent.cn:8083` | 49 文档 / 1527 chunks |
|
|
|
+
|
|
|
+### 3.3 项目状态
|
|
|
+
|
|
|
+- **Phase 1 (P0)** + **Phase 2 (P1)** 已完成,共 **175 个测试通过**
|
|
|
+- 三篇底层论文(Paper I / II / III)覆盖度约 **95% / 80% / 70%**
|
|
|
+- 已修复关键设计缺陷:
|
|
|
+ - DESIGN-01:`PassthroughHandler` 基类
|
|
|
+ - DESIGN-07:效应推断补全(GroupChat / AsyncPar / Handoff / Send / Receive)
|
|
|
+ - DESIGN-08:成本预测 vs 实际交叉校验
|
|
|
+- **协议**:BSL 1.1(≤10 用户生产环境免费,2031-04-05 自动转 Apache 2.0)
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 四、Web UI —— 应用层
|
|
|
+
|
|
|
+### 4.1 定位
|
|
|
+
|
|
|
+> CLI 给开发者,**Web UI 给领域专家**。
|
|
|
+> 一台本机、一个浏览器标签页,就是完整的 Agent 工作台。
|
|
|
+
|
|
|
+Web UI 把原本只能通过 CLI、YAML、`.env` 来驱动的平台,包装成一个**零终端、零配置文件**的本地可视化应用。
|
|
|
+
|
|
|
+### 4.2 技术栈
|
|
|
+
|
|
|
+- **前端**:React 18 + TypeScript + Vite + TailwindCSS
|
|
|
+- **路由 / 状态**:React Router 6 + Zustand + TanStack Query
|
|
|
+- **后端**:直连现有 `agentpaas` REST API(不重新造后端)
|
|
|
+- **部署形态**:本地单机 / 内网,不依赖云服务
|
|
|
+
|
|
|
+### 4.3 核心页面
|
|
|
+
|
|
|
+| 模块 | 作用 |
|
|
|
+|------|------|
|
|
|
+| **SetupWizard** | 三步安装向导:环境检测 → 选 LLM 提供商 → 启动服务 |
|
|
|
+| **Dashboard** | 系统状态、最近运行、Token 消耗一屏总览 |
|
|
|
+| **Agents** | 智能体模板列表(创建 / 编辑 / 导入 / 删除) |
|
|
|
+| **AgentCreate / Edit / Import** | 表单化配置,告别手写 YAML |
|
|
|
+| **Chat** | 选择 Agent 直接对话,看到推理轨迹与成本 |
|
|
|
+| **Knowledge / KnowledgeDetail** | 知识体管理:上传文档、构建索引、按域隔离 |
|
|
|
+| **Providers** | 多 LLM 提供商管理 |
|
|
|
+
|
|
|
+### 4.4 三大设计原则
|
|
|
+
|
|
|
+#### ① 零门槛安装
|
|
|
+- 自动检测 Python / Docker 环境,缺什么提示什么
|
|
|
+- 支持 **Python 模式** 与 **Docker 模式** 二选一
|
|
|
+- 区分 **需要 API Key**(Anthropic / DashScope / DeepSeek / OpenAI / 智谱 / Moonshot…)与 **无需 API Key**(Claude Code Max Plan / Ollama 本地)
|
|
|
+
|
|
|
+#### ② 模板 / 实例双层管理
|
|
|
+继承 LambdAgent 的"一个模板,N 个领域实例"架构——UI 上一个 Agent 卡片可以展开多个领域实例(maritime / finance / clean…),互不污染。
|
|
|
+
|
|
|
+#### ③ 透明可观测
|
|
|
+每次对话都直连后端的 Run Workspace,UI 可见:
|
|
|
+- 推理轨迹(trace)
|
|
|
+- 工具调用链
|
|
|
+- Cost Vector 实时累加
|
|
|
+- 历史回放
|
|
|
+
|
|
|
+### 4.5 目标用户
|
|
|
+
|
|
|
+| 用户 | 用 Web UI 做什么 |
|
|
|
+|------|------------------|
|
|
|
+| **领域专家**(医、法、金融、海事…) | 上传专业文档,三分钟造一个垂域问答 Agent |
|
|
|
+| **企业内部用户** | 开箱即用的对话端,不接触底层 |
|
|
|
+| **科研人员** | 可视化配置 + 看到完整执行轨迹 |
|
|
|
+| **学生 / 课堂** | 向导带新手装环境、跑 Demo |
|
|
|
+
|
|
|
+### 4.6 当前进展
|
|
|
+
|
|
|
+- 首期需求文档 v1.0([WEB_UI_REQUIREMENTS.md](../webui/WEB_UI_REQUIREMENTS.md))已交付
|
|
|
+- 核心页面(10 个)已搭建完毕
|
|
|
+- 已接通:Setup Wizard / Workspace 路由修复 / Agent 实例机制
|
|
|
+- 最新迭代:补齐 **4.12 知识体管理需求**
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 五、总览:三层协作
|
|
|
+
|
|
|
+```
|
|
|
+领域专家
|
|
|
+ │
|
|
|
+ ▼ 浏览器
|
|
|
+┌──────────────────────────────────────┐
|
|
|
+│ Web UI(React + Tailwind) │ ← 表单 / 对话 / 可视化
|
|
|
+└──────────────┬───────────────────────┘
|
|
|
+ │ REST API
|
|
|
+┌──────────────▼───────────────────────┐
|
|
|
+│ PaaS(agentpaas) │ ← 实例 / Workspace / 协议
|
|
|
+│ - Template + Instance │
|
|
|
+│ - Run Workspace + Cost Trace │
|
|
|
+│ - OpenClaw / agent67 / … │
|
|
|
+└──────────────┬───────────────────────┘
|
|
|
+ │
|
|
|
+┌──────────────▼───────────────────────┐
|
|
|
+│ LambdAgent(λ-Engine) │ ← 语义 / 效应 / 成本
|
|
|
+│ - CEK Machine │
|
|
|
+│ - Graded Effects │
|
|
|
+│ - Cost Vectors + Algebraic Laws │
|
|
|
+└──────────────────────────────────────┘
|
|
|
+```
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 六、一句话总结
|
|
|
+
|
|
|
+> **LambdAgent** 让 Agent 第一次拥有了"可计算的语义";
|
|
|
+> **PaaS** 让这套语义能在多领域、多协议、多 LLM 之间复用;
|
|
|
+> **Web UI** 让不会写代码的人,也能用上这一切。
|
|
|
+>
|
|
|
+> ——这就是 **LambdAgent PaaS**。
|