惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cisco Talos Blog
Cisco Talos Blog
V
V2EX
C
Check Point Blog
GbyAI
GbyAI
D
Docker
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
Netflix TechBlog - Medium
T
Troy Hunt's Blog
博客园 - Franky
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Microsoft Security Blog
Microsoft Security Blog
P
Privacy & Cybersecurity Law Blog
WordPress大学
WordPress大学
The Cloudflare Blog
S
SegmentFault 最新的问题
Latest news
Latest news
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
I
InfoQ
博客园 - 【当耐特】
NISL@THU
NISL@THU
A
About on SuperTechFans
T
Tailwind CSS Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
The Hacker News
The Hacker News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Scott Helme
Scott Helme
雷峰网
雷峰网
C
CXSECURITY Database RSS Feed - CXSecurity.com
Security Latest
Security Latest
V
Vulnerabilities – Threatpost
Security Archives - TechRepublic
Security Archives - TechRepublic
A
Arctic Wolf
Hacker News: Ask HN
Hacker News: Ask HN
N
News and Events Feed by Topic
IT之家
IT之家
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
aimingoo的专栏
aimingoo的专栏
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
SecWiki News
SecWiki News
大猫的无限游戏
大猫的无限游戏
S
Security Affairs
The Register - Security
The Register - Security
www.infosecurity-magazine.com
www.infosecurity-magazine.com
L
LINUX DO - 热门话题
T
Tor Project blog

博客园 - iTech

