揭秘AI超级Agent:DeerFlow工业化设计全攻略(非常详细),从架构到实现,收藏这一篇就够了!

「文智助手」全场景办公AI助理AI+OPC全流程实践方案(大赛作品) 阅读详情

引言:当AI Agent走向工业化时代

2026年3月,字节跳动开源的DeerFlow 2.0(Deep Exploration and Efficient Research Flow)在GitHub上引发轰动。这不是一个简单的聊天机器人,而是一个能够真正"做事"的AI超级Agent——它可以独立进行深度研究、生成PPT、编写代码、分析数据,甚至协调多个子Agent并行工作完成复杂任务。

为什么DeerFlow值得深度研究?

与传统的单轮对话式AI不同,DeerFlow赋予了AI真实的"计算机"能力:文件系统、代码执行环境、网络访问权限,以及最关键的——并行子Agent编排能力。这意味着它不再是纸上谈兵的对话者,而是能够实际执行多步骤复杂任务的智能体。

更令人兴奋的是,DeerFlow 2.0是完全从零重写的版本,与1.x分支没有任何代码共享。这代表了一个成熟的工程团队对Agent架构的深度思考和最佳实践总结。

本文将从系统架构、Lead Agent设计、中间件链、子Agent编排等核心维度,深度剖析DeerFlow的技术实现细节,揭示工业化AI Agent系统的设计之道。


第一章 系统架构全景图

1.1 整体拓扑设计

DeerFlow采用经典的反向代理模式,通过单一入口点(Nginx,端口2026)统一路由到三个后端服务。这种设计既简化了客户端访问,又保证了各服务的独立演进能力。


