Agent 隐式工具调用原理详解

[AIGC]Agent的ReAct原理&基于LangChain框架的Agent构建详解 关于Agent的核心机制,需要提到决策模型中的策略,比如基于prompt的指导,工具的选择逻辑,以及如何通过LLM生成中间推理步骤。工具调用机制方面,资料多次提到Tool的定义和使用,如中的SearchTool和CalculatorTool,说明如何集成自定义工具,以及工具的描述如何影响LLM的选择。另外,资料中还涉及不同类型的Agent,如Zero-shot、Conversational、Plan-and-execute等,如,需要分类讨论它们的区别和应用场景。例如,在提到ReAct模式时,引用。 阅读详情

Agent 隐式工具调用原理详解

📚 本文深入解析:个人智能助手如何自动调用工具完成任务
🔍 适合读者:想理解 AI Agent 工作原理的开发者
⏱️ 阅读时间:15-20 分钟


🎯 从一个实际例子说起

假设你对 Agent 说:“帮我读一下这个 PDF 文件:/path/to/document.pdf”

接下来,神奇的事情发生了:

用户:"帮我读一下这个 PDF 文件:/Users/mac/document.pdf"

Agent: (思考中...)
       → 自动调用 read_pdf("/Users/mac/document.pdf")
       → 读取 PDF 内容
       → 总结核心要点
       
Agent: "这份文档是一份技术报告,共 15 页,主要内容包括:
        1. 介绍了 AI Agent 的基本概念
        2. 讲解了 ReAct 模式的工作原理
        3. 提供了实践案例..."

关键问题:Agent 是如何知道要调用 read_pdf 函数的?整个过程是如何自动完成的?


🏗️ 整体架构:三层设计

在深入原理之前,我们先看一下整体架构:

┌─────────────────────────────────────┐
│   用户输入:"帮我读一下这个 PDF"     │
└─────────────────────────────────────┘
              ↓
┌─────────────────────────────────────┐
│  AliooAgent (基于 ReActAgent)       │
│  - 理解用户意图                      │
│  - 决定使用什么工具                  │
│  - 执行工具并返回结果                │
└─────────────────────────────────────┘
              ↓
┌─────────────────────────────────────┐
│   Toolkit (工具包)                  │
│   - read_pdf                        │
│   - fetch_news_summary              │
└─────────────────────────────────────┘
              ↓
┌─────────────────────────────────────┐
│   LLM (大语言模型)                  │
│   - 理解自然语言                    │
│   - 输出工具调用指令                │
└─────────────────────────────────────┘

🔑 核心机制:ReAct 模式

什么是 ReAct?

ReAct = Reasoning + Acting(推理 + 行动)

这是当前最主流的 Agent 工作模式,由 Google Research 在 2022 年提出。

ReAct 的工作流程

输入:用户问题
      ↓
┌──────────────────────────────────┐
│  Loop (循环执行,直到问题解决)    │
│                                  │
│  Step 1: Thought (思考)          │
│    → 分析当前情况                 │
│    → 决定下一步行动               │
│                                  │
│  Step 2: Action (行动)           │
│    → 选择工具                     │
│    → 准备参数                     │
│    → 执行工具函数                 │
│                                  │
│  Step 3: Observation (观察)      │
│    → 获取工具返回结果             │
│    → 评估是否解决问题             │
│                                  │
└──────────────────────────────────┘
      ↓
输出:最终答案

在 alioo-agent 中的实现

让我们通过一个具体例子来看完整流程:

示例:用户要求解读 PDF

用户输入:

"帮我读一下这个 PDF:/Users/mac/report.pdf,总结主要内容"
第 1 轮循环

1. Thought(思考)

Thought: 用户想要读取 PDF 文件并总结内容。
         我需要使用 read_pdf 工具来提取文本。
         文件路径是:/Users/mac/report.pdf

2. Action(行动)

Action: {
  "name": "read_pdf",
  "arguments": {
    "file_path": "/Users/mac/report.pdf",
    "max_pages": null
  }
}

3. Execution(执行)

# AgentScope 框架自动执行:
result = read_pdf(file_path="/Users/mac/report.pdf")

4. Observation(观察)

Observation: 【第 1 页】
AI Agent 技术报告

