AI代理到底怎么玩?

AI驱动开发代理实战:700万tokens构建可玩赛车游戏 AI驱动开发代理(AI-Driven Development Agent)是一种将需求理解、代码生成、自动验证与迭代优化深度集成的新型软件工程范式。其核心原理在于通过分层构建环(如意图对齐、模块契约、增量实现、自验证等)实现渐进式可信交付,而非依赖单次大模型输出。该技术显著提升工程确定性,尤其适用于物理仿真、实时交互等强约束场景,如WebGL游戏开发、车载HMI系统等。关键挑战在于token预算管理与上下文可信维护——真正消耗token的并非代码本身,而是让AI理解人类规则、错误反馈与感官体验的过程。本文以 阅读详情

摘要

  • 当前AI Agent和RAG(检索增强生成)最流行的架构包括基础RAG、代理式RAG路由、查询规划代理式RAG等,研究表明这些架构在提升AI性能方面效果显著。
  • 代理式RAG架构允许AI根据查询动态选择工具或数据源,证据倾向于其在复杂任务中表现优异。
  • 本文每个讨论到的架构都有代码示例,适合快速入门,帮助理解实际实现。

什么是AI Agent和RAG

AI Agent是能够执行任务或决策的软件程序,利用AI技术如大型语言模型(LLM)理解自然语言并与用户或系统交互。RAG是一种技术,通过从外部知识库检索信息增强语言模型的生成能力,确保响应更准确和最新。

流行架构概述

以下是当前AI Agent与RAG结合的流行架构,每个架构都有详细解释和代码示例,适合面试中讨论:

  • 基础RAG:简单从静态数据库检索后生成响应,适用于小型数据集。
  • 代理式RAG路由:AI根据查询动态选择工具,如本地知识库或网络搜索。
  • 查询规划代理式RAG:将复杂查询分解为子查询,逐个处理,适合多步骤任务。
  • 自适应RAG:根据查询复杂性调整策略,简单查询直接回答,复杂查询分步处理。
  • 代理式纠正RAG:AI自检并纠正响应,确保准确性。
  • 自反式RAG:AI反思过去交互以改进表现,适合长期学习场景。
  • 推测式RAG:先生成初步响应,再通过检索验证,平衡速度与准确性。
  • 自路由代理式RAG:AI决定是否直接处理或路由到其他组件,如长上下文模型。

详细报告

引言

本文旨在为面试准备提供一份详尽的材料,讲解当前AI Agent和RAG(检索增强生成)最流行的架构,并为每种架构提供代码示例。这些架构结合了AI代理的决策能力和RAG的外部信息检索功能,广泛应用于现代AI应用中,如客户支持和内容生成。

AI Agent的概述

AI Agent是软件程序,能够代表用户执行任务或决策,利用AI技术如机器学习或大型语言模型(LLM)。根据功能,AI Agent可分为:

  • 反应式Agent:基于当前感知直接行动,无记忆。
  • 深思熟虑式Agent:通过推理和规划行动,考虑多种选项。
  • 学习型Agent:通过经验学习,逐步提升性能。
  • 自主Agent:无需人类干预独立操作。

在现代AI中,特别是在LLM的背景下,AI Agent常用于理解自然语言、决策和与用户或系统交互。

RAG(检索增强生成)的介绍

RAG是一种结合语言模型与外部信息检索的技术。当用户提出查询时,系统首先从数据库或知识库中检索相关信息,然后利用这些信息通过语言模型生成响应。RAG的工作流程包括:

  1. 查询处理:理解用户查询的内容。
  2. 检索:从知识库中获取相关数据。
  3. 生成:利用检索到的信息生成响应。

RAG的优点包括:

  • 提高准确性:通过外部知识确保信息最新和正确。
  • 减少幻觉:降低模型生成错误信息的可能性。
  • 灵活性:知识库可独立更新,不依赖模型训练。

应用场景包括客户支持、内容生成,以及需要准确上下文信息的任何应用。

当前流行架构的详细分析

以下是当前AI Agent与RAG结合的七种流行架构,基于2025年最新研究和实践,涵盖单代理和多代理系统。每种架构的描述和代码示例均基于LangChain等流行框架的实现。

1. 代理式RAG路由

描述:
代理式RAG路由允许AI根据查询的性质动态选择工具或数据源。例如,对于当前事件可能选择网络搜索,对于历史数据可能选择本地知识库。这种架构增强了LLM的灵活性,特别适合需要多种信息源的任务。

代码示例:

