WHO(谁负责) Skill 涉及三个角色,职责清晰分离: 角色 负责什么 核心能力 应用层(Agent框架) 技能注册、权限控制、元数据注入、实际执行 确定性、安全性、管理性 LLM 理解元数据、匹配用户意图 、选择技能、按指令执行 语义理解、推理决策 开发者/领域专家 编写 SKILL.md、开发脚本、定义业务规则 领域知识、工程实现 决策分工: • 应用层负责:"有什么技能可用"(提供菜单) • LLM 决策层 语义匹配,选择技能 推理计算 LLM 3. 激活层 返回 activate_skill 调用 结构化的 tool_calls LLM 4. LLM 调用 activate_skill 和具体工具 效果总结 指标 无 Skill 有 Skill 提升 上下文占用 50,000+ token 10,000 token 5倍节省 响应时间 3- 5秒 1-2秒 2-3倍 成本 $0.15/次 $0.03/次 5倍节省 错误率 20% 2% 10倍提升 开发效率 2周/功能 2天/功能 5倍提升 终极总结 # Skill 的 5W1H 一句话版
Discovery (扫描):Agent 启动时,只读取 SKILL.md 里的 name 和 description。内存占用极小,只为了“知道有什么”。 2. Activation (激活):只有当你的任务匹配到某个简介时(比如“处理 PDF”),Agent 才会动态加载完整的 SKILL.md 正文到 Context 中。 3. Agent Skills最大的改变就在于渐进式披露,其本质依然是行业中大家都在不断优化的提示词工程和上下文工程,其对提示词做了标准化拆分,通过在本地创建相关文件并控制文件的读取,只在Agent需要时自主且自动加载内容 反观Skills,Agent 最初只加载多个 Skills 的元数据(每个 Skill 占用几百 token),当 Agent 认为需要使用某个具体的 Skill,就会读取这个 Skill.md 说明( 几千 token) Skill 里还可以无限嵌套下去,告诉 Agent,想要深入了解某个具体问题,还可以继续读取哪份文件。
本文主要记录下如何创建一个简单的java Agent,并配置运行。 1.创建Agent类 package com.java4all.grouth.agent; import java.lang.instrument.Instrumentation; /** * @ description: java Agent * @author: IT云清 */ public class MyAgent { public static void premain(String ,args:"+agentArgs); } } 2.MANIFEST.MF 配置文件 这里在src/main/resources/META-INF/下创建一个MANIFEST.MF文件,指定Agent : true 3.打包配置 在pom.xml中配置打包信息 <build> <finalName>my-agent</finalName> <plugins>
1 简介 大家好我是费老师,前几天新版DeepSeek V3模型(代号250324)更新发布。 作为支持函数调用的先进开源大模型,我们可以基于它进行高效的Agent功能开发,这也是当下非常火热的AI应用领域。 今天的文章中,我就将带大家以Python生态中非常好用的Agent开发框架pydantic-ai为例,演示如何接入国内主流的DeepSeek V3服务,轻松实现常见的Agent开发相关功能。 传递即可,这样我们的Agent就像下面展示的那样具有了上下文记忆能力: 除此之外,Agent调用结果对应的new_messages()内容,还可以与JSON格式进行互转,这在很多AI应用开发场景中非常的受用 : 除了本文介绍的基础功能外,pydantic-ai还支持mcp等丰富的智能体开发常用功能,欢迎大家持续关注我们的相关教程文章。
3:off 4:off 5:off 6:off [root@zbx-target zabbix]# chkconfig zabbix-agent on [root@zbx-target zabbix ]# chkconfig --list | grep zabbix zabbix-agent 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@zbx-target net.if.discovery" {"data":[{"{#IFNAME}":"lo"},{"{#IFNAME}":"em1"},{"{#IFNAME}":"em2"},{"{#IFNAME}":"em3" CPU.NUMBER}":1,"{#CPU.STATUS}":"online"},{"{#CPU.NUMBER}":2,"{#CPU.STATUS}":"online"},{"{#CPU.NUMBER}":3, items ,这些条目的详细解释可以参考 Zabbix agent Zabbix中已经集成了大量的常用监控条目,不用过多配置就可以直接使用
Average | awk {'print $2'} #UserParameter=swap.out.ps,/usr/bin/sar -W 1 1 | grep Average | awk {'print $3' } UserParameter=mem.used,/usr/bin/free -k | grep + | awk '{print $3}' UserParameter=ps.proc.sum[*],/bin head -n 1 UserParameter=redis.stat[*],/usr/local/bin/redis-cli -h 127.0.0.1 -p $1 info $2 | grep $3: [root@zbx-server zabbix_agentd.d]# 重启agent [root@zbx-target zabbix_agentd.d]# /etc/init.d/zabbix-agent restart Shutting down Zabbix agent: [ OK ] Starting Zabbix agent:
Java Agent 概况 简介和功能 Java Agent是一种特殊的Java程序,允许开发者在 Java 应用程序运行时对其进行动态修改和监控的机制。 那么,我们如何开发一个 Java Agent 呢,下面我们来仔细说说。 开发 Java Agent 需要遵循一下规范,下面是几个必备的部分: 实现 premain 方法 premain 方法是 Java Agent 的入口点,类似于主程序的 main 方法。 实用案例 性能监控 Java Agent技术在性能监控领域的应用非常广泛,它可以帮助开发者实时监控应用程序的运行状态,识别性能瓶颈。 漏洞扫描:Agent可以集成漏洞扫描工具,对应用程序进行深度的安全检查,及时发现并修复安全漏洞。 性能影响 开发Java Agent时,性能影响是一个需要特别关注的问题。
要开发一个能深入理解项目的智能体(Agent),需要考虑多方面的项目理解和推理能力。 分析技术栈 tech_stack = self.analyze_tech_stack() # 3. () print(report) # 获取详细的项目理解 project_understanding = agent.understand_project() project_understanding['dependencies'].items())[:5]: print(f"{Path(file).name} -> {deps[:3] *:\s*\n\s*if .*:', '嵌套过深'), 'magic_numbers': (r'[^a-zA-Z0-9_]([0-9]{3,})[^a-zA-Z0-9_]', '
多模态Agent开发实战入门一、什么是多模态Agent?多模态Agent是指能够同时处理和理解多种类型数据(文本、图像、音频、视频等)的智能体,并能基于这些理解执行任务、做出决策。 )跨模态推理(图文关联、音画同步)工具调用(API、数据库、物理设备)自主规划与执行二、技术栈选型主流框架框架特点适用场景LangChain生态丰富,支持多模态模型快速原型、RAG应用AutoGen多Agent 协作,对话驱动复杂任务分解CrewAI角色化Agent,结构化流程业务自动化LangGraph图控制流,状态管理需要精确控制的流程多模态模型选择闭源API:GPT-4V、GPT-4o、Claude 3、 协作冲突引入仲裁Agent;明确角色分工(如CrewAI的Process)四、项目实践路线第1周:掌握基础API调用(GPT-4V或Qwen-VL)→ 完成图文问答第2-3周:集成LangChain → 构建可调用工具(搜索、计算、数据库)的Agent第4-5周:添加记忆模块 → 实现多轮对话上下文保持第6-8周:多模态RAG → 图片库检索 + 文档问答进阶方向:视频流理解、语音交互、多Agent协同
适合读者: 1.刚开始做 Agent 项目,想快速落地最小可用版本 2.需要在“简单查询、复杂交互、知识问答”之间做架构选型 3.希望统一前后端、模型、工具与存储技术栈 一、先理解整体架构 从上到下可以分为 Agent 编排层:Agent Manager、LangGraph 编排、Agent Factory、FC(Function Calling) 3. 3. 三、技术栈清单(按层) 前端 Vue `3.x / 2.x` TypeScript `5.x` Vite `5.x` / Webpack `5.x` Tailwind CSS `3.x` shadcn/ Top Agent 先接 FC 跑通 1 个核心业务场景。 3. 再按业务需要逐步引入 MCP、Sub Agent、RAG。 4. 同步接入日志、Tracing、重试和超时机制。
Spring AI Alibaba 项目从架构上包含如下三层: Agent Framework 是一个以 ReactAgent 设计理念为核心的 Agent 开发框架,使开发者能够构建具备自动上下文工程和人机交互等核心能力的 Agent。 Graph graph 是一个低级别的工作流和多代理协调框架,能够帮助开发者实现复杂的应用程序编排,它具备丰富的预置节点和简化的图状态定义,Graph 是 Agent Framework 的底层运行时基座 (), actions, actionNodeIds, keyStrategyMap, compileConfig); // 3. 加速查找 for (var e : processedData.edges().elements) { edges.put(e.sourceId(), targets.get(0)); } 原因 3:
对于 LLM 开发者,MCP 是一个变革性的协议。 它消除了为每个数据源或工具进行定制集成的需要,减少了开发时间和维护成本。 从本质上来说,MCP是一种技术协议,一种智能体Agent开发过程中共同约定的一种规范。 在统一的规范下,协作效率就能大幅提高,最终提升智能体Agent的开发效率。 传统的Function calling技术要求围绕不同的外部工具API单独创建一个外部函数,类似一把锁单独配一把钥匙,而一个智能体又往往涉及到多个外部工具设计,因此开发工作量很大。 3、生成列表 :将查询到的外部工具整理成列表,并融入当前对话场景。 4、调用工具 :通过 Function calling 技术调用所需的外部工具。 VS Function calling Function Calling是AI大模型模型调用函数的机制, MCP是一个标准协议,使大模型与API无缝交互, 而AI Agent是一个自主运行的智能系统,利用
PRD(产品需求文档)已死 在 Claude 时代之前,PRD 是软件开发的核心。EPD 的流程通常是这样的: 1. 有人(通常是产品经理)有了一个想法 2. 产品经理写一份 PRD 3. 工程师将原型图转化为代码 想法 → PRD → 原型图 → 代码 这并非硬性规定(在初创公司这些步骤是融合的,最好的构建者能同时做多项工作),但这是教科书式的开发方式。 3. PRD 万岁 Claude 时代之前的软件构建方式(从 PRD 开始)已经过去。但描述产品需求的文档仍然是必不可少的。 假设有人有一个想法并快速构建了一个原型。如何将其投入生产? 现在他们只需要与Agent沟通。这意味着他们仅凭自己就能产生比以往任何时候都大得多的影响力。 2. 编程Agent是刚需 随着编程Agent让实施变得廉价,使用它们成为了一种要求。 采用编程Agent是刚需,因为这并不难,如果你不这样做,你就会被使用它的人取代。 3. 好的产品经理很棒,糟糕的产品经理很可怕 好的产品思维比以往任何时候都更有价值——你可以构建有用的东西。
对于Agent的价值,一直抱有怀疑态度,甚至认为未来会不会像大前端一样 别看现在火爆得不行,其实再走到下一个节点,就如前端一样,在裁员批次里面是第一梯队 因为它只是个连接器,一端是大脑LLM,另一端是之前承载业务的平台或专业软件 像一个垂直类专业软件,需要花费很多的资源去培训客户,但如果有了agnet,通过自然语言直接对话,都不需要去学习软件的使用,就能产出相应的结果 有点类似后端程序,可能都不清楚产品前端界面是什么样,开发一个个接口逻辑就行了 在看到arthas也出品了agent,这感觉具象化了,对于arthas 我是实实在在的使用客户。 但有了agent 那就更方便了,什么都不需要,把碰到的问题直接使用自然语言抛给agent,它能帮你分析,帮你执行命令。 相当方便 本来打算学习一下arthas agent,结果agent也没对外开源,只是阿里内部使用。
尤其是做Agent的时候,Prompt写不好,不只是回答丑一点,而是接口挂、JSON解析挂、教师端页面挂、学生画像误判,最后后端还要背锅。我之前做高校学情分析Agent的时候,就被这个东西反复折磨。 在Agent开发中,提示词经常不是一次性文本,而是由后端模板、用户输入、检索内容、工具返回结果拼接而成。 3.Few-shotPromptingFew-shot就是给模型几个例子,让它照着学。这个在分类、命名、文案、风险判断里很好用。 比如你要写一份Agent开发文档,很多人会直接这样问:展开代码语言:TXTAI代码解释帮我写一份高校学情分析Agent的开发文档,越详细越好。模型确实能写。 里面故意保留了一点我平时开发会出现的东西,比如忘删的console.log,还有注释掉的旧代码。
ReAct(Reasoning + Acting)是一种将推理和行动相结合的 Agent 范式。在这个范式中,Agent 会: 1. 行动(Acting):执行工具调用或生成最终答案 3. 观察(Observation):接收工具执行的结果 4. Graph 由节点(steps)和边(connections)组成,定义了 Agent 如何处理信息。 (钩子节点):在关键位置插入自定义逻辑 ReAct Agent 的工作方式其实挺像人类解决问题的过程。 完整提示词 = 替换占位符(提示词模板, { 历史上下文: 历史上下文, 当前环境信息: 当前环境信息, 用户目标: 用户目标 }) // 3.
L3 Copilot 人类和4I进⾏协作,工作量相当。AI根据人类要求完成⼯作初稿,人类进行目标设定,修改调整,最后确认。 2 ERNIE Bot Agent开发框架ERNIE Bot Agent 基于文心模型的 Function Calling(下⾯简称FC) 能力实现了多工具编排和自动调度功能,并且允许工具、插件、知识库等不同组件的混合编排 /ERNIE-SDK/erniebot-agent # 安装核⼼模块 #pip install './erniebot-agent/. "BEWARE", "OF FALLING", "COCONUTS" ], "words_result_num": 3 content: {"words_result": ["BEWARE", "OF FALLING", "COCONUTS"], "words_result_num": 3}
两年深耕,无数次架构迭代与实战验证,我们终于摸清了Agent开发的核心脉络。 作为AI Agent领域的入局者,接触该类产品开发不知不觉已有两年多之久。期间前前后后调研了不少内容,从开发经验总结的角度写下这一篇文章总结记录的同时,希望能给需要的同学们带来一定帮助。 的开发框架 大模型多Agent协作技术的发展可以明显划分为三个主要阶段,每个阶段都有其独特的技术特点和代表性成果。 这一时期最重要的里程碑是微软AutoGen框架的发布,它为多Agent协作提供了一个标准化、易用的开发平台。 研究者们开始将通用的多Agent框架与具体的应用场景相结合,如金融交易、软件开发、内容创作等,形成了领域特化的Agent协作模式。
在实践1中,介绍了 动态规划DP 求解 价值函数 并没有形成一个策略Policy\(\pi\)来指导agent的动作选取,本节将利用SARSA(0)的学习方法,帮助agent学习到价值函数(表),指导 Agent的写法 Agent的三要素是:价值函数、策略、模型 Sarsa(0)是不基于模型的控制,其动作选择策略是\(\epsilon\)-greedy,根据价值函数选择动作。 对于一般问题,Agent包括如下功能 对环境的引用 自身变量:Q值,状态值的记忆 策略方法 动作执行方法 学习方法:改进策略,这部分是关键 class Agent(): def __init__ act(self, a): # 执行一个行为 return self.env.step(a) def learning(self): pass # 学习过程 Agent num_episode == max_episode_num: # 终端显示最后Episode的信息 print("t:{0:>2}: s:{1}, a:{2:2}, s1:{3}
目录执行摘要框架概述详细对比分析优劣势分析发展前景选型建议执行摘要本报告对四个主流Agent开发框架进行了全面对比分析:Eino(字节跳动)、AgentScope(阿里巴巴)、Youtu-Agent(腾讯 界面3. DeepSeek-V3优化4. Go语言学习成本3. 企业市场快速增长Eino在高性能场景获得更多采用Youtu-Agent在成本敏感市场扩大份额中期(3-5年):框架间功能趋于同质化生态集成能力成为关键差异化企业级特性成为竞争焦点跨语言互操作性增强长期(