尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
ai-agent-book:从入门到 Agent 工程实践(一)
AI Agent 入门本blog为datawhale开源教程《ai-agent-book从入门到Agent工程实践》的组队打卡学习笔记文章目录AI Agent 入门Agent的组成部分LLMAgent 的大脑工具Agent 的手脚上下文Agent 的眼睛Harness约束or赋能Agent 的学习机制从上下文适应到持久更新Agent与环境ReAct循环Agent调用大模型的APIAgent的组成部分Agent LLM 上下文 工具LLMAgent 的大脑大语言模型Large Language Model, LLM是 Agent 的决策核心Agent 中用于思考推理的那部分即为预先训练好的 LLM在采取实际行动之前Agent 可以先进行规划与推演此时Agent不改变外部环境LLM的能力来自两部分预训练让模型“懂世界、会说话、有通用推理能力”后训练让模型“听话、安全、会用工具、能作为 Agent 完成任务”工具Agent 的手脚工具是Agent用来实际“干活”的东西通过工具Agent可以改变环境中的内容工具分为5类感知工具让 Agent 能访问信息搜索引擎提供实时网络数据文件系统读取本地文档API 和数据库则对接外部服务和企业核心数据执行工具让 Agent 改变世界代码执行、文件操作、系统命令、外部 API 调用协作工具让 Agent 与其他 Agent 分工合作委托子 Agent 完成专项任务在关键决策点请求人类确认或在多 Agent 系统中协调行动事件触发工具作为外部输入来驱动 Agent 开始执行任务比如收到一封新邮件、到了某个预定时间点、或另一个系统发出了 Webhook 回调用户沟通工具Agent 主动与用户建立连接、传递信息的渠道专注于信息的传递和交互通过文字消息、语音通话、邮件等方式将 Agent 的执行进展或主动关怀传达给用户工具调用Tool Calling也称 Function Calling是现代 LLM Agent 的一项核心能力它让模型能够通过结构化的方式调用外部工具。工具调用流程分为4步声明工具模型决定调用追加结果到上下文模型基于结果回复上下文Agent 的眼睛上下文是Agent在每个决策点保留的信息作为LLM的输入参数供LLM推理上下文由5个部分组成系统提示词System Prompt通过提示工程Prompt Engineering精心设计系统提示词塑造 Agent 的工作方式工具定义Tool Definitions声明 Agent 可用工具的名称、功能描述和参数格式用户消息User Messages来自用户的输入模型回复Assistant Messages模型的回复历史包括思考过程、文本内容、工具调用请求工具执行结果Tool ResultsAgent 框架执行工具后返回的结果或者说两个部分构成静态前缀工具定义与系统提示词一起构成对话中保持不变的静态前缀轨迹动态消息历史用户消息 模型回复 工具执行结果随交互不断增长轨迹是 Agent 在执行任务过程中不断积累的消息历史——用户消息、模型回复包括思考过程和工具调用、工具执行结果完整上下文由静态前缀系统提示词 工具定义和轨迹动态消息历史两部分组成Agent 的上下文 静态前缀 轨迹Harness约束or赋能Agent 边界内负责支撑模型运行及模型与环境交互的代码、配置和服务统称为 Harness。Harness 包括上下文管理、工具接口、安全约束、验证与纠正等基础设施负责构造上下文、暴露工具接口、维护循环和状态并实施权限、验证与纠正。Harness 的核心是上下文管理 工具接口再加上三层保障机制约束限定 Agent 能做什么、不能做什么验证检查 Agent 做得对不对纠正做错了怎么补救Agent 的学习机制从上下文适应到持久更新Agent的学习行为有三条路径任务内的上下文适应不改模型参数也不改外部持久化资源只通过改变“这一次推理时喂给模型的上下文”来临时改变 Agent 的行为跨任务的外部产物artifact更新把事实和经验整理为知识文档把可语言化的策略写进 Prompt 或 Skill把确定性流程与约束写成程序和 Harness以及训练周期中的参数更新目标是高维能力时外部规则难以完整表达需要通过后训练更新模型参数Agent与环境与Agent交互的环境不属于Agent的组成部分环境包括文件、数据库、网页、用户、其他Agent及物理或仿真世界Agent通过观察和行动接口与环境交互用于获取环境信息或改变环境因此Agent与外部环境存在两个边界观察通道Harness 把环境返回的观察转换为模型能够处理的上下文动作接口模型选择的行动转换为对环境的工具调用在底层模型固定时提升 Agent 任务表现最主要的系统工程手段往往就是重新定义或扩展观察空间与动作空间换句话说就是扩展上下文和工具思考题1如果你只能给一个 Agent 系统增加一项能力——更强的模型、更丰富的上下文还是更多的工具——你会选哪个在什么条件下你的选择会改变回答更丰富的上下文。丰富上下文相当于增大观察空间上下文直接决定模型的任务目标清晰度、对工具的认识、对模型回复和历史工具执行结果的感知深度并且丰富上下文成本最低只需要改prompt、加few-shot、接RAG、写记忆。但是当agent输出失败时若模型太弱看不懂指令、调用工具错误、推理过程总是错误等情况该选择更强的模型若模型清楚做什么但是没有对应工具此时该选择更多的工具。ReAct循环Agent 执行任务的核心模式叫做 ReActReasoning Acting模型先思考当前应该做什么然后调用工具行动再观察工具返回的结果并继续思考下一步基于完整上下文LLM 生成下一步的响应然后这个响应又追加到轨迹中供下一次调用使用Harness 负责组装上下文、校验并执行工具Environment 负责产生真实状态变化和观察Agent调用大模型的API大模型 API 的核心是一个消息列表messages列表中的每条消息都有一个角色role标识模型根据角色来理解每条消息的含义和来源组成为system系统提示词由开发者编写定义 Agent 的身份、行为规则、约束条件user用户消息来自终端用户的输入assistant助手消息模型之前的回复包括文本回复和工具调用请求tool工具结果Agent 框架执行工具后将结果以tool角色的消息送回给模型system、user、assistant 和 tool 四种消息角色分别对应系统提示词、用户消息、模型回复和工具执行结果。工具定义tools作为请求的独立字段而非消息告诉模型有哪些工具可以使用、每个工具接受什么参数并不是一种消息角色
RELATED