from langchain.agents import initialize_agent, Tool
from langchain_openai import OpenAI
from langchain.vectorstores import Chroma
from langchain.embeddings import OpenAIEmbeddings
from langchain.text_splitter import CharacterTextSplitter

# 设置检索工具
with open('some_text_file.txt', 'r') as f:
    text = f.read()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = text_splitter.split_text(text)
vectorstore = Chroma.from_documents(docs, OpenAIEmbeddings())
retriever = vectorstore.as_retriever()
def retrieve(query):
    return retriever.get_relevant_documents(query)

# 设置网络搜索工具(简化版)
import requests
def web_search(query):
    url = f"https://www.google.com/search?q={query}"
    response = requests.get(url)
    return response.text[:1000]

tools = [
    Tool(name="Retrieval", func=retrieve, description="从知识库中检索相关文档。"),
    Tool(name="Web Search", func=web_search, description="在网络上搜索信息。")
]

llm = OpenAI(temperature=0)
agent = initialize_agent(tools, llm, agent="zero-shot-react", verbose=True)
agent.run("美国当前的总统是谁?")

解释:此示例中,代理根据查询内容选择使用本地检索或网络搜索,体现了路由功能。

2. 查询规划代理式RAG

描述:
此架构处理复杂查询,通过将其分解为子查询并分别处理,适合需要多步骤推理的任务。例如,计算“美国人口的平方根”可能先搜索人口数据,再进行计算。

代码示例:

from langchain.agents import initialize_agent, Tool
from langchain_openai import OpenAI

tools = [
    Tool(name="Calculator", func=lambda x: eval(x), description="执行数学计算。"),
    Tool(name="Search", func=lambda x: f"搜索结果:{x}", description="在网络上搜索信息。")
]

llm = OpenAI(temperature=0)
agent = initialize_agent(tools, llm, agent="zero-shot-react", verbose=True)
agent.run("美国人口的平方根是多少?")

解释:代理可能先用“Search”工具查找人口数据,再用“Calculator”计算平方根,体现了规划能力。

3. 自适应RAG

描述:
根据查询复杂性调整策略,简单查询直接回答,复杂查询分步处理。例如,“2+2是什么”可能是简单查询,而“生命的意义是什么”可能需要更复杂的处理。

代码示例:

from langchain.agents import initialize_agent, Tool
from langchain_openai import OpenAI
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate

prompt = PromptTemplate(input_variables=["query"], template="这个查询是简单还是复杂?{query}")
classifier_chain = LLMChain(llm=OpenAI(), prompt=prompt)
def classify_query(query):
    response = classifier_chain.run(query)
    return "简单" in response

simple_tool = Tool(name="Simple Answer", func=lambda x: "这是一个简单答案。", description="用于简单查询。")
complex_tool = Tool(name="Complex Processing", func=lambda x: "这需要复杂处理。", description="用于复杂查询。")
def adaptive_rag(query):
    if classify_query(query):
        return simple_tool(query)
    else:
        return complex_tool(query)

tools = [Tool(name="Adaptive RAG", func=adaptive_rag, description="根据复杂性处理查询。")]
llm = OpenAI(temperature=0)
agent = initialize_agent(tools, llm, agent="zero-shot-react", verbose=True)
agent.run("2+2是什么?")
agent.run("生命的意义是什么?")

解释:通过分类器判断查询类型,体现了自适应性。

4. 代理式纠正RAG

描述:
此架构包括自校正机制,生成响应后检查其准确性,若不正确则纠正。例如,生成“法国首都是巴黎”后,检索确认是否正确。

代码示例:

from langchain.agents import initialize_agent, Tool
from langchain_openai import OpenAI
from langchain.vectorstores import Chroma
from langchain.embeddings import OpenAIEmbeddings
from langchain.text_splitter import CharacterTextSplitter

with open('some_text_file.txt', 'r') as f:
    text = f.read()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = text_splitter.split_text(text)
vectorstore = Chroma.from_documents(docs, OpenAIEmbeddings())
retriever = vectorstore.as_retriever()
def retrieve(query):
    return retriever.get_relevant_documents(query)

def check_response(response, query):
    retrieved = retrieve(query)
    for doc in retrieved:
        if response in doc.page_content:
            return "正确"
    return "不正确"

tools = [
    Tool(name="Retrieval", func=retrieve, description="从知识库中检索。"),
    Tool(name="Check Response", func=check_response, description="检查响应是否正确。")
]