摘要:本文详细介绍了 AI Agent 的基本原理...

【第 2 页】
1. 引言
随着大语言模型的发展,AI Agent 成为研究热点...

...(共 15 页内容)
第 2 轮循环

1. Thought(思考)

Thought: 我已经成功读取了 PDF 内容。
         现在我需要总结核心要点,而不是直接返回原文。
         根据系统提示词的要求,我应该归纳总结。

2. Action(行动)

Action: {
  "name": "finish",  // 特殊动作:返回最终答案
  "arguments": {
    "response": "这份文档是一份关于 AI Agent 的技术报告...\n\n核心要点:\n1. ...\n2. ...\n3. ..."
  }
}

3. 输出给用户

这份文档是一份 AI Agent 技术报告,共 15 页。

核心要点:
1. 介绍了 AI Agent 的基本概念和发展历程
2. 详细讲解了 ReAct 模式的工作原理
3. 提供了多个实践案例和代码示例

主要内容包括...

🛠️ 关键技术组件

1. 工具注册机制

在 agent.py 中,我们创建了工具包并注册工具函数:

# agent.py
def _create_toolkit(self) -> Toolkit:
    """创建并配置工具包"""
    toolkit = Toolkit()
    
    # 注册核心工具
    toolkit.register_tool_function(read_pdf)
    toolkit.register_tool_function(fetch_news_summary)
    
    return toolkit

关键点:

  • Toolkit 会自动分析函数的签名(参数名称、类型、注释)
  • 生成工具的元数据(名称、描述、参数说明)
  • 这些信息会被发送给 LLM,让它知道有哪些工具可用

2. 系统提示词(System Prompt)

在 _build_system_prompt() 方法中,我们明确告诉 Agent 如何使用工具:

def _build_system_prompt(self) -> str:
    return """你是一个简洁高效的个人智能助手,名叫 Alioo。

你的核心能力:
1. **PDF 阅读**:帮助用户读取和总结 PDF 文档
   - 当用户要求解读、阅读或分析 PDF 时,使用 read_pdf(file_path) 函数读取
   - 可以建议用户指定 max_pages 参数限制页数(可选)
   - 【重要】读取 PDF 后,必须主动总结核心要点,而不是直接展示原文

2. **新闻摘要**:为用户提供实时热门新闻
   - 支持知乎热榜 (zhihu)
   - 支持 Reddit 热门 (reddit)
   - 使用 fetch_news_summary(sources) 函数获取新闻

工作要求:
- 回答简洁明了,重点突出
- 【关键】对于工具返回的长文本(如 PDF 内容),必须进行归纳总结
"""

作用:

  • 定义 Agent 的角色和职责
  • 明确说明每个工具的用途
  • 提供使用指南和最佳实践

3. 模型调用与格式器

在 model_factory.py 中,我们创建了模型实例和格式器:

from agentscope.model import OpenAIChatModel
from agentscope.formatter import OpenAIChatFormatter

model = OpenAIChatModel(
    model_name="qwen-turbo",
    api_key=api_key,
    base_url="https://api.openai.com/v1"
)
formatter = OpenAIChatFormatter()

格式器的作用:

  • 将工具调用指令格式化为 LLM 能理解的格式
  • 将 LLM 的响应解析为可执行的动作

4. ReActAgent 的执行循环

AliooAgent继承自ReActAgent,后者实现了核心的 ReAct 循环:

# 简化的伪代码,展示 ReActAgent 的内部逻辑
class ReActAgent:
    async def __call__(self, message: Msg):
        memory = []  # 对话记忆
        
        for i in range(self.max_iters):  # 最多迭代 max_iters 次
            # Step 1: 调用 LLM,获取思考和行动
            response = await self.model(
                messages=[self.sys_prompt] + memory + [message],
                tools=self.toolkit.get_tools()  # 传入可用工具列表
            )
            
            # Step 2: 解析 LLM 的响应
            thought = response.thought      # 思考内容
            action = response.action        # 行动名称
            action_args = response.args     # 行动参数
            
            # Step 3: 执行工具函数
            if action == "finish":
                # 结束对话,返回最终答案
                return action_args["response"]
            else:
                # 调用对应的工具函数
                tool_result = self.toolkit.execute_tool(
                    name=action,
                    args=action_args
                )
                
                # Step 4: 将结果加入记忆
                memory.append({
                    "role": "assistant",
                    "content": thought,
                    "tool_call": action
                })
                memory.append({
                    "role": "tool",
                    "content": tool_result
                })
        
        # 超过最大迭代次数,强制结束
        return "抱歉,我无法完成这个任务..."

