Agent 开发核心知识点:从 Chatbot 到会干活的模型

发布时间:2026/11/4 12:05:55

Agent 开发核心知识点:从 Chatbot 到会干活的模型 前言Chatbot 只会聊天Agent 会调用工具、拆解任务、自己纠错。这一波 AI 应用落地的核心就是 Agent。这篇不讲虚的讲清楚Agent 的循环结构、Function Calling 的机制和工程上必须处理的问题。一、Agent 的组成一个 Agent 通常包含四部分表格组件作用LLM大脑理解任务、决策下一步Tools工具搜索、执行代码、查数据库、发请求Memory记忆短期上下文 长期知识Planning规划任务拆解、反思、调整策略和普通 workflow 的区别workflow 是固定流程Agent 是模型自己决定下一步做什么。二、核心循环ReActReAct Reason推理 Act行动是绝大多数 Agent 的基础模式循环Thought模型思考当前该做什么Action调用某个工具给出参数Observation拿到工具返回结果重复以上直到模型认为任务完成伪代码def run_agent(task, tools, max_steps10): messages [{role: user, content: task}] for _ in range(max_steps): resp llm.chat(messages, toolstools) # 模型决定行动 if not resp.tool_calls: # 不再调工具 给答案了 return resp.content for call in resp.tool_calls: result execute(call.name, call.arguments) # 宿主执行 messages.append({role: tool, content: result, tool_call_id: call.id}) return 达到最大步数任务未完成三、Function Calling模型不执行只「申请」这是最容易误解的一点你在请求里提供工具列表名称、描述、JSON Schema 参数模型判断需要工具时返回结构化的 tool_calls—— 只是申请不执行你的代码真正执行工具把结果以 role: tool 的消息回填给模型模型基于结果继续工具定义示例{ name: get_weather, description: 查询指定城市的当前天气, parameters: { type: object, properties: { city: {type: string, description: 城市名如 杭州} }, required: [city] } }安全边界在于执行权始终在宿主程序手里模型只能提请求。这决定了权限控制、沙箱、人工确认都放在宿主侧。四、工具设计原则决定 Agent 成功率工具写得好不好比模型选哪个更影响效果单一职责一个工具只做一件事别搞「万能执行器」描述写清楚模型靠 description 选工具写清什么场景用、参数含义、返回什么参数少而必填明确参数越多模型越容易传错错误信息对模型友好返回「city 不能为空请提供城市名」而不是 KeyError工具幂等模型可能重复调用删除 / 支付类操作必须防重控制返回体积工具返回几千行内容会撑爆上下文只回摘要五、记忆机制表格类型实现用途短期记忆对话 messages 列表受上下文窗口限制当前任务状态长期记忆向量库检索历史 / 知识跨会话记住用户偏好上下文压缩让 LLM 总结旧对话替换原文长任务防止超窗口工程重点上下文不是越多越好塞满后模型注意力会稀释主动摘要比无脑拼接更有效。六、规划与反思Plan-and-Execute先让模型出完整计划再逐步执行 —— 适合步骤明确的长任务ReAct边想边做 —— 适合探索型任务Reflection反思执行失败后让模型检查「哪里错了、怎么改」再重试一次能明显提升成功率成本是 token 翻倍七、可靠性工程面试加分项Agent 最大的问题是不稳定工程上必须兜底最大步数限制防止死循环烧钱设 max_steps超时与重试每次工具调用设 timeout失败有限次重试人工确认Human-in-the-loop高风险操作转账、删数据必须人工确认权限最小化工具只开必要权限代码执行放沙箱全链路 trace记录每步的 thought/action/observation否则出问题无法排查成本控制统计 token 消耗长任务考虑换小模型做简单判断八、怎么评估一个 Agent表格指标含义任务成功率端到端完成比例最重要平均步数步数越多越慢越贵工具调用准确率选对工具、传对参数的比例单任务成本token 消耗没有评测集就没法优化 —— 和 RAG 一样先量化。九、常见坑工具描述含糊模型乱选工具工具返回超长文本几轮后上下文爆掉没有最大步数陷入「调工具→失败→再调」死循环让模型直接执行危险操作没有人工确认只测「正常路径」异常分支工具报错、返回空没兜底模型说「已完成」但实际没完成缺少结果校验十、总结与学习路线记住三层循环ReAct→ 工具Function Calling 好的 Schema→ 兜底步数、超时、确认、日志。建议路线用任意 LLM API 实现一个 3 工具的小 Agent计算器 搜索 文件读写加最大步数和 trace 日志用 20 条任务建一个评测集统计成功率再尝试加反思机制对比前后成功率如果这篇对你有帮助点个赞支持一下。后续更新「手把手用 Python 写一个最小可用 Agent」。
延伸阅读

更多相关文章

2026/11/4 15:32:49

Android JSON解析总结

文章目录Android JSON解析总结概述语法使用Android的org.json处理生成JSON解析JSONAndroid JSON解析总结 概述 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式 语法 JSON有2种结构: 对象(Object):JSON中的对象…

2026/11/4 15:32:49

ESP32-S3实现AI硬件闭环:从代码到物理动作的实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/4 15:32:49

Java——数据类型与变量

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/4 15:32:49

Vulkan 着色器语言怎么选?GLSL、HLSL 还是 Slang

Vulkan 着色器语言怎么选?GLSL、HLSL 还是 Slang 【免费下载链接】Vulkan C examples for the Vulkan graphics API 项目地址: https://gitcode.com/gh_mirrors/vu/Vulkan 对于刚上手 Vulkan 图形 API 的开发者,第一个绕不开的问题是着色器语言选…

2026/11/4 15:27:45

EtherCAT工业以太网新标杆:从原理到24轴伺服运动控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/3 14:24:53

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/4 0:03:20

AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年…

2026/11/4 0:03:20

从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你…

2026/11/4 0:03:20

32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/3 14:24:53

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