llm = OpenAI(temperature=0)
agent = initialize_agent(tools, llm, agent="zero-shot-react", verbose=True)
agent.run("法国的首都是什么?")

解释:代理生成响应后用“Check Response”工具验证,体现了校正功能。

5. 自反式RAG

描述:
AI反思过去交互以改进表现,适合需要长期学习的场景。例如,记录错误并在下次调整策略。

代码示例:

from langchain.agents import initialize_agent, Tool
from langchain_openai import OpenAI
from langchain.memory import ConversationBufferMemory

memory = ConversationBufferMemory()
def reflect_on_past(query):
    past_interactions = memory.load_memory_variables({})['history']
    return f"过去交互:{past_interactions}"

tools = [Tool(name="Reflect", func=reflect_on_past, description="回顾过去交互。")]
llm = OpenAI(temperature=0)
agent = initialize_agent(tools, llm, memory=memory, agent="zero-shot-react", verbose=True)
agent.run("法国的首都是什么?")
agent.run("等等,我觉得之前可能错了,让我检查。")

解释:通过记忆存储交互,代理能反思过去,提升未来表现。

6. 推测式RAG

描述:
先生成初步响应,再通过检索验证,平衡速度与准确性。例如,先猜“法国首都是巴黎”,再检索确认。

代码示例:

from langchain.agents import initialize_agent, Tool
from langchain_openai import OpenAI
from langchain.vectorstores import Chroma
from langchain.embeddings import OpenAIEmbeddings
from langchain.text_splitter import CharacterTextSplitter

with open('some_text_file.txt', 'r') as f:
    text = f.read()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = text_splitter.split_text(text)
vectorstore = Chroma.from_documents(docs, OpenAIEmbeddings())
retriever = vectorstore.as_retriever()
def retrieve(query):
    return retriever.get_relevant_documents(query)

def speculative_rag(query):
    initial_response = llm(query)
    retrieved = retrieve(query)
    for doc in retrieved:
        if initial_response in doc.page_content:
            return initial_response
    corrected_response = llm(f"根据{retrieved},纠正{initial_response}")
    return corrected_response

tools = [Tool(name="Speculative RAG", func=speculative_rag, description="生成并验证响应。")]
llm = OpenAI(temperature=0)
agent = initialize_agent(tools, llm, agent="zero-shot-react", verbose=True)
agent.run("法国的首都是什么?")

解释:先快速生成再验证,体现了速度与准确性的平衡。

7. 自路由代理式RAG

描述:
AI决定是否直接处理查询或路由到其他组件,如长上下文模型。适合需要动态决策的任务。

代码示例:

from langchain.agents import initialize_agent, Tool
from langchain_openai import OpenAI
from langchain.agents import load_tools

tools = load_tools(["serpapi", "wikipedia"])
def self_route(query):
    if "当前" in query.lower():
        return tools[0].run(query)
    else:
        return tools[1].run(query)

tools.append(Tool(name="Self Route", func=self_route, description="根据内容路由到合适工具。"))
llm = OpenAI(temperature=0)
agent = initialize_agent(tools, llm, agent="zero-shot-react", verbose=True)
agent.run("美国当前的总统是谁?")
agent.run("美国的第一任总统是谁?")

解释:根据查询内容(如“当前”)选择工具,体现了路由决策。

总结与面试建议

以上架构涵盖了AI Agent与RAG的最新发展趋势,面试中可根据具体问题展示对每种架构的理解和实现能力。代码示例基于LangChain框架,实际应用中可能需要调整以适应具体需求。

关键引用
GUI智能代理:用AI代理玩米哈游游戏《崩坏》 The Dawn of GUI Agent”项目通过Claude 3.5 Computer Use实现了从自然语言到桌面操作的端到端控制,为用户提供了全新的交互体验。无论是游戏爱好者还是办公用户,都可以通过简单的自然语言指令完成复杂的操作,大大提高了效率和便利性。未来,随着技术的不断优化和扩展,GUI智能代理将为更多领域带来革命性的变化。欢迎广大用户试用并提供宝贵的反馈,共同推动这一创新技术的发展和完善。 阅读详情

相关推荐

施密特触发电路详细原理介绍

我们想获得矩形脉冲,有种方法是可以采用整形的方法获得矩形脉冲,但前提是可以找到频率和幅度都符合要求的电压信号。 我们设定矩形脉冲的几个指标。 施密特电路是脉冲波形变换中一种常采用的电路,主要有以下两个特点: 1.输入电平从低电平上升过程中电路状态转换为对应的输入电平,与高电平下降过程中对应的输入转换电平不同。 2.通过电路内部的正反馈使输出电压波形的边沿变得很陡。 施密特电路的结构和工作原理 我们先从模电的角度来分析此电路的工作原理。 此电路是通过公共发射极电阻耦合的两级正反馈放大器。 v1输入为低电平

