APUS Reflex Agent 深度解析:用决策模型做 Harness,让 Agent 快 3 倍、不「失忆」

Cosolar 1 阅读 AI Agent大模型技术

APUS Reflex Agent 深度解析:用决策模型做 Harness,让 Agent 快 3 倍、不「失忆」

项目地址:https://github.com/APUS-AI-Lab/APUS-Reflex-Agent

决策模型:https://huggingface.co/apus-ailab/APUS-Reflex

协议:MIT(桌面端 / Web / SDK 全部开源)

一、为什么要关注这个项目?

2026 年 10 月 13 日晚,APUS AI(麒麟合盛)开源了一个叫 Reflex Agent 的 Personal Agent(个人智能体)产品。

跟 Claude Code、Codex、Cursor 这些主流 Agent 不同,它提出了两个反直觉的设计:

  1. 不把所有决策都交给大模型——用一个 4.5B 的小模型(基于 Qwen3.5 微调)专门做 Harness 层的控制决策,响应速度实测能比主流 Agent 快 2-3 倍;
  2. 不靠压缩历史凑上下文——搭了一套叫 Continuum 的三层记忆引擎,实现无限记忆 + 无损记忆 + 无损输入,彻底换了一条解决"长任务失忆"的思路。

它不是又一个 Prompt 包装,而是一次 Harness 架构层面的重构。正在准备 Agent 工程师方向面试的同学,这套架构思路值得认真拆一遍。

二、先搞清楚两个痛点:慢 & 失忆

APUS 在开源公告里直接点出了当前 Agent 行业的两个硬伤:

痛点 1:大模型每想一步,用户就多等一步

主流 Agent 几乎都是"提示词 + 代码"搭的 Harness(执行框架)。每一步控制决策——"这个需求该交给谁执行"、"调哪个工具"、"任务做完没有"——都要调用大模型来判断。

在浏览器操作、多工具链式调用、连续工作流这类高频决策场景,每多一次 LLM 调用,就是一次网络往返 + 推理延迟,用户体感就是"卡"。

痛点 2:长任务里 Agent 总是「失忆」

任务一长,历史就超出上下文窗口。行业通行做法是把旧对话压成摘要塞进 prompt。问题是:细节、出处、原始约束往往在压缩过程中丢掉了,等你需要 Agent 回溯某个条件、核对原始信息、修正之前判断时,摘要里压根找不到。

这两个痛点看似独立,本质是同一个问题:当前 Agent 架构把"决策"和"执行"都压在了同一个大模型身上,导致它既要快又要记全,但两头都做不好。

三、核心解法一:用模型做 Harness(Model-Driven Harness)

Reflex Agent 的第一个创新,是把 Harness 里的"决策判断"独立出来,用一个专用小模型承担。

3.1 三层角色分工

层承担者干什么
决策层Reflex 模型(4.5B,基于 Qwen3.5 微调)模型路由、技能选择、结果审查、执行监督——判断"下一步干什么"
Harness 层调度框架流程调度、工具管理、状态跟踪、接收执行反馈——"怎么把决策落实"
工具层外部工具 / 大模型 / 数据具体干活——写代码、查资料、操作浏览器

这跟目前主流做法的关键区别在于:决策模型只做判断,不做内容生成。需要生成内容或调用外部能力时,它再按需路由到合适的大模型或工具。

3.2 Loop Working 闭环

APUS 把这套工作循环命名为 Loop Working(循环工作):

决策 → 执行 → 反馈 → 再决策 → ……(循环直到任务完成)

决策模型是整个流程的控制中枢,大模型是被它按需调用的"打工人"。

这不是简单的"换个小模型",而是重新划分了模型和 Harness 的职责边界。APUS 给出的实测数据是:在需要连续操作、频繁调用工具的复杂任务场景里,页面响应速度比 Claude Code、Codex 这类主流 Agent 快 2-3 倍。

3.3 为什么小模型能做决策?

