摘要
本文解析 Hermes Agent 新版核心能力:后台电脑操控、多智能体协同、Kanban 工作流与 /goal 长任务模式,并用 Python 实现一个可运行的自主任务编排原型。
背景介绍
AI Agent 正在从"单轮问答工具"演进为"长期运行的自主工作系统"。传统大模型应用通常依赖用户输入 Prompt,然后返回一次性结果;而 Agent 系统更强调任务拆解、工具调用、状态管理、长期记忆与持续执行。
视频中提到的 Hermes Agent,就是当前开源 AI Agent 方向中较有代表性的项目之一。它的定位不是简单的聊天机器人,而是一个可以在自有基础设施上 24/7 运行的持久化智能体系统,具备以下几个关键特征:
- 长期记忆:持续积累上下文、项目状态和历史决策;
- 可复用技能:将执行过的任务沉淀为可复用能力;
- 自主循环:围绕目标进行计划、执行、复盘和重试;
- 多智能体协同:多个 Agent 共同处理复杂任务;
- 工作区管理:通过 Kanban 看板组织任务状态。
新版 Hermes 的重点更新包括:原生 Computer Use、后台操作能力、多 Agent 编排系统、Kanban 看板升级,以及类似 Codex、Claude Code 中的 /goal 长目标模式。
这些能力组合在一起,意味着 Agent 不再只是"生成文本",而是开始具备接近"数字员工"的基础形态。
核心原理
1. 后台 Computer Use:从 API 调用到真实环境操作
传统 Agent 如果要访问网页或操作应用,通常需要组合多种工具:
- Headless Browser;
- Playwright / Selenium;
- 爬虫脚本;
- 搜索 API;
- 页面解析器;
- 第三方浏览器自动化服务。
这种方式的问题是链路复杂、维护成本高,页面结构变化后脚本容易失效。
Hermes 新版 Computer Use 的价值在于:Agent 可以直接对操作系统中的应用进行点击、输入、滚动等动作。视频中特别强调,它并不是完全接管用户电脑,而是在后台协同运行。用户仍然可以继续使用鼠标、键盘和浏览器,Agent 在另一个执行上下文中完成自己的任务。
目前该能力主要面向 macOS,后续会扩展到 Windows 和 Linux。其核心意义在于:Agent 的工具边界从"API 世界"扩展到了"真实桌面环境"。
2. 多智能体编排:单 Agent 到 Agent Team
复杂任务通常无法由一个 Agent 高质量完成。比如"调研竞品并生成技术方案",至少可以拆成:
- Research Agent:负责信息检索和资料整理;
- Coding Agent:负责原型代码与技术验证;
- Review Agent:负责审查输出质量;
- Manager Agent:负责拆解目标、分配任务和跟踪状态。
Hermes 的新版多智能体系统,重点解决的是 Agent 之间如何分工、交接、记忆共享和状态追踪的问题。
这也是 Kanban 看板能力升级的原因。看板不是简单 UI,而是任务状态机:
text
Backlog → Todo → In Progress → Review → Done
每一个任务卡片都可以绑定 Agent、目标、上下文、执行记录和当前状态。这样就可以将不可见的智能体执行过程转化为可观察、可管理、可回溯的工程流程。
3. /goal 模式:长期自主目标循环
/goal 可以理解为 Agent 的长期目标执行模式。它不同于普通 Prompt。
普通 Prompt:
text
帮我写一个爬虫脚本
/goal 模式:
text
持续完成一个可运行的数据采集系统,包括需求分析、代码实现、测试、异常处理和文档输出
其执行逻辑通常是:
text
Plan → Execute → Observe → Review → Retry → Complete
也就是说,Agent 不只是回答问题,而是持续推进目标,遇到失败时自动复盘并重新规划,直到目标完成或达到停止条件。
技术资源与工具选型
在实际构建 Agent 系统时,模型接入层非常关键。我的开发环境中常用薛定猫AI(xuedingmao.com)作为统一模型网关,它采用 OpenAI 兼容模式,适合在多模型 Agent 框架中作为底层推理入口。
其技术价值主要体现在:
- 聚合 500+ 主流大模型,包括 GPT-5.4、Claude 4.6、Gemini 3.1 Pro 等;
- 新模型实时首发,开发者可以第一时间体验前沿 API;
- 统一接入接口,降低多模型集成复杂度;
- 通过统一 Base URL + API Key 方式接入,便于在不同 Agent、不同模型之间切换。
下面实战代码默认使用 claude-opus-4-6。该模型适合复杂推理、任务规划、代码生成和多步骤 Agent 编排,在长目标拆解和结构化输出场景中表现很强。
实战演示:用 Python 实现一个简化版 /goal + Kanban 多 Agent 编排器
下面的示例实现一个轻量级 Agent Orchestrator:
- 输入一个长期目标;
- 由 LLM 拆解任务;
- 写入 Kanban 状态;
- 模拟不同 Agent 执行;
- 自动进行总结与下一步规划。
安装依赖
bash
pip install openai python-dotenv
创建 .env 文件:
env
XUEDINGMAO_API_KEY=你的_API_KEY
完整代码示例
python
import os
import json
from dataclasses import dataclass, field
from typing import List, Dict, Literal
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
# 薛定猫AI:OpenAI 兼容模式
# 如果平台文档要求 /v1,请使用 https://xuedingmao.com/v1
client = OpenAI(
api_key=os.getenv("XUEDINGMAO_API_KEY"),
base_url="https://xuedingmao.com/v1"
)
MODEL_NAME = "claude-opus-4-6"
TaskStatus = Literal["todo", "in_progress", "review", "done"]
@dataclass
class Task:
"""Kanban 任务卡片"""
id: int
title: str
agent: str
status: TaskStatus = "todo"
result: str = ""
@dataclass
class KanbanBoard:
"""简化版 Kanban 看板"""
tasks: List[Task] = field(default_factory=list)
def add_task(self, title: str, agent: str) -> None:
self.tasks.append(Task(id=len(self.tasks) + 1, title=title, agent=agent))
def update_status(self, task_id: int, status: TaskStatus, result: str = "") -> None:
for task in self.tasks:
if task.id == task_id:
task.status = status
task.result = result
return
raise ValueError(f"Task {task_id} not found")
def snapshot(self) -> str:
"""输出当前看板状态,作为 Agent 上下文"""
return json.dumps(
[task.__dict__ for task in self.tasks],
ensure_ascii=False,
indent=2
)
class GoalOrchestrator:
"""模拟 Hermes /goal 的长期目标编排器"""
def __init__(self, goal: str):
self.goal = goal
self.board = KanbanBoard()
def call_llm(self, system_prompt: str, user_prompt: str) -> str:
"""调用大模型"""
response = client.chat.completions.create(
model=MODEL_NAME,
messages=[
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt}
],
temperature=0.2
)
return response.choices[0].message.content
def plan_tasks(self) -> None:
"""将长期目标拆解为多个 Agent 任务"""
system_prompt = """
你是一个资深 AI Agent 编排器。
请将用户目标拆解为 3 到 5 个可执行任务。
输出必须是 JSON 数组,每个元素包含 title 和 agent 字段。
agent 只能从 ResearchAgent、CodeAgent、ReviewAgent、DocAgent 中选择。
不要输出 Markdown。
"""
user_prompt = f"长期目标:{self.goal}"
raw = self.call_llm(system_prompt, user_prompt)
try:
tasks = json.loads(raw)
except json.JSONDecodeError:
raise RuntimeError(f"模型输出不是合法 JSON:{raw}")
for item in tasks:
self.board.add_task(
title=item["title"],
agent=item["agent"]
)
def execute_task(self, task: Task) -> str:
"""根据不同 Agent 角色执行任务"""
system_prompt = f"""
你是 {task.agent}。
你需要在一个多智能体工作流中完成指定任务。
要求:
1. 输出执行结果;
2. 明确关键结论;
3. 如果存在风险,请指出;
4. 内容保持工程化、可落地。
"""
user_prompt = f"""
长期目标:
{self.goal}
当前 Kanban 状态:
{self.board.snapshot()}
请执行任务:
{task.title}
"""
return self.call_llm(system_prompt, user_prompt)
def run(self) -> None:
"""执行 Plan → Execute → Review 的简化闭环"""
print("=== Step 1: Planning ===")
self.plan_tasks()
print(self.board.snapshot())
print("\n=== Step 2: Executing Tasks ===")
for task in self.board.tasks:
self.board.update_status(task.id, "in_progress")
result = self.execute_task(task)
self.board.update_status(task.id, "review", result=result)
print(f"\n[Task {task.id}] {task.title}")
print(result[:800])
print("\n=== Step 3: Final Review ===")
review_prompt = f"""
请基于以下 Kanban 执行结果,判断长期目标是否已经完成。
如果未完成,请给出下一轮任务建议。
Kanban:
{self.board.snapshot()}
"""
final_review = self.call_llm(
"你是负责验收多智能体任务的 ReviewAgent。",
review_prompt
)
for task in self.board.tasks:
self.board.update_status(task.id, "done", task.result)
print("\n=== Final Review Result ===")
print(final_review)
print("\n=== Final Kanban Board ===")
print(self.board.snapshot())
if __name__ == "__main__":
goal = "设计一个面向开发者的 AI Agent 项目管理系统,包含任务拆解、状态追踪、代码生成和结果验收能力"
orchestrator = GoalOrchestrator(goal)
orchestrator.run()
这段代码虽然没有直接控制桌面,但完整体现了 Hermes /goal 与 Kanban 的关键思想:目标拆解、Agent 分工、状态追踪、执行结果沉淀和最终复盘。真实工程中,可以继续接入 Playwright、浏览器 API、文件系统、数据库或桌面自动化工具,将 execute_task 扩展为真正的工具调用层。
注意事项
1. Computer Use 必须加入权限边界
Agent 一旦具备桌面操作能力,就必须设计权限控制,例如:
- 禁止访问敏感目录;
- 高风险操作需要人工确认;
- 文件删除、支付、邮件发送等动作必须加审批;
- 记录完整操作日志。
否则 Agent 的自动化能力越强,潜在风险越大。
2. 长期记忆要区分事实、偏好和临时上下文
长期记忆不是简单把所有历史对话塞进 Prompt。更合理的做法是:
- 项目信息进入结构化数据库;
- 用户偏好进入 Profile;
- 临时上下文进入短期记忆;
- 重要决策进入可检索知识库。
3. 多 Agent 系统需要可观测性
多智能体协同时,最常见的问题不是"模型不会做",而是"开发者不知道它做到了哪一步"。因此 Kanban、日志、任务 ID、状态机和执行记录非常重要。
4. /goal 模式要设置停止条件
长期自主循环必须设置边界:
- 最大迭代次数;
- 最大 Token 成本;
- 最大运行时间;
- 失败重试次数;
- 人工验收节点。
否则 Agent 可能陷入无效循环,造成资源浪费。
总结
Hermes Agent 新版展示了开源 Agent 系统的重要演进方向:从单次 Prompt 响应,升级为具备长期记忆、后台环境操作、多智能体协作和目标驱动循环的自主工作系统。
对开发者而言,真正值得关注的不是某一个单点功能,而是它背后的工程范式变化:
text
LLM → Agent → Multi-Agent Workspace → Autonomous Operating System
未来 AI 应用的核心竞争力,将不只来自模型能力本身,还来自任务编排、工具调用、安全边界、状态管理和长期记忆系统的工程实现。
#AI #大模型 #Python #机器学习 #技术实战