fcxgfdjy的博客 1万+

从gemini-cli源码挖出顶级Prompt秘籍,AI代理原来这么玩!

当我们谈论构建强大的 AI 应用时,尤其是在开发者工具领域,我们梦想的不仅仅是一个问答机器人。我们想要的是一个智能的、能自主行动的“代理”(Agent)——一个能理解代码库、执行命令、修复 Bug、甚至从零开始构建应用的得力助手。

m0_65555479的博客 1249

以ATT&CK为例构建网络安全知识图

随着攻击工具、方法的逐渐升级和复杂化,安全数据的大规模融合,攻防对抗愈加激烈。安全团队如何在浩瀚数据中有效发现高级威胁的蛛丝马迹,如何把网络安全专家的经验、知识有效转化为可复制可扩展的数据分析能力,如何将对抗高级威胁的“炼金术”逐步升级为科学淘金指南,如何将安全从业者从繁重的体力劳动中解放出来,愈发成为安全能力亟需突破的难点和重点,也是我们正在探索的方向。正如医疗行业中治疗疑难杂症依赖医疗专家,网络空间高级威胁的防护和处置也依赖安全专家的经验与知识。

2401_88752684的博客 1085

从控制流到 Turing 完备:jlox 的 if/逻辑运算符/while/for 与 break 扩展实战解析

> 导读:本文以《Crafting Interpreters》第九章(Control Flow)为骨架,完整讲解在 jlox 解释器中落地条件分支(`if`/逻辑运算符)、循环(`while`/`for`)的完整过程——包括语法、AST 生成、解析与解释执行,并深入解答章节末尾的三道挑战题:用对象回调模拟条件执行、用尾递归实现迭代(尾调用优化)、以及给 jlox 新增 `break` 语句的端到端

gitblog_00016的博客 965

统信UOS V20 安装mysql5.7.42详细教程

到bin/下,执行下面的命令,初始化mysql服务信息,得到数据库的初始密码,实际如果目录不一样记得换成自己的目录。下载后通过远程将安装包上传至服务器,我这里将安装包上传至/usr/local/mysql 下。ps:这时候如果还是不能远程访问的话,可能是防火墙的原因,命令行执行以下命令即可。再次登录,发现缺少 libtinfo.so.5文件,再次建立软连接。登录,发现报错,提示缺少libncurses.so.5文件,使用。创建 /var/lib/ 下mysql目录。登录成功,修改密码,设置远程访问。

为谁伫立在风中 1万+

022、Conv-BN-SiLU 基础卷积块:构造函数参数计算,前向传播的 PyTorch 逐行实现

本文详细解析了Conv-BN-SiLU卷积块的实现细节与注意事项。作者从调试经历出发,指出bias参数冗余会导致数值不稳定,强调卷积层应设置bias=False。文章对比了SiLU与ReLU的特性差异,逐行分析了构造函数参数计算(包括自动填充、分组卷积等)和前向传播过程,特别讲解了BN层与SiLU激活的数值特性。最后分享了三个实践中的常见问题:BN的momentum设置、SiLU输出范围的影响,以及分组卷积的通道对齐要求,并提供了卷积与BN融合的推理优化技巧。全文聚焦实际工程实现中的关键细节,具有较强实操指

ai技术增长的博客 214

Trace强化学习案例:打造会玩战舰游戏的自改进AI代理

Trace作为端到端生成优化框架(End-to-end Generative Optimization for AI Agents),让AI代理能够通过自我学习不断提升技能。本文将通过战舰游戏案例,展示如何使用Trace构建会玩战舰游戏的自改进AI代理,无需深厚的强化学习背景也能轻松上手。 ## 🚢 战舰游戏:AI学习的理想环境 战舰游戏是经典的回合制策略游戏,玩家需要通过猜测对方舰船位置来

gitblog_00365的博客 150

MCP+A2A:从实验室到生产环境的落地之旅

本文通过实际项目中的落地案例,展示了 MCP+A2A 协议结合使用的强大功能和广泛适用性。同时,我们也探讨了开发者社区的贡献、与其他技术的融合,以及未来技术趋势的展望。希望本文能够帮助读者更好地理解如何将这一架构从实验室推向生产环境,推动 AI 技术的实际应用。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1486

