我花了半小时,把 OpenHarness 部署到了本地,然后突然看懂了什么叫 AI Agent
最近 AI Agent 很火。
OpenHands、Devin、Claude Code、Cursor、CodeX……
大家天天都在说:
Agent
Harness
Tool Calling
Memory
Multi-Agent
但说实话。
我之前对这些东西的理解,基本属于:
“懂了,但又没完全懂。”
直到我真的把一个 Harness 跑了起来。
这次折腾的是:
结果非常有意思。
因为它不像普通 AI 项目:
输入 -> 输出
而是:
输入
↓
AI 思考
↓
调用 Tool
↓
执行 Shell
↓
读取文件
↓
分析代码
↓
继续思考
↓
再次调用 Tool
那一刻你会突然意识到:
原来 AI Agent 真的是“会行动”的。
而不只是聊天机器人。
一、OpenHarness 到底是什么?
简单来说:
OpenHarness = 一个 AI Agent Runtime
它本质上是:
- Tool 调度器
- Agent Loop
- Memory 系统
- Shell 执行器
- Multi-Agent 基础设施
你可以理解成:
“AI 的操作系统”
或者:
“给大模型插上手脚”
它最核心的思想其实很简单:
while True:
think()
choose_tool()
execute_tool()
observe_result()
但真正难的是:
- 怎么管理上下文
- 怎么做 Tool 权限
- 怎么避免死循环
- 怎么做 Memory
- 怎么做多 Agent 协作
而 OpenHarness 已经把这些东西搭好了。
二、为什么我建议本地源码部署(别一上来 Docker)
很多人第一反应:
docker compose up
然后:
报错 × 10086
实际上。
对于学习 Agent Runtime 来说:
本地 Python 部署体验最好
因为:
Harness 本身大量依赖:
- Shell
- 文件系统
- Tool Runtime
- CLI
- 权限
Docker 会多出很多学习成本:
- volume
- tty
- 容器 shell
- 权限映射
- 文件挂载
你最后甚至会分不清:
到底是 Harness 坏了
还是 Docker 坏了。
所以我建议:
先本地跑通
理解架构后再容器化。
三、我的环境
我的环境:
Mac
Python 3.11
zsh
uv
OpenHarness 官方也推荐:
uv
这个东西现在非常猛。
可以理解成:
“下一代 Python 包管理器”
速度比 pip 快很多。
四、正式开始部署
1、安装 uv
Mac:
curl -LsSf https://astral.sh/uv/install.sh | sh
验证:
uv --version
2、克隆项目
git clone https://github.com/HKUDS/OpenHarness.git
进入目录:
cd OpenHarness
3、创建虚拟环境
uv venv
激活:
source .venv/bin/activate
这时候你会看到:
(OpenHarness)
说明进入虚拟环境了。
4、安装依赖
uv sync --extra dev
这里会安装:
- Agent Runtime
- Tool 系统
- CLI
- TUI
- Memory
- 各种依赖
第一次可能稍微久一点。
五、第一次启动,果然翻车了
启动:
uv run oh
结果:
Error: No API key configured.
我:
???
后来才发现。
OpenHarness 默认优先支持:
- Claude
- OpenAI
所以需要配置模型。
六、配置模型(重点)
直接执行:
oh setup
然后会让你配置:
Base URL
Model
API Key
因为我本身在用 OpenAI Compatible 接口。
所以直接填:
Base URL:
https://你的接口/v1
Model:
gpt-5.4 我是选的这个
API Key:
sk-xxxx
配置完之后:
再次启动:
uv run oh
然后。
那个经典界面终于出来了:
当时有一种:
“坏了,好像真进入 AI Agent 世界了。”
的感觉。
七、真正震撼的部分来了
我输入:
分析当前项目结构
然后它开始:
- 自己扫描目录
- 自己读 README
- 自己 grep
- 自己分析源码
- 自己总结结构
注意:
这里最关键的不是“回答”。
而是:
它开始主动调用 Tool 了

你会看到类似:
Tool: ls
Tool: glob
Tool: read_file
那一刻你会突然明白:
Agent ≠ 大模型
而是:
Agent = 大模型 + Tool Loop
这就是:
- Cursor
- Devin
- Claude Code
- OpenHands
真正的底层逻辑。
八、我第一次真正理解了什么叫 Harness
以前我理解 AI:
AI = 聊天
现在我开始理解:
AI = Runtime
AI = Tool Orchestrator
AI = Operating System
Harness 的核心:
其实就是:
“如何让 AI 安全地调用能力”
这里面最重要的几个目录:
1、engine/
这里是:
Agent Loop 核心
你会看到类似:
while True
这就是 Agent 的灵魂。
2、tools/
这里特别像:
Java 接口
本质:
@tool
def xxx():
把能力暴露给 AI。
比如:
- Shell
- 文件系统
- Git
- 搜索
- Browser
3、permissions/
这个特别重要。
因为企业级 Agent 最大问题不是:
AI 能不能做
而是:
AI 被允许做什么
所以这里会有:
- confirm
- sandbox
- allowlist
- denylist
4、coordinator/
这里是:
主Agent
↓
子Agent
↓
任务分发
也就是:
Multi-Agent
九、最有意思的一件事
后来我突然意识到。
我最近在做的:
AI项目理解平台
其实本质上:
就是:
给 Agent 增加新的 Tool
比如:
SpringBootProjectAnalyzerTool
能力:
- 扫描 Controller
- 分析 Service
- 提取 Mapper
- 生成调用链
- 输出架构图
这时候我突然有一种:
“原来大家都在造 AI Runtime。”
的感觉。
十、最后的感受
以前总感觉:
AI Agent 很玄学
但真正跑起来以后。
你会发现:
它其实非常工程化。
本质就是:
LLM
+
Tool
+
Loop
+
Memory
+
Planning
只是:
真正难的是:
“如何让 AI 稳定地行动”
这也是为什么:
很多 Agent 项目最后都会:
退化成 Workflow
因为:
“让 AI 真正自由行动”
其实是个非常难的工程问题。
十一、最后给想入门 Agent 的朋友一个建议
不要天天只看概念。
直接:
跑一个 Harness
因为:
你会在半小时内,
把过去半年听不懂的 Agent 概念全部串起来。
这比看 100 篇:
“什么是 AI Agent”
都有用。
项目地址
- OpenHarness:
结尾
以前我觉得:
AI 是聊天机器人。
现在我开始觉得:
AI 更像一个正在学会“操作电脑”的数字员工。
而 Harness。
就是它的:
手、脚、工具箱、记忆、以及工作台。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)