LangGraph工作流:权限、日志缺失时,Agent上线第一天就崩

任务型对话Agent实战:从ReAct框架到工具调用与工程落地 大语言模型(LLM)凭借强大的理解和生成能力,已成为构建智能系统的核心。然而,要让LLM从“知道”走向“做到”,需要为其构建一套行动框架,使其能理解复杂意图、规划步骤并执行具体操作。这背后的关键技术原理是任务规划与工具调用,通过ReAct(推理与行动)等模式,将LLM的“大脑”与执行“四肢”连接起来,从而创造出能实际处理事务的“数字员工”。其技术价值在于将AI从信息检索与对话,升级为能够自主完成预订、查询、分析等实际任务的智能体,极大地拓展了自动化边界。在应用场景上,这适用于智能客服、个人助理、工作流自动化 阅读详情

聊《我把LangGraph接进项目后,先推翻了几个想当然》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。

摘要

最近有个业务方提需求,要做一个订单自动审核系统。Demo阶段跑得很顺,模型能判断评论质量、能根据金额决定审批路径。结果上线第一天就翻车了——风控说没有权限校验,审计说没有操作日志,运维说根本不知道哪一步卡住了。

我接手后花了两周排查,发现核心问题不在模型,而在工程化。今天复盘一下LangGraph工作流是怎么帮我们把这个系统从脚本变成可控系统的。

目录

  • 为什么需要图工作流
  • State 与 Node
  • Edge 与条件分支
  • 人工审批节点
  • 工程化落地
  • 适用边界
  • 总结

为什么需要图工作流

文章插图 1

先说一个真实场景。我们有个电商订单审核Agent,需求是这样的:

输入一个订单,包含商品描述、用户评论、金额。Agent需要:
1. 调用模型生成评论摘要
2. 判断评论质量(正面/负面/中立)
3. 如果金额>1000元,进入人工审批
4. 否则自动批准或拒绝
5. 记录完整的操作日志

最初我用脚本写,逻辑大概是这样:

def process_order(order):
    # 步骤1:生成评论摘要
    summary = call_model(order["comment"])

    # 步骤2:判断质量
    quality = judge_quality(summary)

    # 步骤3:根据金额路由
    if order["amount"] > 1000:
        # 人工审批
        result = manual_review(order, quality)
    else:
        # 自动审批
        result = auto_approve(order, quality)

    # 步骤4:记录日志
    log_audit(result)

    return result

这个脚本能跑通Demo,但有几个致命问题:

第一个问题是不可观测。 如果审核失败,你不知道是模型调用失败了,还是金额判断逻辑有问题,还是数据库写入失败了。日志是事后追加的,不是流程的一部分。

第二个问题是权限混乱。 人工审批节点需要特定角色才能执行,但脚本里没有任何权限检查。谁都能调这个接口,审核结果直接被覆盖。

第三个问题是状态丢失。 如果某个节点执行了一半服务重启,整个流程从头开始。订单审核这种场景,状态管理是刚需。

这时候就需要图工作流。LangGraph的核心思想是:把Agent的逻辑抽象成图,节点是执行单元,边是流转逻辑,状态是全局共享的。这样每个节点都可以独立测试、独立监控、独立重试。

State 与 Node

文章插图 2

在LangGraph里,首先要定义State。State不是简单的字典,而是一个 TypedDict,它描述了整个工作流运行过程中所有节点共享的数据结构。

from typing import TypedDict, Annotated, Sequence
import operator

class OrderState(TypedDict):
    # 输入数据
    order_id: str
    order_amount: float
    user_comment: str

    # 中间结果
    comment_summary: Annotated[str, operator.add]
    quality_score: float
    quality_label: str

    # 审批结果
    approval_status: str  # pending/approved/rejected/manual_review
    reviewer: str
    review_comment: str

    # 审计信息
    audit_log: Annotated[list, operator.add]

这里用到了Annotated和operator.add,这是LangGraph的状态合并机制。当一个节点返回部分状态时,operator.add会让新值追加到旧值后面,而不是覆盖。这对于日志记录特别有用。

接下来定义Node。每个Node就是一个普通函数,接收State,返回部分State更新:

def generate_summary(state: OrderState) -> dict:
    """调用模型生成评论摘要"""
    comment = state["user_comment"]

    # 调用模型
    response = call_llm(f"请总结以下评论:{comment}")
    summary = response["content"]

    # 记录审计日志
    audit_entry = {
        "step": "generate_summary",
        "order_id": state["order_id"],
        "timestamp": datetime.now().isoformat(),
        "status": "success"
    }

    return {
        "comment_summary": [summary],
        "audit_log": [audit_entry]
    }