7万星的AI交易框架:让大模型模拟投行多空辩论,自动做交易决策 71000颗星的AI交易团队:让大模型模拟投行分工,自动做交易决策 13400颗星的开源项目:输入一句话,AI全自动帮你做短视频 102颗星的沙盒:当AI学会自己写代码、跑测试、做部署 AI 技术日报 - 2026-05-08 29k 星的 PageIndex:不用向量数据库,靠推理就能做 RAG 每天花两小时刷信息?这个开源项目帮你全自动搞定 读源码像读小说?试了 DeepWiki 和 Zread,我再也不想裸读 GitHub 了 Matt Pocock 开源的这套 .claude 技能,为什么让工程师集体上头? Cursor Team Kit:Cursor 官方团队在用的 17 个 AI 工作流 AI 技术日报 - 2026-05-07 AI 技术日报 - 2026-05-06 AI 技术日报 - 2026-05-05 Anthropic CEO 说 12 个月内程序员要失业,我扒完他的底牌,发现事情没那么简单 把工程师的肌肉记忆装进 Claude Code,这个 4300 Star 的项目我后悔没早用 AI 技术日报 - 2026-05-04 AI 技术日报 - 2026-05-03 AI 技术日报 - 2026-05-02 六大 Agent 框架横评:谁支持 Skills?谁能自动创建 Agent?MCP 呢? Wechatsync:一个 Chrome 插件,一键把文章同步到 31 个平台 LangChain 开源了 Open SWE:Stripe、Ramp、Coinbase 内部都在造的编程 Agent Cockpit:把 Claude Code 从终端里搬出来,装进浏览器 Cursor 把自家的 AI Agent 开放了:写几行 TypeScript 就能调 Cursor 干活 AI 技术日报 - 2026-05-01 AI 写代码每次结果都不一样?Archon 用 YAML 工作流把 AI 编程变成流水线 AI 写代码比你快了,但你还是得学编程——只不过学法得换 腾讯的龙虾特工队:4 个 AI Agent 同日更新,全家桶正式成型 Agno 不做更聪明的 Agent,它要把所有 Agent 框架包进同一个操作系统 Hermes Agent 终于有了像样的 Web 界面,而且还支持远程访问 Datawhale 出了一套 29 学科知识地图,把 AI 的底牌全掀了 Hermes Agent 在聊天框里就能用的 20 种高级功能 一份 AGENTS.md 能顶一次模型升级?Augment Code 用数据说了算 NVIDIA 开源了一个「AI 沙箱」,20K Star,让 Agent 跑代码不再裸奔 60ms 冷启动、5MB 内存:腾讯开源的这个沙箱让 Docker 安全隔离像笑话 AI 技术日报 - 2026-04-30 AI 技术日报 - 2026-04-29 AI 技术日报 - 2026-04-28 Goose:Linux 基金会亲儿子,能撼动 Claude Code 和 OpenCode 吗? AI 技术日报 - 2026-04-27 AI 技术日报 - 2026-04-26 Google 把价值20美元/月的东西免费了,102K人已经抢到了 OpenClaw 和 Claude Code 网络搜索配置指南 AI 技术日报 - 2026-04-25 Anthropic 为什么遥遥领先:从 Cat Wu 专访看AI霸主的底层逻辑 Mac 本地跑大模型完全指南:你的苹果电脑就是 AI 工作站 同样 70B 参数,为什么 MoE 只激活 13B 就能打平 Dense? DeepSeek-V4 技术报告里藏着一条线:华为昇腾 NPU 已完成推理验证 DeepSeek-V4 深夜炸场:1M 上下文、384K 输出、双模型,API 定价直接卷到底 MacBook Air 跑大模型实测:Ollama、llama.cpp、LM Studio 谁才是本地推理之王? AI 技术日报 - 2026-04-24 OpenCode:Claude Code 的最佳平替 2026 开源大模型五国杀:Qwen 3.6 vs Gemma 4 vs Llama 4 vs GLM-5.1 vs DeepSeek V4 MCP 与 Skills 的你死我活:Anthropic 的 Agent 生态野心与开发者的站队困境 给 AI Agent 配搜索,国内能用的搜索 API 实测对比 AI 技术日报 - 2026-04-23 CC Switch:49K Star 的 Claude Code 登录绕过神器,还能管 Codex 和 Gemini CLI NVIDIA 开出 32 万美元年薪招 AI Agent 工程师,JD 里藏着这些信号 fast-mirror-skill 技术拆解:一个小而完整的 Claude Skill 是怎么设计的 Cursor 值 600 亿美元?马斯克这次赌的不是技术,是入口 AI 技术日报 - 2026-04-22 别再问 AI 能不能赚钱了:3 个上班族亲测有效的副业方法(2026 最新版) 10 分钟从零搞定 Hermes Agent:飞书微信双通道丝滑上线 AI 技术日报 - 2026-04-21 Anthropic 实战总结:AI Agent 的 3 种工作流模式,选错代价很大 安装 openclaw,hermes 慢的想发疯,fast-mirror-skill 来救了 Claude Routines:你下班睡觉了,Agent 还在为你干活 微信飞书里敲一个斜杠就能干活:Hermes Quick Command 到底多省事 AI 正在疯狂吃电:算力尽头是电力,谁能解这道题? AI 技术日报 - 2026-04-20 3K 行代码造一个越用越聪明的 AI Agent:GenericAgent 登顶 GitHub Trending 高德途途封神机器人半马,背后的 ABot-Claw 到底是什么 人们希望 AI 能干啥?Anthropic 调查:第一名不是赚钱,是变强 AI 时代人们在担心什么?Anthropic 的 13 条焦虑排行榜 OpenAI 官方 Agent SDK 来了:22k Star,支持 100+ 模型,Python 10 行代码上手 AI 技术日报 - 2026-04-19 OpenAgents Workspace:让 Claude Code 和 Codex 在同一个群里干活 Claude 是要干掉整个软件行业吗? Claude 官方推荐多 Agents 设计模式 多 Agent 系统的 5 种协调模式:选错了模式,再强的 Agent 也白搭 AI 技术日报 - 2026-04-18 AI 技术日报 - 2026-04-17 Better-Harness:让AI Agent自己优化自己的革命性框架 OpenClaw Workspace 完全指南:我的AI编程工作流 DeepSeek内蒙草原高薪招聘:AI时代的数字牧民梦,还是营销噱头? 2 核 2G 的阿里云 ECS 能跑 OpenClaw 吗?能,但有点折腾 AI 技术日报 - 2026-04-16 OpenCLI:一个命令行搞定 16+ 内容平台的神器 从零到精通:OpenClaw CLI 命令完全指南 AI 技术日报 - 2026-04-15 AI Agent 如何自我进化?Hermes Agent Self-Evolution 深度解析 AI 技术日报 - 2026-04-14 为什么你的飞书 Bot 总是连不上?OpenClaw Gateway 架构深度解析 OpenClaw 连接飞书的原理:Gateway、Channel 与消息流转 国内安装 Hermes Agent 踩坑全记录:从 GitHub 超时到正常跑起来的每一步 35 万 Star 的 OpenClaw:5 分钟部署你的私人 AI 助手,直连飞书 AI 技术日报 - 2026-04-13 公司用 AI 筛简历,这个开源项目让候选人用 AI 反选公司 为什么 Google ADK 可能是你下一个 Agent 框架——7 个改变游戏规则的特性 Microsoft Agent Framework 深度解析:架构设计与实战落地 AI 技术日报 - 2026-04-11
拆解 Deep Agents 架构:中间件、后端、Profile 三板斧,这设计比我想的还深
iTech · 2026-05-13 · via 博客园 - iTech