Reflex 决策模型是专门针对三类任务微调的:

  • 浏览器动作选择(点哪个按钮、填哪个表单)
  • 工作流路由(任务该交给哪个工具/子 Agent)
  • 自然语言原则判断(任务是否完成、结果是否合规)

这些决策是模式化、可枚举、可训练的——4.5B 的小模型足够胜任,而且推理延迟比千亿模型低一个数量级。内容生成、复杂推理才交给大模型。

这个思路其实和 Harness Engineering 近期的演化方向一致:行业已经意识到,"Agent = LLM + Harness",而 Harness 本身需要专门的工程设计,不能全靠 Prompt 硬撑。

四、核心解法二:Continuum 记忆引擎(无限上下文)

第二个创新是记忆系统。Reflex Agent 搭了一个叫 Continuum 的三层记忆引擎,从根本上换了"上下文怎么进模型"的思路。

4.1 三层记忆机制

层名字干什么
L1无限记忆(Infinite Memory)持续累积任务全量信息,给长周期任务提供完整记忆底座——不删、不丢
L2无损记忆(Lossless Memory)完整保存原始信息和关联关系,支持随时回溯任务细节、历史判断依据——不压、不改
L3无损输入(Lossless Input)检索调入当前决策上下文的信息保留原文,不做有损改写、不生成摘要

关键在第三层。传统 RAG/摘要方案在"检索到信息后"往往还要过一道摘要/压缩,这正是细节丢失的地方。Continuum 的做法是:检索到的原始内容直接进入决策上下文,模型自己判断怎么用。

4.2 工作方式:不塞全量,按需检索

Agent 不需要把全部历史一次性塞进 prompt,而是:

  1. 当前决策需要什么信息 → 通过语义检索找相关记忆片段
  2. 把原文片段直接注入决策上下文
  3. 决策模型基于原始信息(不是摘要)判断下一步

这让"上下文长度"不再等同于"单次 prompt 能塞多少 token",而是记忆库有多大,Agent 的上下文就能有多大——APUS 称之为真正的"无限上下文"(注意:不是突破单次模型调用的输入长度限制,而是让记忆与任务周期不再受单次窗口限制)。

4.3 和主流方案对比

方案历史处理方式缺点
滑动窗口直接截断早期内容直接丢信息
摘要压缩(主流)LLM 把历史压成摘要细节和出处丢失
向量 RAG检索相关片段 + 可能再摘要摘要环节仍有损
Continuum(Reflex)全量保存 + 检索原文直入存储成本高,但信息保真

五、完整架构图(概念版)

┌─────────────────────────────────────────────────────┐
│                    用户指令                          │
└──────────────────────┬──────────────────────────────┘
                       ▼
┌─────────────────────────────────────────────────────┐
│           Reflex 决策模型(4.5B 小模型)             │
│   路由决策 / 工具选择 / 完成审查 / 执行监督           │
└───┬─────────────────┬─────────────────┬─────────────┘
    │                 │                 │
    ▼                 ▼                 ▼
┌─────────┐    ┌─────────────┐   ┌──────────────┐
│ 工具集  │    │  内容大模型  │   │  外部数据/API │
│(浏览器/ │    │(GPT/Claude/ │   │  (搜索/数据库 │
│ 文件/   │    │ DeepSeek等) │   │   /企业系统)  │
│ Shell)  │    └──────┬──────┘   └──────┬───────┘
└────┬────┘           │                 │
     │                │                 │
     └─────────┬──────┴─────────────────┘
               ▼
┌─────────────────────────────────────────────────────┐
│           Harness(流程调度 / 状态跟踪)             │
└──────────────────────┬──────────────────────────────┘
                       ▼
┌─────────────────────────────────────────────────────┐
│          Continuum 记忆引擎(三层记忆)              │
│  无限记忆 ←→ 无损记忆 ←→ 无损输入(原文直入)        │
└──────────────────────┬──────────────────────────────┘
                       │
                       └──→ 反馈给决策模型,进入下一轮
                           (Loop Working 循环)