def judge_quality(state: OrderState) -> dict:
    """判断评论质量"""
    summary = state["comment_summary"][-1]

    # 调用模型打分
    response = call_llm(f"请对以下评论摘要打分(0-1):{summary}")
    score = float(response["content"])

    # 根据分数打标签
    if score > 0.7:
        label = "positive"
    elif score < 0.3:
        label = "negative"
    else:
        label = "neutral"

    audit_entry = {
        "step": "judge_quality",
        "order_id": state["order_id"],
        "score": score,
        "label": label,
        "timestamp": datetime.now().isoformat(),
        "status": "success"
    }

    return {
        "quality_score": score,
        "quality_label": label,
        "audit_log": [audit_entry]
    }

这里有个关键设计:每个节点都向audit_log追加记录。这样不管工作流走到哪一步,完整的操作历史都在State里。

排查过程:有一次上线后,有用户反馈订单审核超时。我查看audit_log发现,generate_summary节点成功执行了,但judge_quality节点没有日志记录。进一步排查发现,模型调用超时了,但异常没有被捕获,导致整个节点失败且没有日志。修复方式是在每个节点加try-catch,失败时记录错误日志并返回默认值:

def judge_quality(state: OrderState) -> dict:
    try:
        summary = state["comment_summary"][-1]
        response = call_llm(f"请对以下评论摘要打分(0-1):{summary}")
        score = float(response["content"])

        if score > 0.7:
            label = "positive"
        elif score < 0.3:
            label = "negative"
        else:
            label = "neutral"

        status = "success"
    except Exception as e:
        # 异常时返回默认值,避免整个工作流崩溃
        score = 0.5
        label = "neutral"
        status = f"error: {str(e)}"

        logger.error(f"Quality judgment failed for order {state['order_id']}: {e}")

    audit_entry = {
        "step": "judge_quality",
        "order_id": state["order_id"],
        "score": score,
        "label": label,
        "status": status,
        "timestamp": datetime.now().isoformat()
    }

    return {
        "quality_score": score,
        "quality_label": label,
        "audit_log": [audit_entry]
    }

Edge 与条件分支

定义了节点之后,需要定义边来控制流转逻辑。LangGraph支持两种边:普通边和条件边。

普通边是固定的流转,比如A节点完成后一定进入B节点。条件边则根据State的值决定下一步走哪条路:

def route_by_amount(state: OrderState) -> str:
    """根据金额决定走自动审批还是人工审批"""
    amount = state["order_amount"]
    quality_label = state["quality_label"]

    # 金额>1000或评论质量负面,需要人工审批
    if amount > 1000 or quality_label == "negative":
        return "manual_review"
    else:
        return "auto_approve"

这个条件函数会返回下一个节点的名称。LangGraph会根据返回值动态选择路径。

完整的图构建代码如下:

from langgraph.graph import StateGraph, END

# 构建图
graph = StateGraph(OrderState)

# 添加节点
graph.add_node("generate_summary", generate_summary)
graph.add_node("judge_quality", judge_quality)
graph.add_node("auto_approve", auto_approve)
graph.add_node("manual_review", manual_review)

# 添加边
graph.add_edge("generate_summary", "judge_quality")
graph.add_conditional_edges(
    "judge_quality",
    route_by_amount,
    {
        "auto_approve": "auto_approve",
        "manual_review": "manual_review"
    }
)
graph.add_edge("auto_approve", END)
graph.add_edge("manual_review", END)

# 设置入口点
graph.set_entry_point("generate_summary")

# 编译
app = graph.compile()

代码解释:这里add_conditional_edges是关键。第一个参数是源节点,第二个参数是条件函数,第三个参数是条件到节点的映射。当route_by_amount返回"manual_review"时,图会跳转到manual_review节点;返回"auto_approve"时,跳转到auto_approve节点。

这个设计的好处是:条件逻辑和业务逻辑分离。route_by_amount只负责判断走哪条路,不负责执行审批。每个节点只做一件事,易于测试和维护。

优快云资料领取方式

人工审批节点

人工审批是Agent工作流中最复杂的场景之一。它涉及权限控制、状态持久化、超时处理等问题。

