第26章 从规则到环境的范式转移 —— Harness 的下一个十年
目录
上一篇我们了解了 2026 年 Harness 生态全景。本章我们看范式转移——从规则到环境。
范式转移是什么
一句话定义:从编写规则约束 Agent,到构建环境塑造 Agent——范式转移。
Paradigm Shift = 规则 → 环境 定位:理解 Harness 未来发展方向
图表
代码
graph LR
subgraph OldParadigm["旧范式:规则"]
R1[编写规则
约束Agent行为]
R2[规则列表
deny/ask/allow]
R3[规则匹配
匹配规则控制]
R4[规则维护
不断更新规则]
end
subgraph NewParadigm["新范式:环境"]
E1[构建环境
塑造Agent行为]
E2[环境边界
沙箱/隔离]
E3[环境交互
Agent与环境交互]
E4[环境设计
设计环境约束]
end
OldParadigm -->|范式转移| NewParadigm
style OldParadigm fill:#FFE0E0
style NewParadigm fill:#E0FFE0graph LR
subgraph OldParadigm["旧范式:规则"]
R1[编写规则
约束Agent行为]
R2[规则列表
deny/ask/allow]
R3[规则匹配
匹配规则控制]
R4[规则维护
不断更新规则]
end
subgraph NewParadigm["新范式:环境"]
E1[构建环境
塑造Agent行为]
E2[环境边界
沙箱/隔离]
E3[环境交互
Agent与环境交互]
E4[环境设计
设计环境约束]
end
OldParadigm -->|范式转移| NewParadigm
style OldParadigm fill:#FFE0E0
style NewParadigm fill:#E0FFE0graph LR
subgraph OldParadigm["旧范式:规则"]
R1[编写规则
约束Agent行为]
R2[规则列表
deny/ask/allow]
R3[规则匹配
匹配规则控制]
R4[规则维护
不断更新规则]
end
subgraph NewParadigm["新范式:环境"]
E1[构建环境
塑造Agent行为]
E2[环境边界
沙箱/隔离]
E3[环境交互
Agent与环境交互]
E4[环境设计
设计环境约束]
end
OldParadigm -->|范式转移| NewParadigm
style OldParadigm fill:#FFE0E0
style NewParadigm fill:#E0FFE0graph LR
subgraph OldParadigm["旧范式:规则"]
R1[编写规则<br/>约束Agent行为]
R2[规则列表<br/>deny/ask/allow]
R3[规则匹配<br/>匹配规则控制]
R4[规则维护<br/>不断更新规则]
end
subgraph NewParadigm["新范式:环境"]
E1[构建环境<br/>塑造Agent行为]
E2[环境边界<br/>沙箱/隔离]
E3[环境交互<br/>Agent与环境交互]
E4[环境设计<br/>设计环境约束]
end
OldParadigm -->|范式转移| NewParadigm
style OldParadigm fill:#FFE0E0
style NewParadigm fill:#E0FFE0范式对比:
- 旧范式(规则):编写规则约束 Agent(deny/ask/allow 规则列表)
- 新范式(环境):构建环境塑造 Agent(沙箱、隔离、边界)
为什么需要范式转移
规则范式的局限
图表
代码
graph TB
subgraph RulesLimits["规则范式局限"]
L1[规则爆炸
规则数量爆炸]
L2[规则冲突
规则相互冲突]
L3[规则维护
维护成本高]
L4[规则不完备
无法覆盖所有场景]
end
style RulesLimits fill:#FFE0E0graph TB
subgraph RulesLimits["规则范式局限"]
L1[规则爆炸
规则数量爆炸]
L2[规则冲突
规则相互冲突]
L3[规则维护
维护成本高]
L4[规则不完备
无法覆盖所有场景]
end
style RulesLimits fill:#FFE0E0graph TB
subgraph RulesLimits["规则范式局限"]
L1[规则爆炸
规则数量爆炸]
L2[规则冲突
规则相互冲突]
L3[规则维护
维护成本高]
L4[规则不完备
无法覆盖所有场景]
end
style RulesLimits fill:#FFE0E0graph TB
subgraph RulesLimits["规则范式局限"]
L1[规则爆炸<br/>规则数量爆炸]
L2[规则冲突<br/>规则相互冲突]
L3[规则维护<br/>维护成本高]
L4[规则不完备<br/>无法覆盖所有场景]
end
style RulesLimits fill:#FFE0E0| 局限 | 说明 | 示例 |
|---|---|---|
| 规则爆炸 | 规则数量爆炸性增长 | 从 10 条规则增长到 1000+ 条 |
| 规则冲突 | 规则相互冲突 | deny 某操作,但 ask 又允许 |
| 规则维护 | 维护成本高 | 不断更新规则,耗时耗力 |
| 规则不完备 | 无法覆盖所有场景 | 新场景无规则,默认行为不确定 |
环境范式的优势
图表
代码
graph TB
subgraph EnvironmentAdvantages["环境范式优势"]
A1[环境边界
明确边界约束]
A2[环境塑造
环境塑造行为]
A3[环境简单
边界简单明了]
A4[环境完备
覆盖所有场景]
end
style EnvironmentAdvantages fill:#E0FFE0graph TB
subgraph EnvironmentAdvantages["环境范式优势"]
A1[环境边界
明确边界约束]
A2[环境塑造
环境塑造行为]
A3[环境简单
边界简单明了]
A4[环境完备
覆盖所有场景]
end
style EnvironmentAdvantages fill:#E0FFE0graph TB
subgraph EnvironmentAdvantages["环境范式优势"]
A1[环境边界
明确边界约束]
A2[环境塑造
环境塑造行为]
A3[环境简单
边界简单明了]
A4[环境完备
覆盖所有场景]
end
style EnvironmentAdvantages fill:#E0FFE0graph TB
subgraph EnvironmentAdvantages["环境范式优势"]
A1[环境边界<br/>明确边界约束]
A2[环境塑造<br/>环境塑造行为]
A3[环境简单<br/>边界简单明了]
A4[环境完备<br/>覆盖所有场景]
end
style EnvironmentAdvantages fill:#E0FFE0| 优势 | 说明 | 示例 |
|---|---|---|
| 环境边界 | 明确边界约束 Agent | 沙箱隔离,Agent 只能在沙箱内操作 |
| 环境塑造 | 环境塑造 Agent 行为 | 环境设计决定 Agent 可用能力 |
| 环境简单 | 边界简单明了 | 只需设计环境边界,无需编写大量规则 |
| 环境完备 | 覆盖所有场景 | 环境边界外一切禁止,边界内一切允许 |
范式转移的核心概念
环境(Environment)是什么
一句话定义:Agent 运行的边界和约束——物理沙箱、虚拟隔离、能力边界。
图表
代码
graph TB
Agent[Agent] -->|运行在| Environment[环境
沙箱/隔离]
Environment -->|提供| Tools[可用工具]
Environment -->|限制| Boundaries[边界约束]
Environment[Agent 只能在环境内操作
环境外一切禁止]graph TB
Agent[Agent] -->|运行在| Environment[环境
沙箱/隔离]
Environment -->|提供| Tools[可用工具]
Environment -->|限制| Boundaries[边界约束]
Environment[Agent 只能在环境内操作
环境外一切禁止]graph TB
Agent[Agent] -->|运行在| Environment[环境
沙箱/隔离]
Environment -->|提供| Tools[可用工具]
Environment -->|限制| Boundaries[边界约束]
Environment[Agent 只能在环境内操作
环境外一切禁止]graph TB
Agent[Agent] -->|运行在| Environment[环境<br/>沙箱/隔离]
Environment -->|提供| Tools[可用工具]
Environment -->|限制| Boundaries[边界约束]
Environment[Agent 只能在环境内操作<br/>环境外一切禁止]环境组成:
- 物理沙箱:隔离的物理环境(容器、虚拟机)
- 虚拟隔离:隔离的虚拟环境(命名空间、权限隔离)
- 能力边界:可用的工具和能力集合
环境设计原则
图表
代码
graph TB
subgraph DesignPrinciples["环境设计原则"]
D1[边界明确
环境边界清晰]
D2[能力受限
只提供必要能力]
D3[隔离保护
环境与外部隔离]
D4[可观察
环境可观察监控]
D5[可撤销
环境操作可撤销]
endgraph TB
subgraph DesignPrinciples["环境设计原则"]
D1[边界明确
环境边界清晰]
D2[能力受限
只提供必要能力]
D3[隔离保护
环境与外部隔离]
D4[可观察
环境可观察监控]
D5[可撤销
环境操作可撤销]
endgraph TB
subgraph DesignPrinciples["环境设计原则"]
D1[边界明确
环境边界清晰]
D2[能力受限
只提供必要能力]
D3[隔离保护
环境与外部隔离]
D4[可观察
环境可观察监控]
D5[可撤销
环境操作可撤销]
endgraph TB
subgraph DesignPrinciples["环境设计原则"]
D1[边界明确<br/>环境边界清晰]
D2[能力受限<br/>只提供必要能力]
D3[隔离保护<br/>环境与外部隔离]
D4[可观察<br/>环境可观察监控]
D5[可撤销<br/>环境操作可撤销]
end| 原则 | 说明 | 实现方式 |
|---|---|---|
| 边界明确 | 环境边界清晰定义 | 定义沙箱边界 |
| 能力受限 | 只提供必要能力 | 白名单工具集合 |
| 隔离保护 | 环境与外部隔离 | 容器、命名空间 |
| 可观察 | 环境可观察监控 | 日志、监控 |
| 可撤销 | 环境操作可撤销 | 快照、回滚 |
环境范式的实现
环境类型
图表
代码
graph TB
subgraph EnvironmentTypes["环境类型"]
T1[物理沙箱
容器/虚拟机]
T2[虚拟隔离
命名空间/权限]
T3[能力沙箱
工具白名单]
T4[网络沙箱
网络隔离]
endgraph TB
subgraph EnvironmentTypes["环境类型"]
T1[物理沙箱
容器/虚拟机]
T2[虚拟隔离
命名空间/权限]
T3[能力沙箱
工具白名单]
T4[网络沙箱
网络隔离]
endgraph TB
subgraph EnvironmentTypes["环境类型"]
T1[物理沙箱
容器/虚拟机]
T2[虚拟隔离
命名空间/权限]
T3[能力沙箱
工具白名单]
T4[网络沙箱
网络隔离]
endgraph TB
subgraph EnvironmentTypes["环境类型"]
T1[物理沙箱<br/>容器/虚拟机]
T2[虚拟隔离<br/>命名空间/权限]
T3[能力沙箱<br/>工具白名单]
T4[网络沙箱<br/>网络隔离]
end| 环境类型 | 说明 | 实现技术 | 适用场景 |
|---|---|---|---|
| 物理沙箱 | 隔离的物理环境 | Docker、VM | 高安全需求 |
| 虚拟隔离 | 隔离的虚拟环境 | Namespace、UID | 中等安全需求 |
| 能力沙箱 | 工具和能力白名单 | Harness 权限系统 | 基本安全需求 |
| 网络沙箱 | 网络隔离 | 网络策略 | 网络安全需求 |
物理沙箱实现
Docker 容器沙箱:
# Docker 沙箱配置示例
version: '3'
services:
agent-sandbox:
image: agent-runtime:latest
container_name: agent-sandbox
# 文件系统隔离
volumes:
- /safe/workspace:/workspace:rw # 只允许访问安全目录
- /safe/output:/output:rw
# 网络隔离
networks:
- sandbox-network
# 能力限制
cap_drop:
- ALL # 移除所有能力
# 用户隔离
user: "1000:1000" # 非 root 用户
# 资源限制
deploy:
resources:
limits:
cpus: '2'
memory: 4G
networks:
sandbox-network:
internal: true # 内部网络,无外部访问沙箱特点:
| 特点 | 说明 | 价值 |
|---|---|---|
| 文件系统隔离 | 只允许访问安全目录 | 防止文件系统破坏 |
| 网络隔离 | 内部网络,无外部访问 | 防止网络泄露 |
| 能力限制 | 移除所有能力 | 防止权限滥用 |
| 用户隔离 | 非 root 用户运行 | 防止权限提升 |
| 资源限制 | CPU/内存限制 | 防止资源耗尽 |
虚拟隔离实现
Linux Namespace 隔离:
# 创建隔离环境(简化示例)
# 1. 创建新的命名空间
unshare --mount --uts --ipc --net --pid --fork --user
# 2. 在命名空间内运行 Agent
# 文件系统隔离:只能看到允许的文件
mount --bind /safe/workspace /workspace
# 网络隔离:只有内部网络
ip link set dev lo up
# 用户隔离:独立的 UID/GID 映射
echo "1000 1000 1" > /proc/self/uid_map
# 运行 Agent
./agent-runtimeNamespace 特点:
| Namespace | 隔离内容 | 说明 |
|---|---|---|
| mount | 文件系统 | 独立文件系统视图 |
| uts | 主机名 | 独立主机名 |
| ipc | IPC 资源 | 独立 IPC |
| net | 网络 | 独立网络栈 |
| pid | 进程 ID | 独立 PID 空间 |
| user | 用户 ID | 独立 UID/GID |
能力沙箱实现
Harness 能力白名单:
{
"environment": {
"type": "capability-sandbox",
"allowed_tools": [
"Read", // 只允许读取
"Glob", // 只允许搜索
"Grep", // 只允许搜索内容
"Bash" // 只允许安全命令
],
"denied_tools": [
"Write", // 禁止写入
"Edit", // 禁止编辑
"Bash" // 禁止危险命令
],
"allowed_paths": [
"/workspace/**", // 只允许访问 workspace
"/tmp/**" // 允许临时文件
],
"denied_paths": [
"/bin/**", // 禁止系统目录
"/usr/**",
"/etc/**",
".env" // 禁止敏感文件
],
"allowed_commands": [
"ls", // 只允许安全命令
"cat",
"grep",
"npm test" // 允许测试
],
"denied_commands": [
"rm", // 禁止危险命令
"sudo",
"chmod"
]
}
}能力沙箱特点:
| 特点 | 说明 | 价值 |
|---|---|---|
| 工具白名单 | 只允许指定工具 | 限制能力范围 |
| 路径白名单 | 只允许指定路径 | 限制访问范围 |
| 命令白名单 | 只允许安全命令 | 限制命令范围 |
| 禁止列表 | 明确禁止列表 | 双重保险 |
环境范式的设计思想
设计格言
“设计环境, 而不是编写规则” —— 构建环境塑造 Agent,而不是编写规则约束 Agent
设计思维转变
图表
代码
graph LR
subgraph OldMindset["旧思维"]
O1[编写规则
约束Agent]
O2[规则列表
deny/ask/allow]
O3[不断添加规则
覆盖新场景]
end
subgraph NewMindset["新思维"]
N1[设计环境
塑造Agent]
N2[环境边界
沙箱/隔离]
N3[设计边界
覆盖所有场景]
end
OldMindset -->|思维转变| NewMindset
style OldMindset fill:#FFE0E0
style NewMindset fill:#E0FFE0graph LR
subgraph OldMindset["旧思维"]
O1[编写规则
约束Agent]
O2[规则列表
deny/ask/allow]
O3[不断添加规则
覆盖新场景]
end
subgraph NewMindset["新思维"]
N1[设计环境
塑造Agent]
N2[环境边界
沙箱/隔离]
N3[设计边界
覆盖所有场景]
end
OldMindset -->|思维转变| NewMindset
style OldMindset fill:#FFE0E0
style NewMindset fill:#E0FFE0graph LR
subgraph OldMindset["旧思维"]
O1[编写规则
约束Agent]
O2[规则列表
deny/ask/allow]
O3[不断添加规则
覆盖新场景]
end
subgraph NewMindset["新思维"]
N1[设计环境
塑造Agent]
N2[环境边界
沙箱/隔离]
N3[设计边界
覆盖所有场景]
end
OldMindset -->|思维转变| NewMindset
style OldMindset fill:#FFE0E0
style NewMindset fill:#E0FFE0graph LR
subgraph OldMindset["旧思维"]
O1[编写规则<br/>约束Agent]
O2[规则列表<br/>deny/ask/allow]
O3[不断添加规则<br/>覆盖新场景]
end
subgraph NewMindset["新思维"]
N1[设计环境<br/>塑造Agent]
N2[环境边界<br/>沙箱/隔离]
N3[设计边界<br/>覆盖所有场景]
end
OldMindset -->|思维转变| NewMindset
style OldMindset fill:#FFE0E0
style NewMindset fill:#E0FFE0| 思维转变 | 旧思维 | 新思维 |
|---|---|---|
| 约束方式 | 编写规则约束 | 设计环境塑造 |
| 约束数量 | 规则数量爆炸 | 环境边界简单 |
| 约束覆盖 | 不断添加规则 | 设计边界覆盖所有 |
| 约束维护 | 规则维护成本高 | 环境设计一次性 |
范式转移的时间线
范式转移时间线
图表
代码
timeline
title 范式转移时间线
2025 : 规则范式主导
deny/ask/allow
2025-06 : 能力沙箱出现
工具白名单
2026 : 物理沙箱应用
Docker/VM
2026-03 : 环境范式兴起
环境设计
2026-05 : 混合范式
规则 + 环境
2027 : 环境范式成熟
环境主导timeline
title 范式转移时间线
2025 : 规则范式主导
deny/ask/allow
2025-06 : 能力沙箱出现
工具白名单
2026 : 物理沙箱应用
Docker/VM
2026-03 : 环境范式兴起
环境设计
2026-05 : 混合范式
规则 + 环境
2027 : 环境范式成熟
环境主导timeline
title 范式转移时间线
2025 : 规则范式主导
deny/ask/allow
2025-06 : 能力沙箱出现
工具白名单
2026 : 物理沙箱应用
Docker/VM
2026-03 : 环境范式兴起
环境设计
2026-05 : 混合范式
规则 + 环境
2027 : 环境范式成熟
环境主导timeline
title 范式转移时间线
2025 : 规则范式主导<br/>deny/ask/allow
2025-06 : 能力沙箱出现<br/>工具白名单
2026 : 物理沙箱应用<br/>Docker/VM
2026-03 : 环境范式兴起<br/>环境设计
2026-05 : 混合范式<br/>规则 + 环境
2027 : 环境范式成熟<br/>环境主导阶段说明
| 阶段 | 时间 | 范式 | 说明 |
|---|---|---|---|
| 规则范式主导 | 2025 | 规则范式 | deny/ask/allow 三级规则 |
| 能力沙箱出现 | 2025-06 | 能力沙箱 | 工具白名单、能力限制 |
| 物理沙箱应用 | 2026 | 物理沙箱 | Docker、VM 隔离 |
| 环境范式兴起 | 2026-03 | 环境范式 | 环境设计思想兴起 |
| 混合范式 | 2026-05 | 混合 | 规则 + 环境混合 |
| 环境范式成熟 | 2027 | 环境范式 | 环境范式主导 |
范式转移的影响
对 Harness 设计的影响
图表
代码
graph TB
subgraph Impact["对 Harness 设计的影响"]
I1[权限系统简化
环境边界替代规则]
I2[工具系统变化
能力白名单]
I3[MCP 连接隔离
MCP 连接受环境限制]
I4[Agent 运行隔离
Agent 在环境内运行]
endgraph TB
subgraph Impact["对 Harness 设计的影响"]
I1[权限系统简化
环境边界替代规则]
I2[工具系统变化
能力白名单]
I3[MCP 连接隔离
MCP 连接受环境限制]
I4[Agent 运行隔离
Agent 在环境内运行]
endgraph TB
subgraph Impact["对 Harness 设计的影响"]
I1[权限系统简化
环境边界替代规则]
I2[工具系统变化
能力白名单]
I3[MCP 连接隔离
MCP 连接受环境限制]
I4[Agent 运行隔离
Agent 在环境内运行]
endgraph TB
subgraph Impact["对 Harness 设计的影响"]
I1[权限系统简化<br/>环境边界替代规则]
I2[工具系统变化<br/>能力白名单]
I3[MCP 连接隔离<br/>MCP 连接受环境限制]
I4[Agent 运行隔离<br/>Agent 在环境内运行]
end| 影响 | 说明 | 变化 |
|---|---|---|
| 权限系统简化 | 环境边界替代大量规则 | deny/ask/allow → 环境边界 |
| 工具系统变化 | 能力白名单替代规则匹配 | 规则匹配 → 白名单检查 |
| MCP 连接隔离 | MCP 连接受环境限制 | MCP 服务器需环境内 |
| Agent 运行隔离 | Agent 在环境内运行 | Agent → 环境 → 工具 |
对开发者的影响
图表
代码
graph TB
subgraph DeveloperImpact["对开发者的影响"]
D1[设计思维转变
设计环境而非规则]
D2[开发成本降低
环境设计一次性]
D3[维护成本降低
环境维护简单]
D4[安全提升
环境隔离更安全]
end
style DeveloperImpact fill:#E0FFE0graph TB
subgraph DeveloperImpact["对开发者的影响"]
D1[设计思维转变
设计环境而非规则]
D2[开发成本降低
环境设计一次性]
D3[维护成本降低
环境维护简单]
D4[安全提升
环境隔离更安全]
end
style DeveloperImpact fill:#E0FFE0graph TB
subgraph DeveloperImpact["对开发者的影响"]
D1[设计思维转变
设计环境而非规则]
D2[开发成本降低
环境设计一次性]
D3[维护成本降低
环境维护简单]
D4[安全提升
环境隔离更安全]
end
style DeveloperImpact fill:#E0FFE0graph TB
subgraph DeveloperImpact["对开发者的影响"]
D1[设计思维转变<br/>设计环境而非规则]
D2[开发成本降低<br/>环境设计一次性]
D3[维护成本降低<br/>环境维护简单]
D4[安全提升<br/>环境隔离更安全]
end
style DeveloperImpact fill:#E0FFE0| 影响 | 说明 | 变化 |
|---|---|---|
| 设计思维转变 | 设计环境而非规则 | 规则思维 → 环境思维 |
| 开发成本降低 | 环境设计一次性 | 规则爆炸 → 环境边界 |
| 维护成本降低 | 环境维护简单 | 规则维护 → 环境维护 |
| 安全提升 | 环境隔离更安全 | 规则保护 → 环境隔离 |
案例对比:规则范式 vs 环境范式
案例场景
场景:Agent 需要访问文件系统,但不允许访问敏感文件。
规则范式实现
{
"permissions": {
"deny": [
{"tool": "Read", "file_path": ".env"},
{"tool": "Read", "file_path": "*credentials*"},
{"tool": "Read", "file_path": "*secret*"},
{"tool": "Read", "file_path": "/etc/*"},
{"tool": "Read", "file_path": "/bin/*"},
{"tool": "Write", "file_path": "/**"},
{"tool": "Edit", "file_path": "/**"}
],
"ask": [
{"tool": "Write"},
{"tool": "Edit"}
],
"allow": [
{"tool": "Read"}
]
}
}问题:
- 规则数量多(6 条 deny + 2 条 ask + 1 条 allow)
- 新敏感文件需添加新规则
- 规则维护成本高
环境范式实现
environment:
type: physical-sandbox
volumes:
- /workspace:/workspace:rw # 只允许 workspace
- /tmp:/tmp:rw # 允许临时文件
denied_volumes:
- /etc # 禁止系统目录
- /bin
- /usr
denied_files:
- .env # 禁止敏感文件
- "*credentials*"
- "*secret*"优势:
- 环境边界简单(2 个允许 volume + 3 个禁止 volume)
- 新敏感文件自动受禁止文件模式覆盖
- 环境设计一次性,维护简单
对比总结
| 维度 | 规则范式 | 环境范式 |
|---|---|---|
| 配置数量 | 9 条规则 | 5 个边界定义 |
| 维护成本 | 高(不断添加规则) | 低(一次性设计) |
| 覆盖完备 | 不完备(新场景需新规则) | 完备(边界覆盖所有) |
| 安全级别 | 中(规则保护) | 高(环境隔离) |
范式转移的未来
2027 年展望
图表
代码
graph TB
subgraph Future2027["2027 年展望"]
F1[环境范式成熟
环境设计主导]
F2[混合范式过渡
规则 + 环境]
F3[标准化推进
环境设计标准化]
F4[工具链成熟
环境设计工具]
end
style Future2027 fill:#E0FFE0graph TB
subgraph Future2027["2027 年展望"]
F1[环境范式成熟
环境设计主导]
F2[混合范式过渡
规则 + 环境]
F3[标准化推进
环境设计标准化]
F4[工具链成熟
环境设计工具]
end
style Future2027 fill:#E0FFE0graph TB
subgraph Future2027["2027 年展望"]
F1[环境范式成熟
环境设计主导]
F2[混合范式过渡
规则 + 环境]
F3[标准化推进
环境设计标准化]
F4[工具链成熟
环境设计工具]
end
style Future2027 fill:#E0FFE0graph TB
subgraph Future2027["2027 年展望"]
F1[环境范式成熟<br/>环境设计主导]
F2[混合范式过渡<br/>规则 + 环境]
F3[标准化推进<br/>环境设计标准化]
F4[工具链成熟<br/>环境设计工具]
end
style Future2027 fill:#E0FFE0| 展望 | 说明 | 时间 |
|---|---|---|
| 环境范式成熟 | 环境设计主导 Harness | 2027 |
| 混合范式过渡 | 规则 + 环境混合过渡 | 2026-2027 |
| 标准化推进 | 环境设计标准化 | 2027 |
| 工具链成熟 | 环境设计工具链成熟 | 2027-2028 |
本章小结
- 范式转移定义:从规则约束 Agent 到环境塑造 Agent
- 规则范式局限:规则爆炸、规则冲突、规则维护、规则不完备
- 环境范式优势:环境边界、环境塑造、环境简单、环境完备
- 环境定义:Agent 运行的边界和约束——物理沙箱、虚拟隔离、能力边界
- 环境设计原则:边界明确、能力受限、隔离保护、可观察、可撤销
- 环境类型:物理沙箱(Docker/VM)、虚拟隔离(Namespace)、能力沙箱(白名单)、网络沙箱
- 物理沙箱实现:Docker 文件系统隔离、网络隔离、能力限制、用户隔离、资源限制
- 虚拟隔离实现:Linux Namespace(mount/uts/ipc/net/pid/user)
- 能力沙箱实现:工具白名单、路径白名单、命令白名单、禁止列表
- 设计格言:设计环境,而不是编写规则
- 思维转变:编写规则 → 设计环境、规则爆炸 → 环境边界、不断添加 → 一次性设计
- 范式转移时间线:2025 规则主导 → 2027 环境成熟
- 对 Harness 影响:权限简化、工具变化、MCP 隔离、Agent 运行隔离
- 对开发者影响:思维转变、成本降低、维护降低、安全提升
- 案例对比:规则范式(9 条规则)vs 环境范式(5 个边界)
- 2027 年展望:环境范式成熟、混合范式过渡、标准化推进、工具链成熟
预告:下一篇我们展望智能体的未来。
相关内容
- 第01章 Agent 的 70 年简史 —— 从符号推理到深度学习
- 第02章 LLM 时代的 Agent 革命 —— 2023-2026 爆发期
- 第03章 Harness 概念溯源 —— "模型是大脑,Harness是身体"
- 第04章 Harness 核心架构 —— 四层模型详解
- 第05章 Harness vs Agent vs Model —— 三者关系辨析
收录于 合集・01-AI 工具与智能体/07-Harness 27
如果这篇文章对你有帮助,欢迎请我喝杯咖啡 ☕
支付宝
微信