🔍 隐式调用的奥秘

为什么不需要显式编写 if-else?

传统编程方式:

if "pdf" in user_input.lower():
    result = read_pdf(file_path)
elif "news" in user_input.lower():
    result = fetch_news_summary()
# ... 无数个 if-else

ReAct 的优势:

  1. 自然语言理解:LLM 理解用户意图,而不是关键词匹配
  2. 自主决策:LLM 根据上下文决定使用哪个工具
  3. 灵活组合:可以连续调用多个工具解决复杂问题
  4. 错误处理:LLM 可以根据工具返回结果调整策略

隐式调用的关键步骤

是

否

用户输入

LLM 分析意图

需要工具吗?

输出工具调用指令

直接回答

ReActAgent 解析指令

执行工具函数

将结果返回给 LLM

LLM 生成最终回答

返回给用户

关键点:

  • LLM 在中间充当"大脑",决定使用什么工具
  • ReActAgent 框架负责执行具体的工具调用
  • 整个过程对开发者透明,无需手动编写路由逻辑

💡 实际案例分析

案例 1:简单工具调用

用户:“今天有什么热点新闻?”

内部流程:

1. LLM 思考:用户想了解热点新闻 → 需要使用 fetch_news_summary
2. 执行:fetch_news_summary(sources=["zhihu", "reddit"])
3. 获取结果:知乎热榜 + Reddit 热门
4. 总结并返回:"今天的热点新闻包括:1... 2... 3..."

案例 2:多轮对话 + 工具调用

用户:“帮我读一下这个 PDF:report.pdf”

第 1 轮:

Thought: 用户要读取 PDF
Action: read_pdf("report.pdf")
Observation: [PDF 内容...]

第 2 轮:

Thought: PDF 已读取,但内容太长,需要总结
Action: finish(response="这份报告的核心内容是...")

案例 3:错误处理

用户:“读一下这个文件:not_exist.pdf”

内部流程:

1. LLM 决定调用 read_pdf("not_exist.pdf")
2. 工具执行:文件不存在,返回错误信息
3. LLM 看到错误:❌ 文件不存在
4. 生成友好回复:"抱歉,找不到这个文件,请确认路径是否正确"

🚀 扩展:添加新工具

理解了原理后,添加新工具变得非常简单:

Step 1: 创建工具函数

# weather_tool.py
def get_weather(city: str) -> str:
    """获取城市天气
    
    Args:
        city: 城市名称
        
    Returns:
        天气信息字符串
    """
    # 调用天气 API...
    return f"{city}今天晴,25°C"

Step 2: 注册到工具包

# agent.py
def _create_toolkit(self):
    toolkit = Toolkit()
    
    # 原有工具
    toolkit.register_tool_function(read_pdf)
    toolkit.register_tool_function(fetch_news_summary)
    
    # 新增工具 ✨
    toolkit.register_tool_function(get_weather)
    
    return toolkit

Step 3: 更新系统提示词

def _build_system_prompt(self):
    return """...(前文省略)

3. **天气查询**:为用户查询实时天气
   - 使用 get_weather(city) 函数获取天气信息
   - 当用户询问天气时使用

...(后文省略)"""

完成! LLM 会自动学会使用这个新工具,无需修改任何路由逻辑。


📊 性能优化与实践

1. 限制最大迭代次数

在 config.py 中设置:

class AgentConfig(BaseModel):
    max_iters: int = 50  # 防止无限循环

2. 工具调用日志

在 model_factory.py 中,我们包装了模型调用以记录日志:

def _wrap_model_for_logging(model, interaction_logger, model_name):
    """包装模型以记录每次交互"""
    # 记录所有请求和响应
    # 便于调试和分析

3. 缓存机制

# 配置缓存,避免重复读取文件
_config_cache: Optional[Config] = None