def manual_review(state: OrderState) -> dict:
    """人工审批节点"""
    order_id = state["order_id"]
    reviewer = get_current_user()  # 获取当前登录用户

    # 权限检查:只有风控团队才能执行人工审批
    if not has_permission(reviewer, "order_review"):
        audit_entry = {
            "step": "manual_review",
            "order_id": order_id,
            "status": "permission_denied",
            "user": reviewer,
            "timestamp": datetime.now().isoformat()
        }
        return {"audit_log": [audit_entry]}

    # 将订单放入待审批队列
    approval_request = {
        "order_id": order_id,
        "amount": state["order_amount"],
        "quality_label": state["quality_label"],
        "reviewer": reviewer,
        "status": "pending",
        "created_at": datetime.now().isoformat()
    }

    # 持久化到数据库
    save_to_approval_queue(approval_request)

    audit_entry = {
        "step": "manual_review",
        "order_id": order_id,
        "status": "submitted",
        "reviewer": reviewer,
        "timestamp": datetime.now().isoformat()
    }

    return {
        "approval_status": "pending",
        "audit_log": [audit_entry]
    }

这里有两个关键设计:

第一,权限检查是节点的一部分,不是外围装饰。 很多团队会把权限检查放在API层,但这样如果工作流被其他地方调用,权限检查就失效了。把权限检查放在节点内部,保证无论从哪里触发,权限规则都生效。

第二,人工审批是异步的。 节点执行完后,工作流并不直接返回结果,而是将订单放入待审批队列。人工审批完成后,会通过回调或轮询的方式继续工作流。这涉及到图的状态持久化,后面工程化部分会详细讲。

失败原因:有一次人工审批节点一直卡住,订单状态一直是pending。排查发现是数据库连接池配置错误,save_to_approval_queue调用失败但异常被吞掉了。后来在每个数据库操作都加了明确的异常处理和日志,问题才解决。

区分失败原因的关键是看audit_log:

  • 如果某一步有日志记录但状态是"error",说明是业务逻辑错误
  • 如果某一步完全没有日志记录,说明是配置或环境问题
  • 如果日志记录完整但结果不对,说明是模型或算法问题

工程化落地

把LangGraph工作流从Demo变成生产系统,需要解决三个问题:状态持久化、可观测性、权限控制。

状态持久化:默认情况下,LangGraph的状态只存在于内存中。服务重启后状态丢失。生产环境需要把状态持久化到数据库:

from langgraph.checkpoint.sqlite import SqliteSaver

# 使用SQLite作为检查点存储
checkpointer = SqliteSaver.from_conn_string("./checkpoints.db")
app = graph.compile(checkpointer=checkpointer)

这样每次节点执行后,State都会被保存到数据库。即使服务重启,也能从检查点恢复执行。

可观测性:给每个节点添加日志和指标:

import time
from functools import wraps

def instrument_node(node_func):
    @wraps(node_func)
    def wrapper(state: OrderState, config=None):
        start_time = time.time()
        node_name = node_func.__name__
        order_id = state.get("order_id", "unknown")

        try:
            result = node_func(state, config)
            duration = time.time() - start_time

            # 记录成功日志
            logger.info(f"Node {node_name} completed for order {order_id} in {duration:.2f}s")

            return result
        except Exception as e:
            duration = time.time() - start_time

            # 记录失败日志
            logger.error(f"Node {node_name} failed for order {order_id} after {duration:.2f}s: {e}")
            raise
    return wrapper

用装饰器包裹每个节点,自动记录执行时间和异常。这样在监控面板上就能看到每个节点的耗时分布,快速定位瓶颈。

权限控制:除了节点内部的权限检查,还需要在图的入口处做全局校验:

def run_with_auth(state: OrderState, user: str):
    """带权限校验的入口函数"""
    # 全局权限检查
    if not is_authorized(user, "order_processing"):
        raise PermissionError(f"User {user} is not authorized")

    # 执行工作流
    result = app.invoke({**state, "audit_log": []}, config={"configurable": {"user": user}})

    return result

这样无论从哪里调用工作流,都需要经过权限校验。

适用边界

LangGraph工作流适合以下场景:

  • 多步骤的复杂业务流程,需要条件分支
  • 需要人工干预的审批流程
  • 对可观测性有要求的生产系统
  • 需要状态持久化和恢复的场景