相关推荐

【PMSM滤波代码2】PMSM未知负载转矩观测EKF。MATLAB例程(负载增广EKF与实际仿真结果)。订阅专栏后可查看完整代码

【PMSM滤波代码2】PMSM未知负载转矩观测EKF。MATLAB例程(负载增广EKF与实际仿真结果)。订阅专栏后可查看完整代码

如需帮助,或有滤波相关的MATLAB代码定制需求,可从个人主页左侧联系我 订阅专栏后,可直接查看源代码,粘贴到MATLAB空脚本中即可直接运行、得到结果 文章目录 总体介绍 运行结果 状态估计误差 电压与新息诊断 电流观测与估计 负载转矩观测 转速与角度观测 命令行输出 MATLAB源…

📅 2026/10/13 10:23:30
MySQL 8.4课程设计实战:从教科书模型到生产级数据库

MySQL 8.4课程设计实战:从教科书模型到生产级数据库

简介:本资源是广东工业大学数据库课程设计大作业的完整实现方案,面向高校计算机、软件工程等专业学生及数据库初学者,聚焦真实业务场景下的系统开发全流程实践。项目以平行志愿录取系统为原型,采用Java(Spring框架&…

📅 2026/10/13 10:23:30
解Bug之路-隔离故障点后业务不恢复?-热点Key处理与亚稳态故障

解Bug之路-隔离故障点后业务不恢复?-热点Key处理与亚稳态故障

前言《解Bug之路》作为笔者博客的镇站之宝系列,之前写的都是一些疑难杂症。但在和AI交流的过程中发现,一些对于笔者来说排查很直观的故障其实有不小的价值。这篇文章就是此种情况,虽然排查过程很直观,思路一直流畅没有卡点&#x…

📅 2026/10/13 10:23:30
MORE NEWS

更多资讯

📰

Drummond Group AS2认证EDI产品选型避坑指南

做 EDI 这几年,被问得最多的问题之一就是:“怎么找真正有 Drummond Group AS2 国际认证的 EDI 产品?”说实话,这个问题看起来简单,实际坑特别多。不是随便找一个支持 AS2 的软件就行,也不是销售拍着胸脯说一…

📰

链表合并:非递减有序链表的原地归并实现

1. 项目概述:为什么链表合并不是“拼接”,而是“手术式融合”“基于链表的两个非递减有序序列的合并”——这行字看起来像教科书里的课后习题,但在我带过的十几个算法实训班里,它常年稳居“表面简单、实操翻车率最高”的前三名。不…

📰

Spring Boot 3.x 整合 Elasticsearch 8.x:客户端迁移与搜索实践

Spring Boot 3.x 要接 Elasticsearch 8.x,很多人的第一反应是“这不就是个 starter 依赖么”,但真正上手后会连续被几个版本问题砸懵。RestHighLevelClient 在 ES 8 里已经明确不建议再用,网上教程的示例一大半还停在 7.x 写法,Sp…

📰

AI越聪明,人类越忙?被忽视的“验证税”正在吞噬效率

纽约时报发表题目《What’s Dragging Down A.I. Efficiency? The ‘Verification Tax.’》的文章,其核心观点是:AI 虽然提高了内容生成速度,但同时创造了一种新的人工成本,即“验证税(Verification Tax)”…

📰

MATLAB逆傅里叶变换ifft实战:归一化、频率排列与单双边谱处理

简介:这份资源围绕逆傅里叶变换(IFFT)在MATLAB中的实现展开,面向信号处理、通信工程与图像分析方向的学习者和开发者,帮助理解频域信息如何还原为时域信号。压缩包内仅含1个m文件,即自定义函数F2T.m&#x…

📰

SpringBoot+Vue实验报告管理系统:从部署到二次开发全流程实战

拿到这套基于SpringBoot和Vue的实验报告管理系统源码时,我第一反应是典型的教学管理类全栈项目。但真正动手把它从代码仓库变成能跑通、能交付的完整系统,才发现里面涉及的坑远比想象中多。这篇文章不打算写泛泛的架构科普,而是记录我从零开始…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