def load_config():
    global _config_cache
    if _config_cache is not None:
        return _config_cache
    # 首次加载...

🎓 总结

核心要点回顾

  1. ReAct 模式 = Reasoning + Acting 的循环
  2. LLM 是大脑:决定使用什么工具,如何处理结果
  3. Toolkit 是手脚:执行具体的工具函数
  4. 系统提示词是指南:指导 Agent 正确使用工具
  5. 隐式调用优势:无需手动编写路由逻辑,由 LLM 自主决策

与传统方式的对比

特性传统 if-elseReAct Agent
灵活性低(硬编码)高(自主决策)
可扩展性差(需修改代码)好(注册即可)
错误处理复杂自然(LLM 理解)
多工具组合困难简单
开发效率低高

下一步学习方向

  • 📖 阅读 AgentScope 源码,深入了解 ReActAgent 实现
  • 🔧 尝试添加更多工具(计算器、翻译、搜索等)
  • 🧪 学习如何测试和调试 Agent
  • 🌐 集成到实际应用中(Web 界面、API 服务等)

❓ 常见问题 FAQ

Q1: LLM 如何知道有哪些工具可用?

A: 在每次调用 LLM 时,会将工具的元数据(名称、描述、参数)作为 tools 参数传入。LLM 基于这些信息决定使用哪个工具。

Q2: 如果 LLM 选择了错误的工具怎么办?

A:

  1. 工具返回的结果会反馈给 LLM
  2. LLM 可以重新选择正确的工具
  3. 通过优化系统提示词可以减少错误

Q3: 工具调用支持异步吗?

A: 支持!AgentScope 完全支持异步工具函数,只需使用 async def 定义即可。

Q4: 如何调试工具调用过程?

A:

  1. 查看 logs/model_interaction.log 文件
  2. 启用 debug 日志级别
  3. 使用断点调试 ReActAgent 的调用过程

📚 参考资料


作者:Alioo Agent Team
最后更新:2026-03-07

从零手写Agent:理解任务分解与工具调用的核心原理 智能体(Agent)作为人工智能领域的重要概念,其核心原理基于任务分解与工具调用机制。Agent通过解析用户意图,将复杂任务拆解为可执行的子任务序列,并选择合适的工具逐步完成。这种架构设计使得Agent能够处理超出单一模型能力的复杂问题,在自动化流程、智能助手等场景中具有重要价值。本文基于任务解析和状态管理等热词,深入探讨如何不依赖框架实现基础的Agent系统,通过代码实例展示工具注册、任务分解、记忆管理等核心组件的实现方式,帮助开发者掌握Agent的底层工作机制。 阅读详情

相关推荐

LangChain Agent与MCP协议实战:构建可扩展的AI工具调用架构

在AI应用开发中,如何让智能体(Agent)安全、灵活地调用外部工具(如API、数据库)是核心挑战。传统硬编码方式导致系统紧耦合、扩展性差。其技术原理在于通过标准化协议(如MCP)将工具实现与调用逻辑解耦,使Agent能动态发现和使用外部能力。这种架构的技术价值在于实现了AI能力的即插即用,大幅提升了开发效率和系统可维护性。典型的应用场景包括企业知识库查询、内部系统操作和实时数据获取等。本文以**LangChain Agent**和**MCP(Model Context Protocol)** 为核心,通过

weixin_33860553的博客 2297

一行命令,让你的 Code Agent 会读PDF

摘要:本文介绍了一行命令npx skills add tanis90/pdf-converter-mineru,能让各类Code Agent获得PDF文档解析能力。该命令安装基于OpenClaw的Skill,集成MinerU文档解析引擎,支持自动处理PDF、扫描件、Word等格式,具备版面分析、表格识别等功能。安装后可直接用自然语言指令让AI助手读取文档内容,适用于论文阅读、合同解析等场景,相比传统MCP server方案更轻量便捷,支持跨工具使用。

lingxie2512的博客 2773

【Agent从入门到实践】13 工具调用模块:如何调用工具