但不适合:

  • 简单的单步调用,直接用函数即可
  • 实时性要求极高的场景,图工作流的开销可能不划算
  • 逻辑非常简单且固定的流程,过度设计会增加维护成本

取舍:引入图工作流会增加代码复杂度,需要学习新的概念(State、Node、Edge、Checkpointer)。如果你的项目只是Demo或者逻辑很简单,不要为了用而用。但当流程复杂度超过3个节点、需要权限控制和审计日志时,图工作流的价值就体现出来了。

总结

从Demo到生产,差的不只是代码质量,更是工程化能力。权限、日志、可观测性,这些看似" boring"的东西,才是决定Agent项目能否上线的关键。

LangGraph工作流的价值不在于它能调用模型,而在于它能把复杂的业务流程抽象成图,让每个节点独立可控、状态可追溯、异常可定位。

我的建议是:先写一个简单的工作流跑通核心逻辑,然后逐步添加权限检查、日志记录、状态持久化。不要一开始就追求完美架构,但也不要只停留在Demo阶段就上线。

Demo能跑通只是开始,能解释失败、能追踪状态、能控制权限,才算真正入门。

资料展示

下面是我整理的AI大模型学习资料和工具包预览,适合收藏后按主题逐步学习。

AI大模型资料展示 1

AI大模型资料展示 2

AI大模型资料展示 3

如果你想看完整资料目录,可以在评论区留言「资料」;也欢迎告诉我你更关注AI大模型里的哪类内容。

优快云官方大礼包

AI Agent Runtime 正在归零:从托管服务到事件日志架构的工程范式迁移 AI Agent 运行时(Runtime)正经历类似云计算早期‘操作系统时刻’的基础设施化浪潮——它不再是个体可定制的中间件,而是被云厂商标准化、免费化、深度集成的底层能力。其核心原理在于将 agent 生命周期管理解耦为无状态执行器(Harness)、结构化事件日志(Session as Event Log)与策略驱动的凭证隔离机制,从而实现崩溃可恢复、调试可回溯、审计可合规的技术价值。这一范式已广泛应用于金融客服、医保随访、信贷审批等强监管、高可靠场景,并成为构建生产级 AI 系统的事实标准。本文聚焦 阅读详情

相关推荐

从零构建AI Agent:基于LangChain与ReAct框架的智能体开发实战

最近在项目里尝试接入大模型时,发现一个普遍痛点:模型本身知识会过时,也无法直接操作外部系统。比如,想让AI帮忙查一下最新的天气、计算一个复杂公式或者操作数据库,单纯调用Chat API是远远不够的。这正是“AI Agent”要解决的核心问题——让大模型不仅能“想”,还能“做”。 市面上Coze、Dify等平台确实降低了构建Agent的门槛,但如果不理解其背后的工作机制,一旦遇到复杂定制需求或线上问题,排查起来会非常困难。本文将带你从零开始,深入LangChain框架内部,解析其实现AI Agent的核心机制

weixin_33997389的博客 342

基于LangGraph的AI智能体开发实战:从零构建多步骤任务执行框架

如果你正在尝试用大语言模型(LLM)构建一个能自主完成复杂任务的“智能体”,比如一个能自动分析数据、撰写报告并发送邮件的AI助手,你很可能已经遇到了一个核心难题: 如何让AI不仅会“思考”,还能“行动”并“管理”自己的行动流程? 直接调用ChatGPT的API,你得到的只是一次性的对话回复。要让它像真正的助手一样,记住上下文、调用工具(如搜索、计算、操作数据库)、在多个步骤间做出决策,甚至与其他AI协作,你需要一个强大的“编排框架”。这正是当前AI应用开发从“聊天机器人”迈向“智能体(Agent)”的关键一

weixin_33676492的博客 412

AI原生架构:从三层计算栈到语义驱动的四层范式

计算业务正经历从确定性执行向语义化涌现的根本跃迁。传统以数据层、算法层、应用层为核心的三层架构,因强Schema约束、模型孤岛与胶水代码泛滥,难以应对动态模糊的业务语义需求。AI原生架构通过引入语义层与智能体层,构建起‘语义理解→意图编排→能力调度→基础设施响应’的闭环,实现自然语言驱动的端到端决策。其中,语义层依托RAG增强与轻量LoRA微调,让大模型真正‘懂业务’;智能体层通过结构化任务规划、工具动态调用与反思循环,将LLM幻觉转化为可控探索。该范式已在量化交易、智能物流、工业预测性维护等典型计算业务场

