【AI】open claw框架说明
“Open Claw框架”(业内常指代 AI Agent Execution Framework / Coding Agent架构)是连接大模型与实际系统操作的执行层框架。它不是单一产品,而是一类让AI从"对话"进化到"动手执行"的技术架构统称(涵盖OpenAI Codex CLI、Claude Code、Kimi Agent SDK等)。
以下是该框架的完整技术剖析:
一、框架定位:从LLM到Action的桥梁
传统LLM调用: Open Claw框架: 用户提问 → 模型回答 用户目标 → 理解 → 规划 → 执行 → 验证 → 迭代 ↑________↓ ↑________________________↓ 纯文本交互 物理世界/代码/系统操作 核心使命:将模型的认知能力转化为系统级操作能力(文件读写、代码编译、命令执行、API调用)。
二、五层架构详解
第1层:输入层(Interface Layer)
职责:多模态意图捕获
- 终端界面:REPL交互(Claude Code/Codex CLI)
- IDE插件:VSCode/JetBrains扩展(Kimi Code)
- API接口:程序化调用(Agent SDK)
# 示例:自然语言输入捕获 user_input ="帮我重构这个Python项目,添加类型注解并运行测试" context ={"cwd":"/workspace/project","files": get_file_tree(),"history": load_conversation_memory()}第2层:理解层(Comprehension Layer)
职责:意图解析与任务分解
- 意图识别:区分"问答"vs"执行"
- 实体提取:识别文件路径、代码片段、工具名称
- 任务图生成:将目标拆解为可执行步骤(Todo List)
关键技术:
- Function Calling:模型输出结构化工具调用指令
- Chain-of-Thought:显式推理过程(“我需要先…然后…”)
第3层:规划层(Planning Layer)
职责:动态策略制定
- 依赖分析:识别任务间的先后关系
- 工具选择:从MCP工具箱中选择合适的工具
- 回滚策略:失败时的备选方案
# 生成的执行计划示例plan:-step:1action:"read_file"target:"main.py"purpose:"分析现有代码结构"-step:2action:"code_edit"target:"main.py"operation:"add_type_hints"-step:3action:"execute"command:"mypy ."validate:"exit_code == 0"第4层:执行层(Execution Layer)
职责:安全沙盒内的操作执行
| 组件 | 功能 | 技术实现 |
|---|---|---|
| Sandbox Manager | 隔离环境生命周期管理 | Firecracker microVM / Docker / E2B |
| Tool Executor | 具体工具调用执行 | MCP Client / 内置函数 |
| Permission Gate | 敏感操作审批 | 策略引擎(允许/拒绝/询问) |
| Stream Handler | 实时输出捕获 | STDOUT/STDERR重定向 |
执行类型:
- 文件操作:读/写/删/移动(带版本控制)
- 命令执行:Bash/PowerShell(沙盒内)
- 代码解释:Python/Node.js即时执行
- API调用:HTTP请求、数据库查询
第5层:反馈层(Feedback Layer)
职责:结果验证与状态更新
- 输出解析:从原始输出提取关键信息
- 错误诊断:分析失败原因(语法错误?权限不足?)
- 记忆持久化:将新信息写入长期记忆
- 人机确认:不确定时请求用户介入
三、四大核心技术支柱
1. MCP(Model Context Protocol)
开放工具集成标准(Anthropic提出,现已成为事实标准)
┌─────────────┐ MCP协议 ┌─────────────┐ │ Agent │ ←────────────────→ │ Tool Server │ │ (Client) │ stdio / SSE │ (GitHub/DB等)│ └─────────────┘ └─────────────┘ 能力:
- 工具发现(动态获取可用工具列表)
- 双向通信(工具可请求用户确认)
- 跨平台(任何语言实现的工具都可接入)
2. Sandbox(沙盒隔离)
安全执行的关键
| 隔离级别 | 技术 | 适用场景 |
|---|---|---|
| 进程级 | seccomp + cgroup | 快速命令执行 |
| 容器级 | Docker + gVisor | 代码编译运行 |
| VM级 | Firecracker microVM | 不可信代码执行 |
| 远端级 | E2B Cloud Sandbox | 企业级安全要求 |
安全策略:
- 文件系统:只读挂载工作目录,/tmp可写
- 网络:默认阻断,白名单制开放
- 资源:CPU/内存/时间配额限制
- 审计:完整操作日志记录
3. Memory Architecture(记忆架构)
持久化上下文管理
工作记忆(Working Memory) ↓ 筛选重要信息 短期记忆(Short-term) ↓ 持久化存储 长期记忆(Long-term) ├─ 情节记忆:对话历史、项目里程碑 ├─ 语义记忆:用户偏好、编码风格 └─ 程序记忆:常用工作流、Skills 实现技术:
- 向量数据库:语义检索(Chroma/Milvus)
- 知识图谱:关系推理(Zep/Mem0)
- 传统数据库:精确事实(SQLite/PostgreSQL)
4. ACP/Agent Protocol(智能体协议)
标准化Agent行为(如Kimi提出的Agent Communication Protocol)
- 状态机定义:Agent的生命周期(Idle/Planning/Executing/Waiting)
- 消息格式:标准化Observation/Action格式
- 安全边界:定义哪些操作必须人工确认
四、安全与权限模型
三层防御体系
| 层级 | 机制 | 示例 |
|---|---|---|
| 预防层 | 静态分析 | 命令注入检测、敏感文件访问拦截 |
| 执行层 | 沙盒隔离 | Docker容器、网络隔离、资源限制 |
| 审计层 | 操作日志 | 完整命令历史、文件变更记录 |
权限审批策略
# 权限决策逻辑defcheck_permission(operation, target):if operation in whitelist["auto_approve"]:return"EXECUTE"elif operation in blacklist["deny"]:return"REJECT"elif risk_score(operation, target)> threshold:return"ASK_USER"# 弹出确认对话框else:return"EXECUTE"YOLO模式(高级用户):
- 通过配置文件关闭确认(
--dangerously-skip-permissions) - 适用于自动化流水线,但风险自负
五、主流实现对比
| 框架 | 开发商 | 架构特点 | 适用场景 |
|---|---|---|---|
| Codex CLI | OpenAI | Skills系统、沙盒执行、云端模型 | 快速原型、脚本任务 |
| Claude Code | Anthropic | MCP原生支持、本地优先、渐进式执行 | 大型代码库重构 |
| Kimi Code | Moonshot | ACP协议、开源SDK、多模态输入 | 企业集成、自定义Agent |
| AutoGLM | Zhipu | 端侧执行、手机GUI操作 | 移动端自动化 |
| OpenClaw | 开源社区 | 消息平台集成、插件化 | 社交机器人 |
六、开发范式与最佳实践
1. 渐进式执行(Claude Code模式)
- 每一步执行前展示计划(Todo List)
- 用户可随时干预(Ctrl+C暂停、修改指令)
- 失败时自动重试或降级
2. 工具即代码(Skills)
将常用工作流封装为可复用Skills:
# deploy_skill.yamlname:"deploy_to_vercel"description:"构建并部署到Vercel"steps:-run:"npm run build"-run:"vercel --prod"-confirm:"部署完成,是否打开预览?"3. 人机协作回路(Human-in-the-loop)
- 关键决策点:删除文件、网络请求、敏感数据操作必须确认
- 异常处理:执行失败时提供选项(重试/跳过/修改计划)
七、总结:Open Claw的本质
Open Claw = LLM(大脑)+ MCP(工具手)+ Sandbox(安全笼)+ Memory(经验库)
它不是简单的"命令行包装器",而是一个认知-执行闭环系统:
- 理解:将模糊的人类意图转化为结构化计划
- 执行:在受控环境中安全地操作物理世界(代码/文件/系统)
- 记忆:从交互中学习,形成个性化能力
- 进化:通过Skills和MCP不断扩展能力边界
这类框架代表了AI从Advice-Giving(给建议)到Action-Taking(去执行)的范式转移,是未来AI Agent操作系统的核心架构。