从AI玩梗到工程实践:基于LangChain构建智能对话代理

意图识别是自然语言处理中的核心任务,它使计算机能够理解用户话语背后的真实目的。其原理通常涉及从用户输入中提取关键信息并映射到预定义的操作类别。这项技术的价值在于为对话系统、智能助手等应用提供基础理解能力,是实现自然交互的关键。在实际应用场景中,意图识别常与槽位填充、上下文管理及安全护栏等技术结合,共同构建鲁棒、可控的对话系统。本文以当前热议的“叫我那两个字”这一具体交互现象为切入点,深入探讨了如何利用大语言模型(LLM)和LangChain框架,解决开放域指令下的意图模糊性、伦理边界等工程挑战,并动手实现了

weixin_29041767的博客 233

3. Matérn协方差模型与随机偏微分方程

对应的高斯马尔可夫随机场 (GMRF)可以通过使用某种随机偏微分方程(SPDE)明确构造,当由高斯白噪声驱动时,随机偏微分方程的解是具有 Matérn 协方差函数的高斯场(GF)

weixin_40614311的博客 1737

YOLO12涨点改进| 损失函数改进篇 |AAAI 2025| 一种小目标检测SDLoss损失函数,解决现有损失函数对不同目标尺度敏感度不足的局限,提高了网络检测不同尺度目标的敏感能力,助力高效涨点

本文提出了一种改进的小目标检测方法SDLoss,通过动态调整尺度损失与位置损失的权重,优化了YOLOv12模型的性能。针对红外小目标检测中存在的两个主要问题:1)标准卷积难以捕捉目标的高斯空间分布特性;2)现有损失函数对不同尺度目标的敏感度不足,研究团队开发了Pinwheel-shaped卷积(PConv)和Scale-based Dynamic损失函数(SDLoss)。PConv通过不对称卷积核设计显著提升感受野,SDLoss则根据目标大小动态平衡尺度与位置损失的影响。

Ai缝合怪、助力小伙伴高效发论文 233

“捉迷藏”也能学习?OpenAI用其教会AI团队合作!

图1:OpenAI的AI自己学会了如何玩捉迷藏游戏捉迷藏的游戏自古已有之,它给无数孩子带来了无穷的童年乐趣。然而,现在这种古老游戏又在人工智能(AI)领域被赋予了新生,它...

网易智能 1370

密码学系列3-Elgamal加密及其IND-CPA安全性证明

但这没有任何影响,敌手本身就只能知道公钥,他并没有能力知道挑战者是否知道对应的私钥。所以上述整个游戏就是一个模拟实验,敌手无法区分挑战者运行的是这个模拟实验,还是真正的按照第一节的算法构造的实验(挑战者知道私钥…为什么合起来的时候有1/2:因为T既可能是随机的也可能是g^{ab},这两种情况概率为1/2。能够攻破Elgamal加密方案,那么挑战者利用敌手的能力构建下面游戏,来求解困难性问题DDH。就是挑战者选的随机数,虽然挑战者自己也不知道。),否则挑战者输出0,作为DDH的回答。

qq_41359358的博客 1248

tensorflow训练ai玩flappybird

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34008805的博客 368

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

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

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

人工智能Agent,有朝一日如何取代工人

在安装了各种插件(增强机器人功能的软件)后,你可以让它在Expedia等旅游网站上搜索可用的航班,从谷歌地球获取你家乡的地图,甚至将详细说明你每年支出的电子表格转换为彩色条形图。但是,当计算机芯片公司英伟达(Nvidia)的人工智能研究人员团队掌握了聊天机器人的底层技术时,他们意识到它可以做更多的事情。其他公司,包括一家名为Adept的初创公司,正在建立类似的代理,使用Wikipedia,Redfin和Craigslist等网站以及Salesforce等公司的流行办公应用程序。英伟达的经纪人在玩游戏。

东南草堂 155

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

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

教遗传算法人工智能玩超级马里奥大陆

来源:DeepHub IMBA 本文约1900字,建议阅读5分钟本文将将向读者展示如何开发遗传算法 AI 以使用 Python 玩超级马里奥乐园。 这是教授 AI 为 GameBoy ...

数据派THU 268

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

AI赋能线下娱乐新风口:上海潮玩鸟“智能弹珠机”全国市场正式启动

