发布时间:2026/7/9 18:39:12
Day 005:工具调用入门,Agent 终于开始“动手”了 系列连载100 天系统学习 AI Agent 开发当前阶段Agent 基础与环境搭建今日目标真正理解并设计 Agent 工具调用的输入、输出与权限边界。前几天我们的精力都集中在“搞脑子”上——怎么写好 Prompt怎么让大模型做计划。但一个只能在终端里跟你聊天的程序充其量只是个 Chatbot。真正的 Agent 必须具备介入真实工作流的能力查数据库、调 API、读写文件、操作业务系统。今天我们就给 Agent 安上“手脚”。但核心不是盲目堆砌能力而是弄明白一件事如何给每一个工具画定清晰的权限和输入输出边界。1. 为什么边界比能力更重要很多新手刚接触 Agent 时喜欢直接把整个系统 API 扔给大模型结果 Demo 跑得很炫酷一上生产环境就出了大事故比如误删库、发错邮件。在现代的 Agent 架构比如基于 MCP - Model Context Protocol 标准中我们必须严格区分系统暴露给 AI 的能力Resource资源负责提供上下文比如读取一份本地的 API 文档或者查看当前的数据库表结构。Tool工具负责执行动作带有副作用或计算逻辑比如创建一条工单、执行一段搜索。Prompt提示词作为可复用的工作流入口。如果我们把“读取 500MB 日志文件”设计成了一个 Tool每次让大模型去调用并等待返回这就属于设计失误——它应该是一个 Resource。弄混这三者就会导致 Agent 的上下文爆炸或者权限失控。2. 实战练习设计三个标准工具为了不流于表面概念今天我们直接落实到一个具体的产物为 Agent 设计三个基础工具。这可以直接抄作业放到你的项目README或系统配置里。工具 1calculator本地计算器Agent 的数学计算经常出现幻觉我们需要一个稳定的外部计算器。定位纯计算无副作用。输入 Schema{expression:{type:string,description:需要计算的数学表达式例如 (15 20) * 3}}权限边界read_only只读/无状态操作。人工介入不需要。全自动放行。工具 2search_docs企业知识库搜索让 Agent 能够自己去查阅公司内部文档而不是盲猜。定位数据读取边界限定。输入 Schema{query:{type:string,description:搜索关键词或语义短句},limit:{type:integer,description:返回的文档片段数量最大不可超过 5,default:3}}权限边界仅限docs/public目录的读取权限。隔离敏感薪资数据。人工介入不需要。工具 3create_todo创建任务日程这是一个典型的“写入”操作也是最容易失控的环节。定位状态修改高风险操作。输入 Schema{task_title:{type:string,description:任务的简短标题},priority:{type:string,enum:[low,medium,high],description:任务优先级}}权限边界write_only仅限写入当前用户的日程表禁止修改或删除历史日程。人工介入必须Human-in-the-loop。工具生成 payload 后必须弹窗向用户请求确认“Agent 请求创建一条高优先级任务 [沟通新方案]是否允许”用户点击确认后才实际调用底层 API。3. 安全底线统一的审计记录只限制权限还不够。工具调用的每一步都必须留下不可篡改的“案底”。这里我定了一个基础的审计数据结构后面所有的 Tool 调用都会封装这个日志{timestamp:2026-07-08T10:00:00Z,agent_id:assistant_v1,tool_name:create_todo,action_type:execute,input_payload:{task_title:测试任务,priority:high},execution_status:pending_human_approval,// 关键记录当前卡点状态audit_event:record_request_and_result_status}4. 今日复盘与踩坑记录以前的误区认为给 Agent 接的工具越多越好恨不得把后台所有 API 封装成 Tool 丢给它。真实的教训工具太多会导致大模型“选择困难症”甚至乱调工具。大模型每次请求都会消耗 Token 去阅读 Tool 的描述太多的 Tool 会挤占核心逻辑的上下文。正确的姿势能做成 Resource 的坚决不做成 Tool。静态数据就乖乖挂载为上下文。高风险写操作必须拦截。像上面的create_todo把拦截器做在工具调用的中转层这是 Agent 走向生产环境的及格线。

相关新闻

2026/7/9 18:28:47

突破大模型记忆瓶颈:从RAG到知识训进权重的技术路径解析

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 最近在推进大模型落地应用时,我们团队反复遇到一个棘手问题:模型在单轮对话中表现惊艳,但一旦涉及…

2026/7/9 19:44:23

5分钟快速上手:wiliwili手柄控制B站客户端的终极指南

5分钟快速上手:wiliwili手柄控制B站客户端的终极指南 【免费下载链接】wiliwili 第三方B站客户端,目前可以运行在PC全平台、PSVita、PS4 、Xbox 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili wiliwili是一款…

2026/7/9 19:44:23

Prompt注入攻击的防御策略:企业级Agent的安全防护体系

Prompt注入攻击的防御策略:企业级Agent的安全防护体系 一、当你的AI助手成为最大的安全漏洞——Prompt注入的真实威胁 2024 年,某电商平台在客服 Agent 上线第三周遭遇了一次安全事件。一名用户通过正常聊天窗口发送了这样一段消息:"忽…

2026/7/9 19:39:22

如何高效使用OpenEuler Space-Doc-Spec?开发者必知的5个技巧

如何高效使用OpenEuler Space-Doc-Spec?开发者必知的5个技巧 【免费下载链接】space-doc-spec The specification and documentation for sig space 项目地址: https://gitcode.com/openeuler/space-doc-spec 前往项目官网免费下载:https://ar.op…

2026/7/9 1:39:10

国内大模型选型与企业级落地实战指南

我不能提供任何关于访问境外网络信息的技术方案或变通方法。根据中国法律法规和网络管理要求,所有互联网服务必须遵守国家关于网络安全、数据安全和内容安全的规定。ChatGPT及其后续版本(如所谓“GPT-5”)是由境外机构研发的大语言模型&#…

2026/7/9 1:25:56

三步实战方案:高效获取智慧教育平台电子课本PDF的完整流程

三步实战方案:高效获取智慧教育平台电子课本PDF的完整流程 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项目…

2026/7/9 0:37:00

高精度ADC与STM32L4在工业测量中的优化设计

1. 项目背景与核心器件选型在工业测量和精密仪器领域,模拟信号与数字系统的无缝衔接一直是设计难点。ADS1262作为TI推出的32位精密Δ-Σ ADC,其7nV RMS噪声和3ppm线性度指标,配合STM32L442KC的低功耗特性,构成了理想的信号链解决方…

2026/7/9 0:37:00

ADS1262与STM32F446ZE的高精度数据采集系统设计

1. 为什么需要弥合模拟与数字领域的鸿沟?在嵌入式系统开发中,模拟信号与数字信号的处理一直是个经典难题。我最近在一个工业传感器项目中,就深刻体会到了这种"跨界"处理的挑战。当时需要测量多路微伏级电压信号,同时还要…

2026/7/9 0:37:00

【SpringCloud Alibaba】Spring Boot + Spring Cloud 微服务面试核心20问

大家好,我是 CodeStats。一个在底层技术上“考古”了四年的硬核爱好者,也是 WWAIC(全周项目AI编程) 范式的提出者和实践者。我曾手写过一个完整的 Java Web 框架(从 IoC 容器到嵌入式 Tomcat,代码全开源&a…

2026/7/9 5:30:41

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…