上一篇文章我们聊了 Deep Agents 是什么。这篇我想钻进去,看看它到底是怎么设计的。

读完源码我最大的感受:这帮人真的把 Agent 当系统来设计,而不是当 demo 来写。 整个架构的核心是三个概念——中间件栈(Middleware Stack)、后端系统(Backends)、Profile 系统。把它们搞明白了,你就知道 Deep Agents 为什么能做到"开箱即用但完全可定制"。

本文提纲

  1. 整体架构:一个 LangGraph 图的秘密
  2. 中间件栈:Deep Agent 的灵魂
  3. 后端系统:9 种后端怎么选
  4. Profile 系统:一套代码适配所有模型
  5. 上下文管理:为什么 Agent 不会"变笨"

整体架构:一个 LangGraph 图的秘密

create_deep_agent() 返回的不是什么魔法对象,而是一个编译好的 LangGraph StateGraph

def create_deep_agent(...) -> CompiledStateGraph:
    return create_agent(
        model,
        system_prompt=final_system_prompt,
        tools=_tools,
        middleware=deepagent_middleware,
        ...
    ).with_config({
        "recursion_limit": 9_999,
    })

几个关键设计决策:

1. recursion_limit: 9_999 — 几乎无限的递归深度。普通 Agent 跑几轮就停了,Deep Agent 能一直跑直到任务完成。这是"深度"的物理基础。

2. DeltaChannel 消息压缩 — 自定义的 _DeepAgentStateDeltaChannel 替代普通 list 来存储消息,把 checkpoint 的增长从 O(N²) 降到 O(N)。简单说,对话越长,省得越多。

3. Prompt 分层组装 — 系统提示词由四部分按顺序拼接:

USER (你传的 system_prompt)
  ↓
BASE (SDK 默认的 deep agent prompt)
  ↓
CUSTOM (HarnessProfile 的 base_system_prompt,替代 BASE)
  ↓
SUFFIX (HarnessProfile 的 system_prompt_suffix,追加到最后)

你的指令永远在最前面,SDK 的默认行为在后面兜底。

中间件栈:Deep Agent 的灵魂

中间件是 Deep Agent 最核心的设计。整个栈按固定顺序排列:

MERMAID_BLOCK_0

每个中间件都有明确的职责:

TodoListMiddleware

给 Agent 注入 write_todos 工具。这不是简单的 TODO list——Agent 会用它在每一步更新进度,就像一个项目经理在看板前挪卡片。

FilesystemMiddleware

最重的中间件(源码 96KB),提供所有文件操作工具。亮点是权限系统:

permissions=[
    FilesystemPermission(path="/data", allow_read=True, allow_write=False),
    FilesystemPermission(path="/tmp", allow_write=True),
]

规则按声明顺序匹配,第一个命中就生效。子代理默认继承父代理的权限,也可以完全覆盖。

SubAgentMiddleware / AsyncSubAgentMiddleware

task 工具的底层实现。支持三种子代理:

  • SubAgent:声明式同步子代理,有自己的 prompt 和 tools
  • CompiledSubAgent:预编译的可运行子代理
  • AsyncSubAgent:远程异步子代理(通过 graph_id 路由到 LangSmith 部署的 Agent)