六、快速上手教程

Reflex Agent 提供三种使用形态:桌面端(开箱即用 GUI)、Web 端(自托管)、SDK(嵌入自己的应用)。下面分别说明。

6.1 前置准备

  • Python 3.10+(SDK 必需)
  • Node.js 18+(Web 端自托管)
  • 至少一个大模型 API Key(OpenAI / Anthropic / DeepSeek / APUS 天燕大模型均可)
  • (可选)GPU 环境本地跑 Reflex 决策模型;无 GPU 可调用 APUS 托管的 Reflex 推理接口

6.2 方式一:桌面端(最快体验)

  1. 前往 GitHub Releases 页 下载对应系统的安装包(macOS / Windows / Linux)
  2. 安装后首次启动,进入设置页填入大模型 API Key
  3. 在主界面选择任务类型(浏览器操作 / 文件处理 / 研究助手等),或直接输入自然语言任务
  4. Agent 会自动启动 Loop Working 循环:决策模型判断下一步 → 调用工具/大模型执行 → Continuum 记录全过程 → 反馈继续

桌面端适合:普通用户想体验 Personal Agent、不想碰代码的场景。

6.3 方式二:Web 端自托管

# 1. 克隆仓库
git clone https://github.com/APUS-AI-Lab/APUS-Reflex-Agent.git
cd APUS-Reflex-Agent/web

# 2. 安装依赖
npm install

# 3. 配置环境变量
cp .env.example .env
# 编辑 .env,填入 LLM_API_KEY、REFLEX_MODEL_ENDPOINT 等

# 4. 启动
npm run dev
# 默认访问 http://localhost:3000

生产部署建议用 Docker:

docker build -t reflex-agent .
docker run -p 3000:3000 \
  -e LLM_API_KEY=your_key \
  -e REFLEX_MODEL_ENDPOINT=your_endpoint \
  -v reflex_data:/app/data \
  reflex-agent

Web 端适合:团队内部部署、多人共享使用。

6.4 方式三:Python SDK 集成(开发者重点)

SDK 是把 Reflex Agent 嵌入你自己应用的主要方式。

pip install reflex-agent-sdk

最小可运行示例:

from reflex_agent import Agent, AgentConfig
from reflex_agent.memory import ContinuumMemory
from reflex_agent.tools import BrowserTool, FileTool, ShellTool

# 1. 配置 Agent
config = AgentConfig(
    # 决策模型:本地路径或 APUS 托管 endpoint
    decision_model="apus-ailab/APUS-Reflex",
    # 内容大模型:替换为你自己的 API
    content_model={
        "provider": "openai",
        "model": "gpt-4o",
        "api_key": "sk-xxx",
    },
    # Continuum 记忆引擎
    memory=ContinuumMemory(
        storage_path="./reflex_memory",  # 记忆本地存储路径
        enable_infinite=True,            # 开启无限记忆
        enable_lossless_input=True,      # 开启无损输入(原文直入)
    ),
)

# 2. 创建 Agent 实例,注册工具
agent = Agent(config)
agent.register_tool(BrowserTool())   # 浏览器操作
agent.register_tool(FileTool())      # 文件读写
agent.register_tool(ShellTool())     # 命令行

# 3. 给一个任务,Agent 自动进入 Loop Working
result = agent.run(
    "帮我整理桌面上所有 PDF 文件,按主题分类到不同文件夹,"
    "然后生成一份内容摘要索引表"
)

print(result.summary)

6.5 核心 SDK 接口一览

接口作用
Agent(config)创建 Agent 实例
agent.register_tool(tool)注册自定义工具
agent.run(task)同步执行任务(阻塞到完成)
agent.run_async(task)异步执行,支持流式回调
agent.memory.query(question)直接查询记忆库(检索原文)
agent.memory.export()导出全量记忆(JSON)
agent.add_observer(callback)添加执行过程观察者(调试/日志)

6.6 自定义工具示例

