Day 005:工具调用入门,Agent 终于开始“动手”了
📅 2026/7/9 18:39:18
👁️ 次浏览
系列连载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 走向生产环境的及格线。
CH397 USB2.0 网卡 Linux 性能调优:厂商驱动 vs ECM/NCM 免驱,吞吐量实测对比在嵌入式开发、服务器部署和工控设备等场景中,稳定高效的网络连接至关重要。CH397 作为一款高集成度的 USB2.0 转以太网芯片,凭借其多平台免驱特性和工…
📅 2026/7/9 18:39:18
在移动端自动化、设备集群运维、脚本分发运营等业务场景中,开发者往往需要一套完整的用户管理体系,包含主 / 子账户信息管理、脚本权限分配、设备绑定、卡密授权、数据存储等能力。传统开发模式下,开发者需要独立搭建用户数据库、封装 CRUD 接…
📅 2026/7/9 18:39:18
好的数据模型是应用的基石。本文从 E-Brufen 的 MoodType 枚举和 MoodEntry 模型出发,完整拆解情绪数据的建模、序列化、持久化与测试,总代码量不到 70 行,却覆盖了数据层设计的全部核心要素。 一、五种情绪的定义 E-Brufen 将人类情绪简化为…
📅 2026/7/9 18:38:18
作者:王晨(望宸)
每个时代的软件工程进化,都始于对不确定性的收敛。
传统软件时代,工程师用日志、指标和链路追踪,观测分布式系统的运行状态;云原生时代,容器和微服务提升了系统的…
📅 2026/7/10 3:58:45
1. 项目概述:为什么.ini文件是UE5 HoloLens开发的“命门”如果你正在用虚幻引擎5捣鼓HoloLens应用,并且已经过了“Hello World”的新鲜期,那你大概率已经和一堆以.ini结尾的配置文件打过照面了。一开始,你可能会觉得它们不过是引擎…
📅 2026/7/10 3:58:45
1. 直流负载管理的挑战与优化思路在工业控制和电力电子领域,直流负载管理一直是个棘手的问题。我最近在一个太阳能充电控制项目中就遇到了典型的效率瓶颈——系统在管理多个直流负载时,继电器切换损耗导致整体效率下降了近15%。这促使我开始研究如何通过…
📅 2026/7/10 3:58:45
1. 项目背景与核心器件选型在嵌入式系统开发中,经常需要将低电压电源转换为更高电压以满足特定外设需求。TPS61170作为德州仪器推出的高压升压转换器,配合STM32L021K4这类低功耗MCU,能够构建高效可靠的电源解决方案。这个组合特别适合需要从3…
📅 2026/7/10 3:58:45
HK32MCU 在智能家居网关中的低功耗实践
> **摘要**:智能家居网关作为全屋智能的"中枢神经",需 724 小时在线,同时兼顾多种无线协议栈的并发运行,功耗表现直接影响产品可靠性、散热设计和部署灵活性。本文以国产 MCU …
📅 2026/7/10 3:58:45
前几篇把核心概念都捋清楚了,这篇直接动手装。macOS 和 Linux 原生支持,Windows 用户走 WSL 方案——三种环境全覆盖,一个步骤不省。
前置依赖:装之前先确认三件事
Claude Code 不挑硬件,但有几个必须满足的条件&#…
📅 2026/7/10 3:57:45
一、为什么接口自动化测试,适合用AI赋能?
大家可自行先思考一个问题:
AI赋能测试全流程,为什么优先推荐从接口自动化切入?
有三个典型原因:
接口输入结构化,AI最擅长"吃"
接口有OpenA…
📅 2026/7/10 0:00:53
终极原神FPS解锁器完整指南:轻松突破60帧限制 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock
原神FPS解锁器是一款专为《原神》玩家设计的开源工具,通过先进的Wri…
📅 2026/7/10 0:00:53
YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?🎵 【免费下载链接】YesPlayMusic 高颜值的第三方网易云播放器,支持 Windows / macOS / Linux :electron: 项目地址: https://gitcode.com/gh_mirrors/ye/YesPlayMusic…
📅 2026/7/10 0:00:53
1. 项目背景与核心需求 在嵌入式系统开发中,快速精确的数据检索是一个常见但极具挑战性的需求。特别是在工业控制、医疗设备和物联网终端等场景下,系统往往需要在毫秒级时间内完成关键参数的读取和写入操作。传统基于Flash存储的方案存在擦写次数有限、操…
📅 2026/7/9 15:10:35
1. 工业电流环信号传输的基础认知在工业自动化领域,4-20mA电流环传输技术已经持续服役超过半个世纪。这种看似简单的信号传输方式之所以能经久不衰,核心在于其独特的抗干扰能力——电流信号在长距离传输时几乎不受线路电阻和电压波动的影响。我曾在化工厂…
📅 2026/7/9 14:14:01
最近在项目里尝试用 YOLO 做目标检测,从环境搭建到模型训练,再到推理部署,整个过程踩了不少坑。网上的资料虽然多,但要么版本老旧,要么步骤零散不成体系,对于刚入门的新手来说,很容易卡在某个环…
📅 2026/7/9 15:10:36
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/9 15:10:36
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/9 15:10:36
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/9 15:10:36