每个子代理都有独立的中间件栈和上下文窗口,不会互相污染。

SummarizationMiddleware

63KB 的源码,做得相当精细。当对话历史超过阈值时,自动触发摘要压缩。支持多种摘要策略,能根据模型类型选择最优方案。

MemoryMiddleware

跨对话的持久记忆。加载 AGENTS.md 文件注入到系统提示词中,让 Agent 能"记住"项目约定、用户偏好等信息。

HumanInTheLoopMiddleware

工具调用前的人工审批:

interrupt_on={"edit_file": True}  # 每次编辑文件前暂停等你确认

子代理可以继承或覆盖这个配置。

后端系统:9 种后端怎么选

后端(Backend)决定了 Agent 怎么存文件、怎么执行命令。Deep Agents 提供了 9 种后端:

MERMAID_BLOCK_1

StateBackend(默认)

最简单的后端,文件存在内存中的 dict 里。通过 invoke(files={...}) 传入。适合测试和简单场景。

FilesystemBackend

直接读写本地文件系统。设置 root_dir 作为根目录。适合本地开发。

LocalShellBackend

在本地执行 shell 命令。危险但有用。 适合你完全信任 Agent 的场景。

SandboxBackend

通过沙箱执行命令,支持远程沙箱(Daytona、Modal、Runloop)。execute 工具依赖实现了 SandboxBackendProtocol 的后端。

CompositeBackend

组合多个后端。比如文件操作用 FilesystemBackend,命令执行用 SandboxBackend:

backend = CompositeBackend(
    file=FilesystemBackend(root_dir="/workspace"),
    sandbox=SandboxBackend(provider="daytona"),
)

实际选择建议:开发用 StateBackend,本地跑用 FilesystemBackend,生产用 SandboxBackend + 远程沙箱。

Profile 系统:一套代码适配所有模型

这是我觉得最精妙的设计。

不同 LLM 的能力差异很大——Claude 擅长长上下文,GPT 擅长工具调用,开源模型需要更多引导。如果每种模型都写一套代码,维护成本爆炸。

HarnessProfile 让你用声明式的方式为不同模型定制行为:

from deepagents import HarnessProfile, register_harness_profile

@register_harness_profile
class MyModelProfile(HarnessProfile):
    excluded_tools: list[str] = ["execute"]  # 不给这个模型 shell 权限
    base_system_prompt: str = "你是一个安全的助手..."
    system_prompt_suffix: str = "注意:你没有文件执行权限。"
    extra_middleware: list = [MyCustomMiddleware()]

框架会根据当前使用的模型自动匹配对应的 Profile。你不需要写 if/else,只需要注册 Profile。

内置的 Profile 包括对 Anthropic、OpenAI、Google 等主流模型的适配,处理了 prompt 缓存、工具描述格式等差异。

上下文管理:为什么 Agent 不会"变笨"

普通 Agent 跑几轮就开始"胡说八道"——因为上下文窗口塞满了,LLM 的注意力开始涣散。

Deep Agents 用了三层防御:

1. 自动摘要 — SummarizationMiddleware 监控对话长度,超过阈值自动压缩历史消息。不是简单截断,是用 LLM 生成摘要保留关键信息。

2. 文件卸载 — 大输出(比如 ls 返回几千行)自动保存到文件,只在上下文里留一个引用。_messages_reducer 负责这个逻辑。

3. DeltaChannel — 自定义的消息存储方式,checkpoint 只存增量,不存全量。100 轮对话的 checkpoint 大小和 10 轮差不多。

这三层加起来,让 Deep Agent 能跑几百轮都不会"变笨"。


说实话,读完这套架构,我对 LangChain 团队的工程能力刮目相看。这不是一个"能跑的 demo",而是一个经过深思熟虑的生产级系统。每个设计决策都有明确的理由,每个中间件都有清晰的边界。

如果你想在自己的产品里用 Agent,别从零开始写了。站在 Deep Agents 的肩膀上,你只需要关注业务逻辑。


作者: itech001
来源: 公众号:AI人工智能时代
主页: https://www.theaiera.cn,每日分享最前沿的AI新闻和技术。

本文首发于 AI人工智能时代,转载请注明出处。