针对全国各地的合作伙伴,潮玩鸟科技通过科学的财务模型设计,推出了包含“梯度安装补贴”、“服务费返还”“设备押金复用”在内的多元化合作方案。此次推出的核心产品潮玩鸟“AI智能弹珠机”,并非传统意义上的机械游艺设备,而是融合了物联网(IoT)、智能风控与实时数据分析的“微型智能商业终端”。“未来的线下商业,一定是智能终端与在地资源的完美结合。面对广阔的市场前景,潮玩鸟科技没有选择传统的“卖机器、割韭菜”模式,而是秉持“先分钱、共发展”的共赢理念,推出了一套行业首创的“低风险、稳回报”创新合作机制。

2508_92108265的博客 102

2025年构建人工智能代理的五大框架

● AI代理是能够进行高级决策和任务执行的自主实体。● 代理式 AI 系统结合大型语言模型(LLMs)、工具和提示来管理复杂任务。● AI 代理框架通过预构建的组件和工具简化开发流程。● 核心组件包括代理架构、环境接口、任务管理、通信协议和学习机制。● 这些框架加速了开发进程,促进了标准化,并增强了 AI 的可扩展性和可访问性。●顶级框架包括 Langchain、LangGraph、Crew AI、Microsoft Semantic Kernel 和 Microsoft AutoGen。

栖客 2544

什么是人工智能代理(AI Agent)

OpenAI曾提出过AI五个发展阶段,第一阶段具备语言能力,产品多指向聊天机器人;第二阶段具备推理能力,可以帮助人类解决一定问题;第三阶段就是代理能力,开始帮助人类行动;第四阶段AI可以融入发明创造过程,第五阶段具备体系化工作能力。第三个阶段正在逐步向我们靠近,最近Gartner十大战略技术趋势报告(2025)中着重提出未来什么是人工智能代理简单来说,AI 代理是一种由 AI 驱动的软件,它可以为您完成一系列工作,而这些工作过去可能由人类客户服务、人力资源人员或 IT 服务台员工完成。

m0_59163425的博客 2698

什么是Agentic AI(代理型人工智能)?

什么是Agentic AI(代理型人工智能)? 什么是Agentic AI(代理型人工智能)? 什么是Agentic AI(代理型人工智能)? 什么是Agentic AI(代理型人工智能)? Agentic AI(代理型人工智能)是一类具备自主决策、目标导向性与持续行动能力的人工智能系统。与传统AI系统依赖外部输入和显式命令不同,Agentic AI在设定目标或任务后,能够独立规划、执行、反馈并优化自身行为策略,仿佛一个“虚拟代理人”般在人类指定的环境或系统中持续工作。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:CSDNWF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 1万+

人工智能代理(AI Agent)

人工智能代理(AI Agent)在人工智能领域,"AI Agent"是一个核心概念,它代表着能够自主或半自主地感知环境、处理信息、做出决策并执行行动以达成特定目标的软件实体。AI代理是连接人工智能理论与实际应用的桥梁,广泛应用于机器人、自动化系统、智能推荐、游戏AI、物联网(IoT)等多个领域。本文旨在提供一个全面的介绍,涵盖AI代理的基本概念、架构、关键组件以及它们的应用场景。

weixin_43156294的博客 2816

生成式AI与人工智能代理:深入理解差异与工作机制

生成式AI擅长于生成文本和图像,依赖于指令进行内容创作,缺乏自主性。人工智能代理则具备自主决策能力,能够设定目标并适应变化,处理复杂任务。它们通过持续学习和优化,提高工作效率,是未来AI应用的重要发展方向。

wangjye99的博客 1595

人工智能入门教学——AI代理(AI Agent)

人工智能入门教学——AI代理(AI Agent)。

计算机硕士的博客 4494

AI Agents:人工智能代理的广泛应用与前景

AI代理是现代人工智能技术的重要组成部分,它们通过自主感知、决策和执行,能够在各种。

u012901740的博客 1748

AI的下一步是什么:人工智能代理工作流程?

相信大多数人最近都听说过 Devin AI,作为世界上第一个 AI 软件开发商,它吸引了大量关注。现在我们又有一位来自印度的开发者,名叫 Devika。

RA AI衍生者训练营的博客 2224

基于ai的_基于人工智能的代理

基于ai的An artificial intelligent based agent is responsible for any work output obtained from the system. It is the main component which while dealing with artificial intelligence because it is the inte...

cumtb2009的博客 818
上一篇: 宇树机器人丝滑的二人转动作背后,MPC到底是什么?
下一篇: 英伟达开源首个人形机器人大脑
Anima.AI
博客等级 码龄7年 279粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值