各位程序员小伙伴,咱们AI Agent入门系列又更新啦!上一节搞定了Agent的“记忆系统”,今天来解锁它的“超能力”——工具调用模块。你想想,咱们写代码时会调用各种API、读写文件、用现成的框架模型,Agent也一样!光有决策和记忆还不够,能“动手做事”才是关键。这一节咱们就用大白话讲清Agent工具调用的原理,还会手把手教你用C#实现三大常见场景:调用第三方API、操作本地文件、调用其他AI模型,看完直接复制代码就能跑通!// 工具调用的请求参数模型。

人工智能AI技术 796

LangChain Agent 调用工具的实现原理揭秘

本文解析了Agent如何通过ReAct模式自主调用list_repository_files工具获取GitHub仓库信息。该过程包含四个角色:用户提出问题、LLM(Google Gemini)进行推理、工具执行代码、AgentExecutor协调交互。流程分为三个阶段:1)LLM分析问题并生成指令;2)AgentExecutor拦截指令并调用工具执行;3)将结果反馈给LLM生成最终答案。代码实现体现在工具定义、Agent组装和执行驱动三个模块,通过精心设计的Prompt让LLM指挥程序执行任务,完成&quo

nvd11的专栏 1354

多工具选择与调用策略优化:如何让 Agent 会“选工具”?

为智能体接入工具并不难,难的是——**让它“选得准、调得对、反应快”。** 这一章我们聚焦如何构建一个具备“策略感”的 Agent,不仅能调用工具,还能: - 判断**何时需要用工具** - 决策**用哪个工具最合适** - 动态调整调用策略(失败兜底、调用组合、评估反馈) 你将掌握多工具系统中最关键的一层逻辑:**调用决策机制**。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 2021

FPGA时钟设计陷阱:为什么你的MRCC引脚总触发Place 30-675错误?

本文深入解析FPGA开发中常见的Place 30-675错误,揭示MRCC引脚与时钟资源分配的关键问题。通过对比MRCC与普通IO引脚特性,分析错误根源,并提供时钟约束优化、IP核重配置和手动布局三套解决方案,帮助工程师规避时钟设计陷阱,提升FPGA系统稳定性。

potato的博客 694

API 调用基础:执行式AI必备网络请求知识

本文介绍了执行式AI Agent必备的API调用基础知识,主要内容包括: 背景与重要性:AI Agent正从对话工具进化为执行引擎,能够主动完成任务和调用外部工具,市场规模快速增长。 核心概念解析: 定义了API调用的技术内涵,包括理论基础、工程实现、应用场景和发展趋势 解释了关键术语如执行效率、准确率等评估指标 区分了传统AI、执行式AI和工具调用的概念差异 技术原理: 详细剖析了AI Agent的5层架构(应用层、Agent层、工具层、模型层和基础设施层) 提供了基础执行算法和ReAct执行循环的Pyt

编程世界如山海,探索不止。 1万+

Win10网络图标消失,网络图标变成灰色,打开网络设置闪退等问题解决