/api/langgraph/*
/api/*
/*
读取
读取
读取
读取
客户端浏览器/IM
Nginx反向代理:2026
LangGraph Server:2024Agent运行时
Gateway API:8001FastAPI
Frontend:3000Next.js
config.yaml
extensions_config.json

架构设计要点:

  1. Nginx作为唯一网络入口,负责路径路由和CORS处理
  • • /api/langgraph/* → LangGraph Server(Agent运行时)
  • • /api/* → Gateway API(模型管理、技能管理、文件上传等)
  • • /* → Next.js前端
  1. LangGraph Server(端口2024):基于LangGraph的Agent运行时,负责线程管理、SSE流式传输、中间件链执行
  2. Gateway API(端口8001):FastAPI构建的RESTful服务,处理模型目录、MCP服务器配置、技能管理、文件上传、制品服务等管理性操作
  3. Frontend(端口3000):Next.js 22+构建的现代化Web界面

1.2 部署服务架构

DeerFlow通过Docker Compose定义了五个服务,其中四个默认运行,一个可选:

服务端口用途
nginx2026反向代理与CORS
frontend3000(内部)React聊天界面
gateway8001(内部)REST API服务
langgraph2024(内部)Agent运行时
provisioner8002(内部)Kubernetes沙箱生命周期管理(可选)

关键技术细节:

  • • Gateway和LangGraph服务都挂载了宿主机的Docker socket,实现"Docker-out-of-Docker"的沙箱执行
  • • 只读挂载~/.claude和~/.codex目录,实现凭证自动注入
  • • Provisioner服务通过--profile provisioner激活,用于Kubernetes环境

第二章 Lead Agent:Agent工厂与模型解析

2.1 工厂模式设计

DeerFlow的Lead Agent不是持久化的单例,而是通过make_lead_agent(config)工厂函数为每次调用动态构建。这种设计允许每请求级别的定制化,而无需修改全局状态。

def make_lead_agent(config: RunnableConfig):    """Lead Agent工厂函数"""    # 1. 解析模型名称(三层降级链)    model_name = _resolve_model_name(config)        # 2. 创建聊天模型    chat_model = create_chat_model(model_name)        # 3. 组装工具集    tools = get_available_tools(config)        # 4. 构建中间件链    middlewares = _build_middlewares(config)        # 5. 应用系统提示模板    prompt = apply_prompt_template(config)        # 6. 创建LangGraph Agent    return create_agent(        model=chat_model,        tools=tools,        middlewares=middlewares,        prompt=prompt    )

模型解析的三层降级链:

最高优先级
是
否
是
否

请求配置中的model_name
是否存在?
使用请求指定模型
Agent配置中的模型
使用Agent特定模型
全局默认模型
config.yaml中第一个模型

2.2 双路径Agent创建

make_lead_agent()支持两种创建模式:

1. Bootstrap Agent(引导Agent)

  • • 用于自定义Agent创建流程
  • • 仅启用{"bootstrap"}技能
  • • 添加setup_agent工具
  • • 使用最小化上下文

2. Default Agent(默认Agent)

  • • 标准对话场景
  • • 加载所有启用的技能
  • • 完整中间件链
  • • 支持所有运行时标志(思考模式、计划模式、子Agent模式)

第三章 ThreadState:状态管理的艺术

3.1 扩展的AgentState模式

DeerFlow扩展了LangGraph的基础AgentState,定义了包含所有运行时上下文的ThreadState schema:

class ThreadState(AgentState):    """DeerFlow自定义线程状态"""        messages: list[BaseMessage]  # 对话历史(继承自AgentState)        sandbox: SandboxState | None# 活跃沙箱容器ID        thread_data: ThreadDataState | None# 工作空间/上传/输出目录路径        title: str | None# 自动生成的对话标题        artifacts: Annotated[        list[str],         reducer(merge_artifacts)  # 去重+保序    ]  # 生成的文件路径列表        todos: list | None# 计划模式的任务列表        uploaded_files: list[dict] | None# 用户上传文件元数据        viewed_images: Annotated[        dict[str, ViewedImageData],         reducer(merge_viewed_images)  # 支持通过{}清空    ]  # Base64解码的图像缓存

关键设计亮点:

  1. 自定义Reducer:merge_artifacts实现去重且保序,merge_viewed_images支持"清空"语义(传入{}重置整个缓存)
  2. 状态隔离:每个线程拥有独立的工作空间、上传目录和输出目录
  3. 惰性初始化:ThreadDataMiddleware延迟创建目录结构,直到实际需要时才执行文件系统操作

3.2 状态流转图

用户发起请求
ThreadDataMiddleware

UploadsMiddleware注入文件

SandboxMiddleware
执行中间件链
生成工具调用
工具返回结果
SubagentLimitMiddleware

LoopDetectionMiddleware

生成最终响应
MemoryMiddleware
返回结果给用户

ThreadCreated
BeforeAgent
SandboxReady
ModelCall
ToolExecution
AfterModel
FinalResponse
AfterAgent
沙箱执行Unsupported markdown: br    - 代码运行Unsupported markdown: br    - 文件操作Unsupported markdown: br    - 网络请求
安全检查Unsupported markdown: br    - 并发限制Unsupported markdown: br    - 循环检测Unsupported markdown: br    - 内容过滤


第四章 中间件链:横切关注点的优雅解耦

4.1 中间件架构设计

中间件链是DeerFlow最核心的架构设计之一。每个中间件拦截特定的生命周期阶段(before_agent、wrap_model_call、after_model、wrap_tool_call、after_agent),实现横切关注点而不污染核心Agent逻辑。

中间件生命周期钩子:

LoopDetectionMiddleware
SubagentLimitMiddleware
工具执行
LLM模型
Lead Agent
SandboxMiddleware
UploadsMiddleware
ThreadDataMiddleware
用户请求
LoopDetectionMiddleware
SubagentLimitMiddleware
工具执行
LLM模型
Lead Agent
SandboxMiddleware
UploadsMiddleware
ThreadDataMiddleware
用户请求
before_agent
初始化线程目录
注入文件元数据
确保沙箱存在
wrap_model_call
生成工具调用
wrap_tool_call
执行结果
after_model
限制并发子Agent
检测循环调用
after_agent
返回最终响应

4.2 共享运行时中间件

以下中间件由build_lead_runtime_middlewares()构建,在Lead Agent和子Agent之间共享:

1. ThreadDataMiddleware
  • • 钩子:before_agent
  • • 职责:惰性创建每线程目录结构(workspace/、uploads/、outputs/)
  • • 关键点:延迟初始化,避免不必要的文件系统操作
2. UploadsMiddleware
  • • 钩子:before_agent
  • • 职责:读取HumanMessage.additional_kwargs.files,在用户消息前插入<uploaded_files> XML块
  • • 关键点:合并新上传文件与历史上传文件
3. SandboxMiddleware
  • • 钩子:before_agent
  • • 职责:确保沙箱容器运行,注入sandbox_id到状态
  • • 关键点:Docker容器生命周期管理
4. DanglingToolCallMiddleware
  • • 钩子:wrap_model_call
  • • 职责:扫描消息历史,查找缺少对应ToolMessage的AIMessage.tool_calls
  • • 关键点:插入合成错误ToolMessage,防止LLM因不完整的消息序列崩溃
5. ToolErrorHandlingMiddleware
  • • 钩子:wrap_tool_call
  • • 职责:捕获工具异常,转换为错误ToolMessage(截断至500字符)
  • • 关键点:保留GraphBubbleUp异常,不干扰LangGraph的中断/恢复控制流
@wrap_tool_calldef handle_tool_error(self, call, run):    try:        return run(call)    except GraphBubbleUp:        raise  # 保留LangGraph控制流    except Exception as e:        error_msg = truncate(str(e), max_length=500)        return ToolMessage(            content=f"工具执行失败: {error_msg}\n请尝试其他方法。",            tool_call_id=call.id        )
6. GuardrailMiddleware(条件启用)
  • • 钩子:包装Agent执行
  • • 职责:基于提供者的安全检查(输入/输出验证)
  • • 关键点:可配置的护栏策略

4.3 Lead Agent专属中间件

以下中间件在共享运行时中间件之后追加:

7. SummarizationMiddleware(条件启用)
  • • 位置:中间件链早期
  • • 职责:在其它中间件处理前修剪消息历史,减少token消耗
  • • 配置:触发阈值、保留参数、可选的专用摘要模型
8. TodoMiddleware(仅计划模式)
  • • 钩子:before_model
  • • 职责:检测上下文丢失,注入待办事项提醒
  • • 关键点:当摘要截断原始write_todos工具调用时,确保任务连续性
def before_model(self, state, config):    """检测并修复上下文丢失"""    if not has_write_todos_in_history(state.messages):        reminder = f"当前待办事项:\n{format_todos(state.todos)}"        return insert_reminder_message(state, reminder)    return state
9. TokenUsageMiddleware(条件启用)
  • • 钩子:after_model
  • • 职责:从response_usage_metadata记录LLM token消耗
  • • 关键点:成本可观测性
10. TitleMiddleware
  • • 钩子:after_model
  • • 职责:在首次用户-助手交互后自动生成对话标题
  • • 实现:轻量级LLM调用生成简洁标题,回退方案截断用户首条消息
11. MemoryMiddleware
  • • 钩子:after_agent
  • • 职责:异步队列对话进行长期记忆更新
  • • 过滤:仅包含用户输入和最终助手响应(排除工具调用中间过程)
  • • 去抖:批量处理快速交换的消息
12. ViewImageMiddleware(仅视觉模型)
  • • 钩子:before_model
  • • 职责:当模型调用view_image且所有工具调用完成后,注入base64图像数据
  • • 实现:创建多模态HumanMessage内容块(文本描述 + 内联base64图像)
  • • 清理:注入后通过空字典{}清除viewed_images缓存
13. DeferredToolFilterMiddleware(启用工具搜索时)
  • • 钩子:wrap_model_call
  • • 职责:在模型绑定前从request.tools剥离延迟MCP工具schema
  • • 关键点:ToolNode保留所有工具(包括延迟工具)用于执行路由,但LLM仅看到活跃工具schema
14. SubagentLimitMiddleware(启用了子Agent时)
  • • 钩子:after_model
  • • 职责:强制执行每个模型响应的最大并发子Agent调用数
  • • 实现:截断超出max_concurrent(默认3,范围2-4)的task工具调用
def after_model(self, response, config):    """限制并发子Agent调用"""    ifnot response.tool_calls:        return response        task_calls = [tc for tc in response.tool_calls if tc['name'] == 'task']        iflen(task_calls) > self.max_concurrent:        logger.warning(f"截断{len(task_calls) - self.max_concurrent}个超额子Agent调用")        kept_calls = task_calls[:self.max_concurrent]        other_calls = [tc for tc in response.tool_calls if tc['name'] != 'task']        return response.model_copy(update={            'tool_calls': kept_calls + other_calls        })        return response
15. LoopDetectionMiddleware
  • • 钩子:after_model
  • • 职责:检测并打破重复工具调用循环(P0级安全机制)
  • • 实现:维护每线程滑动窗口的工具调用哈希(基于名称+参数的无序集合)
  • • 阈值:
  • • warn_threshold(默认3):注入警告系统消息
  • • hard_limit(默认5):剥离所有tool_calls,强制模型生成最终文本回答
  • • 边界:max_tracked_threads(默认100),LRU淘汰
def after_model(self, response, state, config):    """检测循环调用"""    thread_id = get_thread_id(config)    tool_hash = compute_tool_hash(response.tool_calls)        history = self.tracking[thread_id]    history.append(tool_hash)        # 检查最近N次调用是否相同    iflen(history) >= self.hard_limit:        recent = history[-self.hard_limit:]        iflen(set(recent)) == 1:  # 全部相同            logger.error(f"检测到工具调用循环,强制终止")            return response.model_copy(update={'tool_calls': []})                iflen(history) >= self.warn_threshold:            warning = "检测到重复操作,请调整策略"            return inject_system_warning(response, warning)        return response
16. ClarificationMiddleware(始终最后)
  • • 钩子:wrap_tool_call
  • • 职责:拦截ask_clarification工具调用,格式化用户友好的澄清请求
  • • 实现:返回Command(interrupt=...)暂停执行,等待用户响应
  • • 关键点:支持同步和异步工具调用包装,检测中文语言进行本地化格式化

4.4 中间件执行顺序

为什么顺序至关重要?

1. ThreadDataMiddleware      ← 必须先创建目录,后续中间件才能使用路径2. UploadsMiddleware         ← 依赖ThreadData提供的uploads路径3. SandboxMiddleware         ← 早期确保沙箱存在4. DanglingToolCallMiddleware ← 必须在模型调用前修复历史5. GuardrailMiddleware       ← 输入验证6. ToolErrorHandlingMiddleware ← 工具异常处理7. SummarizationMiddleware   ← 早期修剪上下文8. TodoMiddleware            ← 计划模式任务跟踪9. TokenUsageMiddleware      ← 记录token使用10. TitleMiddleware          ← 生成标题11. MemoryMiddleware         ← 队列记忆更新12. ViewImageMiddleware      ← 视觉模型图像处理13. DeferredToolFilterMiddleware ← 过滤延迟工具14. SubagentLimitMiddleware  ← 限制并发子Agent15. LoopDetectionMiddleware  ← 检测循环16. ClarificationMiddleware  ← 始终最后,可能中断执行

第五章 子Agent编排:并行任务分解的艺术

5.1 架构总览

DeerFlow的子Agent编排系统使Lead Agent能够将复杂的多步骤工作委托给专业化的Worker Agent,这些Worker在隔离的上下文中执行。这种架构在保持父对话连贯性的同时,允许自主探索、命令执行和并行任务处理。


task工具调用

general-purpose
bash

用户请求
Lead Agent
Task Tool
配置注册表
通用子Agent
Bash子Agent
SubagentExecutor
调度线程池3 workers
执行线程池3 workers
沙箱容器1
沙箱容器2
沙箱容器3
结果轮询每5秒
SSE流式传输
前端实时显示

5.2 委托入口:Task Tool

task_tool函数是Lead Agent生成子Agent的唯一接口。仅当subagent_enabled=True时,该工具才会被包含在Lead Agent的工具集中。

工具参数:

@tooldeftask_tool(    description: str,      # 简短描述(用于显示)    prompt: str,           # 详细描述工作内容    subagent_type: Literal["general-purpose", "bash"],    max_turns: int = None  # 可选的最大轮次覆盖):    """委托任务给子Agent执行"""    # 1. 解析子Agent配置    config = get_subagent_config(subagent_type)        # 2. 创建执行器    executor = SubagentExecutor(        config=config,        sandbox_state=runtime.sandbox_state,        thread_data=runtime.thread_data,        thread_id=runtime.thread_id,        trace_id=generate_trace_id()    )        # 3. 后台执行    future = executor.execute_async(prompt, max_turns)        # 4. 轮询结果并流式传输    return poll_and_stream_results(future, timeout=config.timeout_seconds)

5.3 子Agent配置注册表

每个子Agent由SubagentConfig dataclass定义:

@dataclassclass SubagentConfig:    name: str    description: str    system_prompt: str    tools: list[str] | None = None    disallowed_tools: list[str] | None = ["task"]  # 默认禁止嵌套    model: str = "inherit"  # 或显式模型名称    max_turns: int = 50    timeout_seconds: int = 900  # 15分钟默认

两层配置解析:

    1. 从硬编码的BUILTIN_SUBAGENTS获取基础配置
    1. 从config.yaml的SubagentsAppConfig应用运行时覆盖
# config.yamlsubagents:  timeout_seconds: 900  # 全局默认  agents:    bash:      timeout_seconds: 300  # 5分钟(bash任务通常更快)    general-purpose:      timeout_seconds: 1200  # 20分钟(复杂研究任务)

5.4 内置子Agent类型对比

属性general-purposebash
用途复杂多步骤推理+行动顺序命令执行
工具继承父Agent所有工具(减去拒绝列表)显式允许列表:bash, ls, read_file, write_file, str_replace
禁止工具task , ask_clarification, present_filestask , ask_clarification, present_files
最大轮次5030
模型从父Agent继承从父Agent继承
系统提示结构化输出要求(摘要→发现→制品→问题→引用)简化的命令执行提示

双层嵌套防止机制:

  1. 工具级别排除:task_tool在构造子Agent工具集时,传递subagent_enabled=False,无论子Agent的拒绝列表如何配置,都排除task_tool本身
  2. 配置级别拒绝:disallowed_tools=["task"]在配置层面禁止

这确保了严格的单层嵌套——子Agent无法进一步生成子Agent。

5.5 后台执行引擎:双线程池设计

SubagentExecutor通过双层线程池架构管理委托任务的完整生命周期:

class SubagentExecutor:    def __init__(self):        self._scheduler_pool = ThreadPoolExecutor(max_workers=3)  # 调度池        self._execution_pool = ThreadPoolExecutor(max_workers=3)  # 执行池        self._background_tasks = {}  # 任务状态存储        self._background_tasks_lock = threading.Lock()

执行流程:

Frontend
结果轮询
沙箱容器
子Agent
执行线程池
调度线程池
Task Tool
Frontend
结果轮询
沙箱容器
子Agent
执行线程池
调度线程池
Task Tool
loop
[流式传输]
execute_async(prompt)
提交run_task闭包
run_task内提交execute
立即返回Future
asyncio.run(_aexecute)
创建新事件循环
执行工具调用
astream yield AIMessage
task_running事件
完成执行
Future.result(timeout)
返回SubagentResult

关键设计决策:

  1. 调度与执行解耦:调度池立即返回,不阻塞执行
  2. 独立事件循环:每个执行线程通过asyncio.run()创建新鲜事件循环(线程池worker缺乏事件循环,且子Agent可能使用异步MCP工具)
  3. 状态机管理:SubagentResult状态转换:PENDING → RUNNING → COMPLETED/FAILED/TIMED_OUT

5.6 实时消息流式传输

在_aexecute()期间,执行器通过agent.astream()流式传输Agent状态(stream_mode="values"):

async def _aexecute(self, task: str, result_holder: SubagentResult):    async for chunk in agent.astream(state, stream_mode="values"):        # 检查新的AIMessage        if isinstance(chunk, AIMessage):            # 序列化并追加到结果            result_holder.ai_messages.append(chunk.dict())                        # 轮询检测到新消息后,向客户端发射task_running事件            # 实现子Agent推理的渐进式显示

前端体验:用户可以在子Agent完成任务前,实时看到其推理过程,而非等待最终结果。

5.7 超时与清理

双层超时 enforcement:

  1. 主要机制:调度器的run_task闭包中的Future.result(timeout=...),在config.timeout_seconds后抛出FuturesTimeoutError
  2. 安全网:task_tool中的轮询在timeout_seconds + 60秒后跳出循环

清理策略:

def cleanup_background_task(task_id):    """仅清理处于终端状态的任务"""    with _background_tasks_lock:        result = _background_tasks.get(task_id)        if result and result.status in ('COMPLETED', 'FAILED', 'TIMED_OUT'):            del _background_tasks[task_id]        elif result and result.completed_at:            del _background_tasks[task_id]        # 防止与后台执行器的竞态条件

5.8 上下文与状态继承

子Agent通过精心设计的状态传递机制,与Lead Agent共享关键运行时上下文:

# task_tool中提取父Agent运行时上下文executor = SubagentExecutor(    sandbox_state=runtime.sandbox_state,  # 同一沙箱容器    thread_data=runtime.thread_data,      # 同一工作空间路径    thread_id=runtime.thread_id,          # 同一线程ID    parent_model=runtime.config.metadata['model_name'],    trace_id=generate_trace_id()[:8]      # 8字符UUID前缀,链接父子日志)

初始状态构建:

def _build_initial_state(self, prompt: str):    return {        'messages': [HumanMessage(content=prompt)],  # 单条HumanMessage种子        'sandbox': self.parent_sandbox_state,        # 父沙箱状态        'thread_data': self.parent_thread_data,      # 父线程数据    }

模型解析规则:

  • • 若子Agent配置model="inherit",使用从runtime.config.metadata提取的父模型名称
  • • 否则使用显式配置的模型

5.9 共享中间件管道

子Agent通过build_subagent_runtime_middlewares()重用Lead Agent中间件链的子集:

中间件Lead AgentSub-Agent说明
ThreadDataMiddleware✅✅解析工作空间/上传路径
SandboxMiddleware✅✅管理沙箱容器生命周期
UploadsMiddleware✅❌子Agent不处理上传
DanglingToolCallMiddleware✅❌子Agent不需要修补历史
GuardrailMiddleware✅(若配置)✅(若配置)安全过滤
ToolErrorHandlingMiddleware✅✅工具异常转换

关键差异:

  • • 子Agent显式禁用思考模式(thinking_enabled=False)以降低延迟和成本
  • • 排除Lead Agent专属关注点:上传、悬空工具调用修补、标题生成、记忆、澄清

5.10 并发控制:三层防护

当Lead Agent的LLM在单个响应中发出多个task工具调用(请求并行子Agent执行)时,SubagentLimitMiddleware强制执行硬上限:

三层并发控制:


第一层: 模型输出截断SubagentLimitMiddleware
第二层: 线程池容量3 workers
第三层: 全局常量MAX_CONCURRENT_SUBAGENTS=3
最终并发≤3
  1. 模型输出层:SubagentLimitMiddleware在after_model钩子扫描最后一条AIMessage,若task调用超过max_concurrent(默认3,钳位到[2, 4]),截断超额调用
  2. 线程池层:调度和执行池各限制3个worker
  3. 全局常量:MAX_CONCURRENT_SUBAGENTS = 3

配置示例:

# config.yamlsubagents:  max_concurrent: 3  # 有效范围: 2-4

Lead Agent的系统提示通过apply_prompt_template()接收max_concurrent_subagents参数,指示LLM可以并行调用多少个子Agent。中间件作为结构性安全网,即使LLM忽略提示指令也能强制执行限制。


第六章 技能系统:可扩展性的核心

6.1 技能架构设计

技能(Skills)是DeerFlow的主要可扩展性机制。每个技能是一个结构化的SKILL.md文件,包含:

  1. YAML frontmatter:名称、描述、允许的工具
  2. Markdown指令:注入到Agent系统提示的工作流、最佳实践、资源引用

技能加载流程:


skills/public/
SKILL.md文件
deep-research/
ppt-generation/
frontend-design/
Skill Loader
解析YAML frontmatter
缓存到内存
按需注入系统提示

6.2 内置技能库

DeerFlow附带17个内置公共技能,覆盖广泛的能力领域:

类别技能
研究deep-research 、github-deep-research、consulting-analysis
内容创作ppt-generation 、frontend-design、web-design-guidelines、podcast-generation
媒体生成image-generation 、video-generation、chart-visualization
数据分析data-analysis
开发者工具claude-to-deerflow 、find-skills、skill-creator、vercel-deploy-claimable
杂项bootstrap 、surprise-me

渐进式加载模式:
技能仅在任务实际需要时加载,保持上下文窗口精简,即使在token敏感的模型上也能表现良好。

6.3 自定义技能

用户可以在skills/custom/创建自定义技能,或通过Gateway API安装.skill归档文件。

技能示例(deep-research):

---name: Deep Researchdescription: 系统性的多角度网络研究allowed_tools:  - web_search  - read_url  - write_file---## 研究流程1.**理解任务**:明确研究目标和范围2.**制定计划**:确定需要搜索的关键角度3.**并行搜索**:使用子Agent进行多角度搜索4.**综合分析**:整合各来源信息5.**引用标注**:为所有结论提供来源## 最佳实践- 至少从3个独立来源验证信息- 优先使用权威来源(官方文档、学术论文)- 注意信息时效性- 明确标注不确定性

第七章 沙箱系统:安全执行的基石

7.1 沙箱架构

DeerFlow通过SandboxProvider抽象提供隔离的代码执行环境:

提供者实现:

  • • LocalSandboxProvider:直接本地执行(开发环境)
  • • AioSandboxProvider:Docker容器隔离(生产环境)

虚拟路径映射:
无论物理主机路径如何,Agent始终引用:

  • • /mnt/user-data/workspace → 工作空间
  • • /mnt/user-data/uploads → 上传目录
  • • /mnt/user-data/outputs → 输出目录
  • • /mnt/skills → 技能库

7.2 容器生命周期管理

Docker-out-of-Docker模式:

# docker-compose.yamlservices:gateway:    volumes:      -/var/run/docker.sock:/var/run/docker.sock# 挂载Docker socket      -~/.claude:/.claude:ro                      # 只读凭证      -~/.codex:/.codex:rolanggraph:    volumes:      -/var/run/docker.sock:/var/run/docker.sock      -~/.claude:/.claude:ro      - ~/.codex:/.codex:ro

容器启动流程:

  1. SandboxMiddleware在before_agent钩子检查沙箱状态
  2. 若无活跃沙箱,调用SandboxProvider.create()创建容器
  3. 挂载必要卷(workspace、uploads、outputs、skills)
  4. 注入环境变量(API密钥、配置)
  5. 启动容器并返回sandbox_id

第八章 端到端请求流程

让我们追踪一个用户聊天消息从浏览器到Agent再返回的完整路径:

沙箱容器
子Agent
中间件链
Lead Agent
Gateway:8001
LangGraph:2024
Nginx:2026
浏览器
沙箱容器
子Agent
中间件链
Lead Agent
Gateway:8001
LangGraph:2024
Nginx:2026
浏览器
loop
[中间件执行]
alt
[需要子Agent]
[直接工具调用]
POST /api/langgraph/threads/{id}/runs
路径重写 → /threads/{id}/runs
SSE流式传输
加载线程状态和检查点
执行中间件链
ThreadDataMiddleware
UploadsMiddleware
SandboxMiddleware
...其他中间件
模型生成工具调用
task工具调用
执行命令/代码
执行结果
返回结果
执行工具
工具结果
模型生成最终响应
SSE流事件
SSE流(代理)
SSE流
渐进式显示结果

流程关键点:

  1. 路径重写:Nginx将/api/langgraph/threads/{id}/runs重写为/threads/{id}/runs
  2. SSE流式传输:禁用代理缓冲,设置600秒超时
  3. 状态加载:LangGraph从检查点恢复线程状态
  4. 中间件链:按顺序执行16个中间件
  5. 工具执行:在沙箱中安全执行
  6. 流式响应:实时返回token到前端

第九章 技术亮点总结

9.1 架构设计亮点

1. 中间件模式的力量
DeerFlow展示了中间件模式在AI Agent系统中的强大能力:

  • • 解耦横切关注点:日志、安全、上下文管理、错误处理等与核心推理逻辑分离
  • • 可组合性:中间件可按需启用/禁用,灵活配置
  • • 可测试性:每个中间件独立测试
  • • 可扩展性:新增功能无需修改核心Agent代码

2. 状态管理的优雅设计

  • • 自定义Reducer:处理复杂的状态合并逻辑(去重、清空语义)
  • • 惰性初始化:延迟创建资源,提高性能
  • • 类型安全:通过TypeScript/Python类型系统保证状态正确性

3. 并发控制的三层防护

  • • 模型输出层截断
  • • 线程池容量限制
  • • 全局常量兜底
  • • 确保系统稳定性和资源可控

4. 双层嵌套防止

  • • 工具级别排除
  • • 配置级别拒绝
  • • 防止无限递归,保证系统可预测性

9.2 工程实践亮点

1. 配置即代码

  • • YAML + JSON双配置文件
  • • 运行时热重载
  • • 类型验证(Pydantic)

2. 测试覆盖

  • • test_subagent_executor.py(774行):覆盖异步/同步执行路径、AI消息收集、异常传播、MCP工具支持、线程安全
  • • test_subagent_limit_middleware.py(141行):覆盖限制钳位、截断、保留非任务调用

3. 可观测性

  • • Token使用记录
  • • LangSmith追踪(通过config.metadata注入标签)
  • • SSE流式事件(前端实时显示推理过程)

4. 开发者体验

  • • Makefile统一命令接口
  • • Docker Compose一键启动
  • • 自动配置生成
  • • 详细的文档体系

第十章 实战应用场景

10.1 深度研究自动化

场景:需要撰写一份关于"2026年AI Agent发展趋势"的行业报告

传统方式:

  1. 手动搜索10-20篇相关文章
  2. 逐篇阅读并提取要点
  3. 整理笔记并归纳
  4. 撰写报告初稿
  5. 反复修改完善
    耗时:4-8小时

使用DeerFlow:

用户:请帮我研究"2026年AI Agent发展趋势",需要包含:- 多Agent系统架构演进- Agent安全与对齐技术- Agent商业化应用场景- 输出3000字研究报告DeerFlow:1. Lead Agent分析任务,决定启用deep-research技能2. 生成3个子Agent并行工作:   - 子Agent1:搜索多Agent系统相关论文和技术博客   - 子Agent2:收集Agent安全和对齐的最新进展   - 子Agent3:调研商业化应用案例3. 各子Agent在沙箱中执行:   - 调用web_search工具   - 读取URL内容   - 提取关键信息4. Lead Agent汇总结果,去重并交叉验证5. 生成结构化报告,包含引用来源**耗时:15-30分钟**

10.2 自动化PPT生成

场景:需要准备一份融资路演PPT

用户:帮我生成一份AI初创公司融资路演PPT,包含:- 公司介绍- 产品亮点- 市场分析- 商业模式- 团队介绍- 融资需求DeerFlow:1. 启用ppt-generation技能2. 调用数据收集子Agent:   - 搜索市场规模数据   - 分析竞品情况3. 调用设计子Agent:   - 生成配色方案   - 设计布局模板4. 调用内容生成子Agent:   - 撰写每页文案   - 生成图表说明5. 使用MCP工具调用图像生成API6. 输出PPTX文件

10.3 代码开发与部署

场景:快速原型开发并部署

用户:帮我开发一个天气查询API,要求:- FastAPI框架- 调用第三方天气API- 缓存机制- Docker部署DeerFlow:1. 在沙箱中创建项目结构2. 编写main.py(FastAPI应用)3. 实现缓存逻辑(Redis)4. 编写Dockerfile和docker-compose.yaml5. 编写单元测试6. 运行测试确保通过7. 构建Docker镜像8. (可选)部署到Vercel/云平台

第十一章 与业界方案对比

11.1 Agent框架横向对比

根据最新研究,2026年主流的5个Agent框架都采用了相似的模式:

框架发布方核心特点与DeerFlow差异
DeerFlowByteDance子Agent编排、沙箱执行、技能系统本文研究对象
LangGraphLangChain图状工作流、状态管理DeerFlow基于LangGraph构建
AutoGenMicrosoft多Agent对话、代码执行更侧重对话式协作
CrewAICrewAI角色扮演、任务分配更轻量,适合小型任务
OpenAI SwarmOpenAI轻量级多Agent协调实验性,功能较少

DeerFlow的独特优势:

  1. 工业化设计:经过字节跳动生产环境验证
  2. 完整生态:前端+后端+沙箱+IM集成一站式方案
  3. 技能系统:Markdown声明式技能定义,易于扩展
  4. 长期记忆:跨会话持久化用户偏好和知识
  5. 上下文工程:激进的上下文管理(摘要+文件系统卸载)

11.2 中间件模式趋势

AI Agent中间件模式正在成为行业标准:

  • • Microsoft Agent Framework:采用责任链模式的中间件
  • • AG-UI:提供事件流转换、过滤、增强的中间件能力
  • • LangChain:通过Runnable接口支持中间件组合

DeerFlow的中间件设计遵循了这一趋势,并针对Agent特性进行了优化:

  • • 生命周期钩子丰富:before_agent、wrap_model_call、after_model、wrap_tool_call、after_agent
  • • 状态感知:中间件可以读写ThreadState
  • • 流式支持:支持SSE流式事件的拦截和转换

第十二章 局限性与未来展望

12.1 当前局限性

尽管DeerFlow架构优秀,但仍存在一些局限:

  1. 学习曲线陡峭
  • • 需要理解LangGraph、LangChain、Docker等多个技术栈
  • • 中间件链配置复杂
  • • 文档虽详细但篇幅庞大
  1. 资源消耗
  • • 每个线程独立的Docker容器,资源开销较大
  • • 并发子Agent限制在3个,可能成为性能瓶颈
  • • 长上下文管理依赖摘要,可能丢失细节
  1. 安全性挑战
  • • 沙箱逃逸风险(尽管有GuardrailMiddleware)
  • • 工具调用权限控制粒度不够精细
  • • 依赖第三方API的凭证管理
  1. 模型依赖
  • • 高度依赖LLM的工具调用能力
  • • 对模型token限制敏感(需要频繁摘要)
  • • 思考模式增加延迟和成本

12.2 未来发展方向

基于当前架构,DeerFlow可能的演进方向:

1. 性能优化

  • • 容器池化:预创建容器池,减少启动延迟
  • • 增量摘要:仅摘要新增消息,避免全量重算
  • • 分布式执行:支持跨节点子Agent调度

2. 安全增强

  • • 细粒度权限控制:基于角色的工具访问控制
  • • 审计日志:完整的操作审计追踪
  • • 沙箱强化:gVisor/gRPC沙箱替代Docker

3. 可扩展性提升

  • • 插件系统:支持第三方中间件和技能插件
  • • 微服务化:将Gateway、LangGraph拆分为独立微服务
  • • 多租户支持:资源隔离和配额管理

4. 智能化增强

  • • 技能自动发现:基于任务自动推荐技能
  • • 子Agent自动规划:LLM自动决定子Agent数量和类型
  • • 自我优化:基于执行历史自动调整超参数

5. 生态建设

  • • 技能市场:社区贡献技能库
  • • 模板库:预置常见任务模板
  • • IM集成扩展:支持更多即时通讯平台

结语:AI Agent工业化的里程碑

DeerFlow 2.0代表了AI Agent从实验性原型走向工业化生产的关键一步。其架构设计体现了多个工程最佳实践:

✅ 模块化设计:清晰的职责分离(Gateway负责管理、LangGraph负责执行)
✅ 中间件模式:横切关注点的优雅解耦
✅ 状态管理:类型安全的状态schema和自定义reducer
✅ 并发控制:多层防护确保系统稳定性
✅ 可扩展性:技能系统和MCP集成提供无限可能
✅ 生产就绪:Docker部署、健康检查、日志追踪

对开发者的启示:

  1. 不要 reinvent the wheel:基于LangGraph等成熟框架构建,而非从零开始
  2. 中间件是王道:通过中间件实现可观测性、安全性、可扩展性
  3. 隔离是关键:沙箱执行确保系统安全和稳定性
  4. 渐进式加载:按需加载技能和上下文,保持性能
  5. 测试驱动:全面的测试覆盖确保系统可靠性

对企业的价值:

DeerFlow不仅是一个开源项目,更是企业构建AI Agent系统的参考架构。它展示了如何将LLM、工具调用、沙箱执行、长期记忆等组件整合成一个可靠的生产系统。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

在这里插入图片描述

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

ADRV9009学习资料保存:基于XC7Z100+ADRV9009的双收双发无线电射频板卡 ADRV9009学习资料保存:基于XC7Z100+ADRV9009的双收双发无线电射频板卡 一、板卡概述 基于XC7Z100+ADRV9009的双收双发无线电射频板卡是基于XilinxZYNQFPGA和ADI的无线收发芯片ADRV9009开发的专用功能板卡,用于5G小基站,无线图传,数据收发... 阅读详情

相关推荐

单细胞 | pySCENIC·转录因子分析(二)

接上一篇,pySCENIC分析完之后就可以进行可视化了,个人认为最重要的有三个图:rss点图,rank图,转录因子表达水平热图,3个图结合着看。3.可视化rank图,可以自己改一下plotRSS_oneSet参数让图更好看一点。4. regulon表达水平热图,转录因子表达水平同理,得到的图类似只是输入不一样。2.可视化点图:寻找cluster特异性转录因子。1.loom文件读入R,提取数据。

生信练习生 4283

DeerFlow容器化部署指南:使用Docker快速搭建环境

本文介绍了如何在星图GPU平台上自动化部署DeerFlow镜像,快速构建AI智能体研究框架。通过标准化容器化配置,用户可一键启用多智能体协同的自动化研究流程,典型应用于网络信息检索、报告生成与知识整合等场景,显著提升复杂任务的研究效率。

weixin_32836713的博客 1257

MatLab Desired port was :31515解决方案

前言:使用的MatLabR2022b今天突然出现了错误,在程序中打不开文件。后尝试了下面的方法,可以解决。后面还有另一种方法,上面方法如果行不通,大家可以尝试一下。搜索栏输入:firewall.cpl。找到相关项,右键属性,设置为允许。

qq_42212501的博客 1339

DeerFlow 2.0实战指南:生产级AI Agent框架的Docker化部署与并行编排

最近字节跳动开源的DeerFlow 2.0在GitHub上火了,几天时间收获45,000+星。作为一名技术开发者,我第一时间研究了这个项目。经过深入测试,我发现它解决了传统AI Agent框架在生产环境中的几个关键痛点。本文将从工程实践角度,带你完整掌握DeerFlow 2.0的核心功能和部署方法。工程化设计:从开发到部署的全流程支持成本控制:渐进式技能加载有效降低Token消耗扩展性:支持从单机到集群的平滑扩展可维护性:清晰的代码结构和配置管理对比其他框架LangChain:更适合快速原型开发。

AI自动化工坊 8270

静态随机存储器(SRAM)

静态随机存储器(SRAM)是一种广泛用于计算机系统和嵌入式设备中的高速随机访问存储器。与动态随机存储器(DRAM)不同,SRAM 不需要定期刷新,因此可以实现更快的访问时间和更低的功耗。SRAM通常用于缓存、高速缓冲器和存储器应用程序中,其中性能和可靠性至关重要。

JAZJD的博客 8148

使用sysbench对Oracle做基准测试(-) 安装篇

sysbench是一款开源的多线程性能测试工具, 可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL。

道行尚浅(老道)的博客 7811

Multi-Agent 多智能体架构解析--DeerFlow

摘要(148字) DeerFlow作为开源多智能体框架,通过coordinator、planner、research_team和reporter四类Agent协同解决复杂任务。coordinator处理基础交互并分流请求;planner严格评估信息完整性,决定是否启动research_team深度研究;研究员通过工具链执行检索与综合分析;最终由reporter生成报告。其核心在于动态分工机制——planner的"has_enough_context"判断触发不同工作流,而研究员的提示词设

王不二的AI之路 2458

单目视觉定位:深入解析PNP算法在机器人导航中的实战应用

本文深入解析了PNP算法在机器人单目视觉定位中的核心原理与实战应用。通过拆解坐标变换四步,详细阐述了如何从二维图像点反求相机三维位姿。文章结合OpenCV的solvePnP函数,提供了算法选择、参数调优及结果后处理的实用指南,并针对机器人导航中的特征匹配、尺度不确定性等挑战,给出了鲁棒性优化与实时性平衡的解决方案。

weixin_29083649的博客 419

DeerFlow 2.0 开源升级:依托 Harness,让 Agent 不再“半途而废“

DeerFlow 2.0开源升级:构建AI智能体的完整执行框架 摘要:DeerFlow 2.0是一款基于LangGraph和LangChain技术栈的开源Agent Harness框架,旨在解决AI智能体在复杂任务执行中的"半途而废"问题。该框架通过四大核心能力(Docker沙箱隔离、多智能体并行调度、持久记忆系统和Markdown技能扩展)为AI模型提供完整的"智能身体",将思考能力转化为行动能力。相比主流方案,DeerFlow 2.0在任务完成率(89.2%)、部

沉淀所学,分享所思,让热爱与成长同行。商务记录AI实战经验,助力开发者快速成长。 热爱AI,希望做出有影响力的技术成果。 技术点亮生活,分享连接价值与机会。 专注AI落地实战,陪你走好技术每一步。 1万+

8.26华为OD机试真题 新系统 - 字符串回文判 (Java/Py/C/C++/Js/Go)

8.26华为OD机试真题 新系统 - 字符串回文判 (Java/Py/C/C++/Js/Go)

算法大师! 1236

一次携程酒店 phantom-token 逆向实战复盘(附python纯算)

摘要 本文介绍了通过分析携程酒店列表页面的数据接口,使用Python实现抓取的方法。主要内容包括: 目标站点为携程酒店列表页,通过开发者工具发现关键接口fetchHotelList 将浏览器请求转换为Python代码,包含请求头(headers)、Cookies和POST数据 提供完整的请求示例代码,包含日期参数、城市ID等必要信息 特别声明仅供学习交流使用,禁止商业用途 展示了如何获取酒店列表数据,包括排序筛选等参数设置 该方法可用于研究酒店数据采集,但需要注意遵守网站使用条款。

自成背后的博客 3023

3、以“Deer-Flow”为例,带你直观了解Agent

DeerFlow是字节跳动开源的一款SuperAgent框架,通过整合sub-agents、memory和sandbox等组件,配合可扩展的skills实现多功能任务处理。文章介绍了如何快速部署DeerFlow:下载代码、配置大模型信息、安装依赖并运行。通过示例展示了Agent的工作流程:用户提问→大模型响应→工具执行→结果反馈的循环交互机制。文章指出这类开源Agent的涌现预示着AI将深刻改变工作方式,建议技术人员了解底层逻辑以适应AI时代。DeerFlow基于LangChain和LangGraph构建,

ghostFevil的专栏 237

2万字长文:海豚调度器(DolphinScheduler)面试题深入了解

DAG图(有向无环图)是海豚调度器中表示工作流任务依赖关系的一种方式。在DolphinScheduler中,每个任务是一个节点,任务之间的依赖关系通过有向边连接这些节点来表示。无环:保证了工作流的执行顺序是确定的,避免了无限循环的问题。有向:箭头指示了任务的执行方向,即上一个任务的输出可以作为下一个任务的输入。依赖表示:通过图形化界面,用户可以通过拖拽连接线来定义任务之间的先后顺序和依赖关系。并行处理:DAG图可以表示出任务的并行关系,允许多个任务在没有直接依赖关系的情况下同时执行。条件分支。

大模型大数据攻城狮的专栏 1330

揭秘DeerFlow工业化设计:从LangGraph中间件到沙箱隔离的AI Agent全攻略(非常详细)

复现 DeerFlow 多 Agent 流水线时,先改 config.yaml 的 base_url 指向 TaoToken 并确认 Model ID 支持工具调用,即可跑通 LangGraph 中间件链与沙箱隔离。TaoToken 统一模型入口,让子 Agent 继承与调度更稳定,官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 提供密钥与文档。

weixin_35751194的博客 6

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 226

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

6 款电商 AI 图片生成软件实测|国内 + 跨境卖家工具清单

电商 AI 作图工具已经从 "能不能用" 进入了 "好不好用" 的阶段。对于绝大多数卖家而言,现在的 AI 工具已经可以覆盖 60%-80% 的基础商品图需求,显著降低拍摄和设计成本。选择工具的核心逻辑不是 "哪款最强",而是 "哪款最适配你的品类、平台规模和团队能力"。垂直电商工具胜在工作流效率,通用生图工具强在创意上限,模板类工具赢在上手速度。建议根据自身业务阶段,搭配 1-2 款主力工具 + 1 款辅助工具,形成适合自己的视觉生产流程。

Mardi_Ladin的博客 400

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

我用 GPUWorks 在 M1 Pro 上搭了个发票识别原型

公司里经常要看电子发票。我想先做个小原型:把 PDF 发给一个自己部署的图文模型,让它提取发票类型、日期、交易双方和金额,再把结果交给同事核对。这个原型不用先接财务系统,先看看从部署到调用要走多少步,模型返回的内容能不能帮上忙。

鸽芷咕的博客 2万+

您您这可以把问小白的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。AI导出鸭

第三层是格式编译层。这个决策背后的判断很清晰:一个批量导出工具的价值,不在于“试三次”,而在于你真正用它处理了几十份技术文档、访谈记录或课程讲义之后,它是否值得留在你的工作流里。问小白的会话列表通过分页接口加载,AI导出鸭 在页面运行时建立旁路监听,捕获每一次分页请求返回的完整对话清单,包括会话 ID、标题、时间戳和隐藏的元数据字段。让AI导出回归优雅——这句话说的是:导出不该是体力活,而应该是一次完整的、可预期的文件交付。注意:这里的“批量”指的是左侧列表里的多个独立会话,不是一条会话内的多轮对话。

laoyunsi的博客 246

【从零理解 Spring AI · 12】MCP 的两种角色:做客户端还是做服务端

上一篇讲了 MCP 的概念:标准协议、三大角色、M+N 替代 M×N。

nice_lcj520的博客 502

河道漂浮物目标检测数据集

目标检测,yolo,河道漂浮物目标检测数据集

DL_data_set的博客 202

AI Agent之核心框架

A: 显式 Thought 有三类价值:可解释性(便于人类审计)、可调试性(定位哪一步选错工具)、学习信号(可做监督微调或评估中间步骤质量)。ReAct 把推理与 可执行行动 绑定,每一步行动后都有 真实 Observation 反馈,从而用工具结果约束生成,降低闭卷幻觉。做完不等于结束——还要 评估做得好不好,把 教训 记下来,下次 带着教训重试,反思作为 记忆,影响后续尝试的策略。工作流程:Action → Evaluation → Reflection → Retry。A: 普通 CoT 只在。

剑雨巍巍的博客 199

AI 应用开发工程师技术实践:大模型接入、通用组件封装与性能优化

本文提出AI应用从PoC到生产的核心挑战:模型调用的持续可用、可控与可优化。通过构建统一LLM网关实现多供应商路由与故障转移,封装对话、工具调用与RAG组件以解耦业务逻辑,结合前缀缓存、批处理与流式背压治理等性能优化手段,形成“接通→接稳→接快”的工程路径,最终以工程化能力决定AI应用的生产可用性。

2301_79189962的博客 558

AI前沿日报 · 2026-11-04 | 祛魅时刻:Astra“纯读权重“神话的崩塌

①Astra"裸权重通吃"被spaCy创始人Honnibal精准祛魅——仅1/3实验真裸读,数学能力提升依赖Python+50次迭代;②Simon Willison用Qwen 3.8-27B端侧复现权重空间编程;③Nvidia开源Auto-Ontology自动知识图谱;④$800开源全域抓取机器人Stringman;⑤OpenAI悄然重开Codex训练开关引信任危机;⑥DeepMind发布Gemini 4 Argon机器人基础模型;⑦美国科技巨头隐性AI债务达3.2万亿美元,6个月增90%。

johnsong2009的博客 574

大模型 Embedding 与向量相似度详解

Embedding 解决的问题:计算机不懂文字,但懂数字│▼文本 → 向量(1024维浮点数数组)│▼相似度解决的问题:怎么判断两个向量(文本)有多接近│▼余弦相似度:看向量方向的夹角,越接近0°越相似│▼最终效果:语义搜索——理解意思,而非字面匹配一句话总结:Embedding 把文字变成数字,余弦相似度比较数字的方向,两者结合实现了"理解语义"的搜索。

T3165919332的博客 90

GPT-1 架构和计算细节

下面配合框图,对 GPT-1 的每个组件做公式展开 + 数值实例(配置:12 层 × 768,12 头,FFN 3072,词表 40478,共 117M 参数)。GPT-1 把翻译模型的编码器-解码器砍掉一半,只留解码器,然后以"预测下一个词"为目标在 BooksCorpus 上预训练。与 2017 原版的四个架构差异(框图中标 ★):h0=E[token]+Epos[position],E∈R40478×768, Epos∈R512×768h^0 = E[\text{token}] + E_{pos}[\

eloudy的专栏 278

终端 AI 审计与 “龙虾” 类智能体风险治理:从可见性到闭环溯源

生成式 AI 办公普及之后,数据泄露风险逐步下沉到终端。员工将合同、源代码、客户资料粘贴至公有大模型,以及龙虾(OpenClaw)这类本地开源 AI 智能体的滥用,成为企业安全新挑战。传统网络边界防护存在审计盲区,本文从风险链路拆解、核心能力模型、分级治理策略、落地踩坑点以及技术局限性多角度,分享终端侧 AI 安全治理的实践思路。

2401_86491085的博客 641
上一篇: 如何构建生产级Agent系统?AgentScope-Java全解析(非常详细),从入门到精通,收藏这一篇就够了!
下一篇: 同样做分块,为什么别人的 RAG 比你强 10 倍?答案藏在这!
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2835原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值