chouchijiao8952的博客 365

DeerFlow 2.0 部署与深度实践指南:从环境搭建、多通道消息接入到 Super Agent Harness 架构拆解

> 本文以仓库根目录下的 [README_fr.md](https://link.gitcode.com/i/aaaaee7052380b16bb58d0023f450cee) 为主线,面向希望把 DeerFlow 2.0 真正跑起来并深入理解其内部机制的开发者。文章覆盖一条从"一句话安装"到"生产级配置"的完整路径:交互式配置向导、Docker / 本地开发两种启动方式、模型与 Sandbox

gitblog_00707的博客 107

【企业知识助手·Agent 实战】如何实现 Agent Harness 运行时:从事件循环、工具调度器到沙箱执行环境的深度实战

核心原理:Agent 循环本身只有四个状态三个演员,真正的工程价值全部在它周围——Harness 是控制平面(决定下一步做什么、这一轮看到什么、错误怎么回注),Sandbox 是可重建的执行资源(决定在哪执行、隔离多强、凭证是什么),Session 是只追加的账本(决定发生过什么、从哪恢复、如何举证);三者的边界一旦划清,“沙箱死掉任务不死”“换模型不改架构”"副作用不重复"就都成了水到渠成的结果。

我的博客 135

CDH Hue连接Hbase报错TSocket read 0 bytes

问题描述 安装好CDH集群后,在Hue中查看HBase信息时,Hue界面报错如下: Api 错误:TSocket read 0 bytes Hue日志报错: exceptions_renderable ERROR Potential trace: [('/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hue/apps/hbase/src/hbase/api.py', 46, 'query', 'return getattr(self

邢为栋 3493

AI 工程师技能(ai-engineer)实战指南:基于 Agentic Awesome Skills 构建生产级 LLM 应用、RAG 系统与智能 Agent

本篇指南以 Agentic Awesome Skills 仓库中 `plugins/agentic-awesome-skills-claude/skills/ai-engineer/SKILL.md` 技能定义文档为主体,系统拆解 `ai-engineer` 技能的能力边界、工作方法论与完整能力清单——涵盖 LLM 集成与模型管理、进阶 RAG 检索系统、Agent 编排、向量搜索、提示词工程、生

gitblog_00302的博客 713

FPGA中的CMAC硬核与Interlaken硬核

CMAC硬核和Interlaken硬核是FPGA中两种重要的内置功能模块,它们分别在CNN推理和高带宽芯片到芯片接口方面发挥着关键作用。FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)中的CMAC硬核与Interlaken硬核是两种重要的内置功能模块,它们在FPGA设计中扮演着关键角色。需要注意的是,FPGA设计中的硬核选择不仅取决于硬核本身的性能,还需要考虑硬核与FPGA芯片其他部分的兼容性、功耗、成本等因素。Interlaken硬核。

weixin_41230430的博客 1482

LangChain Agent集成MCP与Skills:构建标准化智能体生态

在AI应用开发中,大语言模型(LLM)作为核心推理引擎,其能力通常局限于文本生成与思考,无法直接操作外部系统。为解决这一局限,智能体(Agent)架构应运而生,通过工具(Tools)机制赋予LLM与外部环境交互的能力。然而,随着工具数量的增长和来源的多样化,传统集成方式面临管理臃肿、调度复杂等挑战。Model Context Protocol(MCP)作为一种新兴的开放协议,旨在标准化AI模型与外部资源间的交互,其核心价值在于实现工具提供者(Server)与使用者(Client)的解耦,支持动态发现与统一的

weixin_33985507的博客 335

导数在工程与AI中的12个实战应用解析

导数作为数学中的基本概念,本质是描述变化率的工具,其核心价值在于将非线性问题局部线性化处理。从原理上看,通过极限过程捕捉函数瞬时变化特性,使工程师能精确控制系统动态行为,帮助科学家量化自然规律变化速率。在技术实现层面,现代符号计算(如Mathematica)、数值计算(如MATLAB)和自动微分(如PyTorch)工具链的发展,大幅提升了导数计算的效率与精度。典型应用场景涵盖机械控制(如ABS防抱死系统)、金融工程(如期权希腊值计算)、医疗影像(如Canny边缘检测)等领域。特别在机器学习中,反向传播算法依

weixin_35509395的博客 318

如何安装最新版本的 SAP ABAP Development Tool ( ADT ) ,并且能够随时升级

下载链接:https://tools.hana.ondemand.com/#abap 首先安装 Eclipse IDE for Java Developers 找到适合自己操作系统的 Eclipse 安装包: 安装之后,打开Eclipse: Install -> New Softwares, 输入 url:https://tools.hana.ondemand.com/latest 全部安装: 安装完毕之后,新建一个 ABAP Project,本地 SAP GUI 里添加的系统,会自动带出来:

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4288

LangChain JS/TS 生产级落地:LCEL陷阱、Agent状态与全栈可观测性

LangChain 作为大模型应用开发的核心框架,其核心抽象 Runnable 和 LCEL(LangChain Expression Language)在 JavaScript/TypeScript 环境中面临独特的工程挑战。不同于 Python 的成熟生态,JS/TS 版本需直面异步运行时契约、类型推导失效、无状态 Agent、并发失控及可观测性缺失等底层问题。理解 Runnable 的输入/输出契约与 withConfig 机制,是保障链路稳定的基础;而基于 AsyncLocalStorage 与 O

weixin_30588675的博客 421

【100%通过率】2024华为OD机试真题E卷 C++ 实现【栈数据合并/空栈压数】

向一个空栈压入正整数,每当压入一个整数时,执行以下规则(设: 栈顶至栈底整数依次编号为n1、n2...nx, n1为最新压入的整数)

MISAYAONE的博客 1554

Agent Runtime 正在退化为水电基础设施

Agent 运行时(runtime)是支撑大模型智能体持续交互、状态管理与安全执行的基础层,其核心原理在于解耦状态、隔离执行与统一可观测性。随着 Anthropic Managed Agents 等工业级方案落地,runtime 的技术价值正从‘自建复杂系统’转向‘稳定、轻量、可计费的抽象层’,类似90年代操作系统对硬件的虚拟化。这一演进显著提升了工程确定性与安全水位,使企业得以聚焦于 prompt 设计、tool 编排与业务 guardrail 等高价值环节。典型应用场景包括金融分析 agent、客服会话

342

科研项目数据抓取:Python爬虫实现与分析

本文详细介绍了如何使用Python爬虫抓取科研项目的数据,涵盖了从目标数据源选择到数据存储与分析的整个过程。通过使用。

2201_76125261的博客 1711

selenium绕过检测,规避检测

现在不少大网站有对selenium采取了监测机制。比如正常情况下我们用浏览器访问淘宝等网站的 window.navigator.webdriver的值为 undefined或者为false。而使用selenium访问则该值为true。那么如何解决这个问题呢?我们正常浏览器登录查看,window.navigator.webdriver的值为false我们通过selenium打开的网页,测试,可见window.navigator.webdriver的值为true。

景天科技苑 1万+

REA 安装教程:一条命令装好逆向分析 CLI 并接进你的 AI 智能体

REA 是开源逆向分析工具(npm 包名 `rea-agents`),让终端和 Claude Code、Codex、Cursor 等 AI 智能体在本地分析应用行为、JavaScript/Electron 应用与原生二进制,结论自带证据和局限性说明。本文带你走通完整路线:核对系统条件、按平台安装、setup 接入智能体、doctor 只读体检。 [![REA 安装配置后通过 Hopper 分析原

gitblog_00901的博客 81

YOLO11涨点优化:卷积魔改 | 可变形条带卷积(DSCN),魔改轻量DCNv3二次创新

如何跟YOLO11结合:1)和C3k2创新性结合

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 988

Agent记忆四层模型:Context、Memory、Session、State

大模型应用开发中,上下文窗口(Context Window)的有限性始终是工程落地的关键挑战。当多轮对话、业务状态与用户长期数据同时涌入,仅靠单一请求内的提示词拼接,往往导致“边做边忘”或上下文超限。为此,需将记忆体系拆分为四个层级:Context是单次请求的工作材料,Session是会话容器,State是业务进度快照,Memory则承载跨会话的长期档案。理解四者生命周期与存储方式,结合token预算控制、截断、摘要与向量检索召回,才能让Agent在电商客服等场景中稳定记忆。本文以具体代码演示Session

weixin_34095889的博客 336

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

深度拆解腾讯云WorkBuddy Enterprise:企业级Agent平台的工程化关键

企业级Agent平台是大模型从Demo走向生产的关键载体。与单点AI助手不同,它需要在权限、审计、工具连接、知识治理、可观测性等工程化能力上做到位,才能支撑组织级协作。通过多Agent编排与低代码/代码双轨开发,平台可将个人效率工具升级为超级团队的数字员工,在知识服务、流程操作、数据洞察等场景中实现安全可控的自动化。腾讯云WorkBuddy Enterprise正是这一方向的典型样本,本文从底层逻辑到落地实操,剖析企业级Agent平台的必备支柱与选型要点。

weixin_34274029的博客 285

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Agent Skill 工程化指南(二):设计与封装 — 构建高质量的能力单元

文章详细讲解了如何编写高质量的SKILL.md文档,从设计决策到具体实现要点。主要内容包括: 封装差的SKILL.md会遇到的三大问题:描述模糊导致召回失败、执行步骤不清晰、缺乏安全约束。 编写前的四个关键设计决策: 明确定义Skill解决的具体问题 合理控制功能粒度 评估操作的幂等性 考虑使用场景和触发方式 头部元数据的编写规范: 使用kebab-case命名规则 description要包含触发场景、具体动作和覆盖范围三个要素 文章强调SKILL.md是Skill的核心,其质量直接影响Agent的召回

chanalbert 348

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

智能体设计模式:Human-in-the-Loop 人类参与环节

HITL 的本质,是把人类判断力放到 Agent 的关键控制点上。AI 负责跑流程、查数据、生成方案。人负责确认边界、承担责任、处理模糊和高风险决策。一个能上线的 Agent,不是永远不问人,而是知道什么时候必须问人。智能体设计模式:Human-in-the-Loop 人类参与环节_热闻岛。

闵浮龙的博客 439

AI Agent跨会话记忆系统设计与工程落地

AI Agent的跨会话记忆能力,本质是解决大语言模型无状态特性与真实业务连续性需求之间的根本矛盾。其核心原理在于构建分层状态锚定系统——通过会话层(短期上下文)、用户层(身份持久化)和实体层(语义关联)协同实现状态可追溯、可恢复、可隔离。该技术显著提升用户留存率与会话深度,支撑金融客服、电商导购、SaaS助手等需多轮交互的生产场景。本文聚焦‘跨会话’与‘状态锚定’两大关键热词,详解轻量级、可演进的记忆架构选型、文件+内存混合存储实践,以及JWT身份提取、记忆压缩注入、多端同步等全链路工程方案。

weixin_34112181的博客 403

【AI大模型应用开发】【项目实战】智能助手(多智能体)知识整体知识总结以及为什么要使用各个方案进行项目开发与设计

多Agent系统架构设计与优化策略,明确职责边界、设计顺序交接机制、引入仲裁角色、优化反馈动力学和任务优先级抢占五类方法,避免Agent间的死循环和任务冲突,解析这些机制在MCP/A2A架构中的具体实现,包括结构化错误处理、状态机流转控制和全局熔断策略。梳理Agent设计的四个层级:推理层(ReAct、反思等思考模式)、能力层(工具调用和记忆)、调度层(路由和多Agent协作)以及运行层(循环执行机制)。强调现代Agent系统需融合各层模式,通过分层设计实现深度思考、工具调用、团队协作和自主运行的有机结合

资深系统架构,深耕高并发研发与 AI 大模型工程化落地。技术栈以 Python (AI/NLP/RAG/Agent) 与 Golang (高并发架构) 为双核心,兼具 PHP 大型应用经验。专注算法落地、复杂系统设计及团队技术赋能 387

超越任务成功率:构建AI智能体评估、治理与协调的实践框架

在人工智能领域,模型评估是衡量其性能与可靠性的基石,传统方法侧重于准确率、召回率等静态指标。然而,随着AI智能体(Agentic AI)的兴起,其具备自主规划、决策与执行复杂任务的能力,传统的评估体系已显不足。其核心原理在于,智能体的价值不仅体现在任务完成的最终状态,更蕴含在其行为过程、系统影响及长期演进中。从技术价值看,一套超越单一任务成功率的综合性评估框架,是确保智能体安全、可靠、高效服务于复杂业务场景的关键。这涉及到对智能体效能、安全合规、系统影响及长期学习能力的多维度证据收集与综合判断。在实际应用场

weixin_34195364的博客 382

理解 Linux 动态库加载:LD_LIBRARY_PATH

flyfish

二分掌柜的 399
上一篇: 前端转大模型:从团队协作视角展开
下一篇: Codex接入团队项目后,为什么联调反而崩了?
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值