介绍 主要解决如下问题 网络图标消失 常用方法配置中出现的网络图标变成灰色没有办法打开 打开网络和Internet闪退 错误提示`网络发现已关闭。网络计算机和设备不可见。请启动网络和共享中心的网络发现。 连不上网,诊断结果为 依赖服务或组无法启动 这个问题大概率通过重装系统不能解决,请大家谨慎测试之后最后选择重装这个路线。 方法1:这一步一定要做(卸载三方软件) 把360安全卫士,软件管家这些东西都卸载掉。 我的问题一开始就是这个软件引起的,可能他检测到我还给台式机配了无线网卡,然后就把有线网络的一些

呆呆象呆呆的博客 3万+

MAF Agent工具调用实战:从原理到实现,让AI从思考到行动

在AI应用开发中,大语言模型(LLM)的核心价值在于理解人类意图,但其能力往往受限于训练数据。通过引入工具调用(Tool Calling)机制,LLM可以生成结构化指令,由外部函数执行具体操作,从而实现从知识问答到实际任务执行的跨越。这一架构分离了“思考”与“执行”,让AI能够安全可控地连接外部API、操作系统资源和业务系统,极大地扩展了应用边界。本文以MAF框架为例,深入解析工具调用的核心原理,并通过一个包含天气查询和文件操作的复合任务,演示如何为Agent集成Function Tool,涵盖工具定义、注

weixin_34080951的博客 334

一文看懂分布式存储架构

目录一、集中存储结构二、分布式存储1 、分布式存储的兴起2 、分布式存储的重要性3 、分布式存储的种类和比较三、分布式理论浅析1 、一致性和可用性2 、数据分布3 、复制4 、分布式协议5、跨机房部署四、分布式文件系统1、 Google 文件系统( GFS )2、 Taobao 文件系统( TFS )3、 Fackbook Haystack 文件系统4、 CDN 内容分发网络五、分布式键值系统1、 Amazon Dynamo2、 Taobao Tiar3、 ETCD4 、产品选型比较( Etcd , Zoo

weixin_70730532的博客 2万+

MIKE21桥墩模拟实战:抠网格与构筑物法对比与选型指南

本文详细对比了MIKE21软件中抠网格法与构筑物法在桥墩模拟中的应用,包括操作步骤、适用场景及优缺点分析。通过实际案例数据展示两种方法的精度与效率差异,并提供选型决策树和常见问题解决方案,帮助工程师根据项目需求选择最优模拟方法。

weixin_42656416的博客 326

零基础搞懂Agent如何调用工具?一文讲透三大主流Agent的工具调用

Agent工具调用是AI从"对话助手"进化为"智能执行者"的关键转折点。现代Agent基于ReAct框架(Reasoning and Acting)运行:思考 → 行动 → 观察 → 反思,这个循环使AI能够像人类一样推理决策、调用工具、观察结果并持续优化。

datian1234的博客 1124

Open3d (C++) RANSAC拟合圆柱(详细过程版)

实现了一种基于RANSAC算法的圆柱拟合方法。

点云侠的博客 241

AI Agent 入门:什么是执行式智能体,一文看懂

本文介绍了AI Agent中执行式智能体的核心概念与技术原理。文章首先阐述了执行式AI Agent从对话工具进化为主动执行引擎的重要变革,其市场规模已突破百亿美元。核心内容包含:1) 基本定义与关键术语解释,强调执行式AI与传统被动式系统的区别;2) 技术架构分层解析,包括应用层、Agent层、工具层等;3) 详细算法实现,展示了基础执行框架和ReAct循环范式。文章通过代码示例说明了AI Agent如何理解任务、规划步骤、调用工具并验证结果,为读者提供了执行式智能体的系统性认知。

编程世界如山海,探索不止。 8053

6、深入解析Microsoft 365核心服务对比与迁移策略

本文深入解析了Microsoft 365的核心服务,包括身份和设备管理、现代设备配置体验、Exchange和SharePoint的迁移策略以及Microsoft Teams的协作功能。同时探讨了迁移过程中需要考虑的安全控制措施,为组织规划和实施云迁移项目提供了全面的指导和建议。

k8s6orchestrator的博客 109

人工智能面试总结-分类与聚类

目录说说常用的分类算法,以及各自的优缺点?说说为什么正确率有时不能有效评估分类算法?说说什么样的分类器最好?说说聚类算法有哪些衡量标准?(选看)各聚类算法性能比较汇总说说什么是聚类,你知道哪些聚类算法?具体展开介绍你知道的聚类算法?说说K-Means聚类算法流程?说说K-Means聚类算法如何调优?说说K-Means聚类算法如何选择初始点?说说K-Means聚类聚的是特征还是样本?说说K-Means聚类的特征距离是如何计算的?说说聚类与分类的区别?手撕K-Means聚类 说说常用的分类算法,以及各自的优缺点

啥都生的博客 3865

第六品——Agent工具调用

1. 假设这是你的 Python 函数算出的结果# 2. 构建 ToolMessage,关键是填对 IDcontent=str(tool_result), # 结果通常转为字符串tool_call_id=msg.tool_calls[0]['id'] # 必须与 LLM 发出的工单 ID 一致# 3. 把整个对话历史(用户问题 -> 工单 -> 结果)再次发给 LLM# 此时 LLM 拥有了所有信息,它不再调用工具,而是生成最终回复# 输出:"买 5 个苹果一共需要 40 元。

kuangle的博客 983

基于深度学习的树木种类识别

本文介绍了基于深度学习的树木种类识别技术。我们将通过深度学习模型和图像处理技术实现对树木的自动识别与分类。首先,我们将介绍深度学习的基本原理和相关算法。接着,我们将详细说明树木种类识别的数据准备、模型构建和训练过程。最后,我们将给出代码示例,帮助读者深入了解和实践该技术。

一键难忘的博客 2319

AI Agent 核心原理:工具调用(Function Calling)完整工作流程详解

name:工具的唯一标识,Agent 通过名称匹配执行对应的函数:工具的功能语义描述,模型依靠它判断 “什么时候该用这个工具”,描述越精准,调用准确率越高parameters:工具的入参规范,模型会按照这个格式从用户问题中提取对应参数工具调用(Function Calling)是大模型能力的重要拐点:它让大模型突破了自身静态知识的边界,获得了对接真实世界的能力。而 Agent 正是这套能力的载体与执行者,从单工具调用到多工具多轮规划,最终的演进方向就是具备完整自主执行能力的智能体系统。

qq_63683271的博客 897

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Agent 工具权限:能调用工具,不代表能调用所有参数

Agent 工具权限要覆盖工具名、动作、资源、参数和结果脱敏,并由独立策略层执行。能调用工具,不代表能调用所有参数。权限边界越细,Agent 越适合进入真实业务流程。

2401_87746054的博客 1053

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

深入浅出:Agent如何调用工具——从OpenAI Function Call到CrewAI框架

在OpenAI的Function Call机制中,工具(函数)的定义需要提供详细的描述和参数schema。定义函数逻辑:编写实际执行任务的函数。编写函数描述:包括函数名称、功能描述、参数类型和说明。注册函数:在调用模型时,通过functions参数传递函数描述列表。"description": "计算两个数的和。","a": {"type": "number", "description": "第一个数"},

m0_56255097的博客 2878

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Langchain-Chatchat高级功能:Agent机制与工具调用

Langchain-Chatchat高级功能:Agent机制与工具调用 【免费下载链接】Langchain-Chatchat Langchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM 等语言模型的本地知识库问答 | Langchain-Chatchat (f...

gitblog_00142的博客 1072

工具调用结果校验:Agent 不能拿到什么都信

Agent 工具调用结果必须校验。Schema 校验格式,语义校验范围和权限,外部内容防注入,失败路径要确定。Agent 不能拿到什么都信。一个靠谱的系统,应该像过筛子一样处理工具结果,把脏东西挡在模型上下文之外。

2401_87746054的博客 6114

sPTC推测式工具调用:消除大模型Agent工具等待的加速方案

在大模型推理链路中,Agent调用工具时的串行等待是延迟的主要来源,模型生成与工具执行交替进行,空窗期被白白浪费。推测式工具调用(sPTC)借鉴推测解码的“先猜测、后验证”思路,在模型尚未发出正式指令前,由预测器推测候选工具并提前并行执行,再由验证器匹配结果,从而将串行等待转化为并行预执行。该机制适合需要频繁调用搜索、数据库或API的智能体场景,与Function Calling、RAG及自动化流程编排深度结合,可显著降低多轮工具调用的端到端时延。相比传统缓存和并行调用,sPTC以少量额外计算换取关键路径上

weixin_34161064的博客 411

Agent如何调用工具:Function Calling原理详解

大模型突破"知识截止"瓶颈:Function Calling让AI具备实时行动能力

楼兰剑客 466

一文详解LangGraph工具集成,让AI Agent调用外部工具

在LangGraph中实现工具调用,主要围绕着以下三个核心概念。理解了它们,可以帮助我们掌握通过 LangGraph 实现 Agent 的工具集成。🛠️工具定义-@tool 装饰器:任何一个Python函数,只要用@tool装饰器包装,即可成为 Agent 可以调用的工具。@tool 装饰器清晰地定义了工具的名称、功能描述和输入输出,LLM会依据这些信息来决定何时以及如何使用它。🚀工具执行 ToolExecutor:可以把它想象成一个“工具箱”或者“总开关”。

m0_56255097的博客 1332
上一篇: 手撕 Agent 教程 - 打造一个轻量级个人智能助手
下一篇: AgentScope 框架源码深度解读:ReAct = Reasoning + Acting 的实现原理
明月(Alioo)
博客等级 码龄18年 267粉丝 207原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明月(Alioo)

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值