from reflex_agent import BaseTool

class SendEmailTool(BaseTool):
    name = "send_email"
    description = "给指定收件人发送邮件"

    def execute(self, to: str, subject: str, body: str) -> str:
        # 这里写你自己的邮件发送逻辑
        print(f"发送邮件给 {to}: {subject}")
        return f"邮件已发送给 {to}"

agent.register_tool(SendEmailTool())

注册后,Reflex 决策模型会自己判断什么时候调用它,不需要手写工作流。

七、典型应用场景

Reflex Agent 的设计定位是 Personal Agent(个人智能体),在以下场景优势明显:

场景Continuum 怎么帮忙
长期研究助理跨多周收集资料,不丢任何文献细节,随时能回溯某篇论文的具体说法
浏览器自动化多步骤网页操作(填表、爬数据、下单),小模型决策快,连续操作不卡顿
代码审查 Agent跨多个 PR、多个分支记住历史评论和项目规范,不会"忘了上次说过什么"
个人数字管家长期记住你的偏好、日程、习惯,越用越懂你(而不是每次都从零开始)
企业内部知识助手无损读取企业文档原文,避免摘要把合同条款、财务数字改写出错

八、和主流 Agent 方案对比

维度Claude Code / CodexLangGraph / AutoGPT 类Reflex Agent
决策方式大模型全包大模型 + 代码规则小模型做决策,大模型做内容
决策延迟高(每步 LLM 调用)中低(小模型快 2-3 倍)
长任务记忆上下文窗口 / 摘要向量库 + 摘要三层 Continuum,原文直入
记忆保真有损有损无损
部署形态云端 CLI自建桌面 / Web / SDK 全开源
协议闭源 / 部分开源开源MIT 全开源
定位编程 Agent通用 Agent 框架Personal Agent 产品

九、局限与值得思考的地方

我不想光吹,几个需要注意的点:

  1. "快 3 倍"是 APUS 实验室数据,真实场景里能快多少,还要等社区实测;不同任务类型差异会很大。
  2. 无损输入意味着 token 消耗可能更高——原文直入比摘要费 token,长任务的 API 成本需要权衡。
  3. 决策模型是 4.5B 小模型,在复杂、多跳、开放式决策场景下,判断力和千亿模型比肯定有差距;APUS 的策略是"判断不准时路由给大模型",但这个 fallback 边界怎么划,还有待验证。
  4. 项目刚开源(2026-10-13),生态、文档、社区都还在早期,生产用建议先观望或小范围试点。
  5. "无限上下文"是工程概念,不是物理突破——它绕开了单次 prompt 长度限制,但检索质量、记忆索引效率、长期存储成本都是新的工程挑战。

十、对 Agent 工程师的启示

如果你正在准备 Agent 方向面试,或者正在设计自己的 Agent 系统,Reflex Agent 给出了两个非常值得借鉴的思路:

思路 1:决策与执行解耦

不要让同一个大模型承担"判断做什么"和"动手做"两件事。高频、模式化的决策可以下沉给小模型甚至规则系统,大模型只在需要创造力、复杂推理时出手。这不仅是速度问题,也是成本和稳定性问题。

思路 2:记忆系统不要只靠摘要

摘要压缩是当前最偷懒也最普遍的做法,但它在信息保真上有根本性缺陷。原文检索 + 无损注入这条路虽然存储和 token 成本更高,但在需要精确回溯的场景(合同、代码、研究、医疗、金融)几乎是必须的。Continuum 的三层设计可以作为你设计记忆系统时的参考模板。

这两点正好对应了 Harness Engineering 里两个核心子系统:Context / Lifecycle 编排 和 Memory 工程。

本文基于 APUS 官方开源公告、智东西、品玩、经济参考报、环球网等公开报道及项目技术资料整理,不构成任何技术采用或投资建议。项目刚开源,部分细节(SDK 具体 API、部署配置等)可能随版本迭代变化,请以 GitHub 官方文档为准。