自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

原创 Go AI Agent 实战 30|Human-in-the-loop:关键操作前的人工确认

本课聚焦高风险操作的审批机制,强调仅靠Prompt无法保障安全,需在Go后端实现严格的HITL流程。通过定义waiting_approval状态、绑定具体操作与版本校验,确保审批可追溯、防并发漂移。示例展示任务状态管理、审批请求持久化及批准后重新验证逻辑,实现安全可靠的高风险操作执行。

2026-11-05 21:56:37 243

原创 Go AI Agent 实战 29|Agent 的失败恢复、重试与任务状态管理

本课讲解Agent任务失败后的智能恢复机制,强调避免无脑重跑。通过区分任务、步骤与错误状态,实现基于上下文、次数和退避的有限重试,仅对临时错误重试,跳过已成功步骤,并确保幂等性,防止重复执行有副作用操作。结合持久化设计,保障恢复可靠性。

2026-11-05 21:55:16 223

原创 Go AI Agent 实战 28|Agent 的预算、超时与停止条件

本课详解 Agent 的四大停止边界:轮数、工具调用次数、总超时与 Token 预算,强调其不可替代性。通过 Context 传递取消信号,显式定义八种停止原因(如 timeout、max_tool_calls),避免误判任务成功。结合 Go 示例实现预算检查、错误处理与可复现测试,确保 Agent 在资源耗尽或异常时准确终止,提升系统可靠性与可观测性。

2026-11-05 21:53:32 95

原创 Go AI Agent 实战 27|任务规划、步骤管理与执行结果验证

本课构建可追踪的 Agent 执行框架,用 Go 定义目标、计划与步骤状态(pending/running/succeeded/failed),实现依赖顺序执行与失败中断。通过固定工作流 query → rank → read → analyze → validate,显式验证每步结果,确保逻辑可靠。代码示例展示步骤状态管理、错误处理与运行时数据传递,为后续持久化与动态调度奠定基础。

2026-11-01 22:09:05 217

原创 Go AI Agent 实战 26|Agent 的 Observe、Think、Act 与执行循环

本课通过Go手写实现Agent最小执行循环,明确Observe、Think、Act三环节职责:Observe提炼当前状态,Think基于规则决策下一步,Act执行真实动作并更新状态。使用模拟工具与确定性Planner,完整演示任务从查询文章、读取正文到生成总结的闭环流程,支持轮次追踪、预算控制及多种终止状态(成功、失败、取消、超限),验证了Agent核心逻辑的可运行性与健壮性。

2026-11-01 22:07:42 192

原创 Go AI Agent 实战 25|Chat、Workflow 与 Agent 的区别

本课厘清Chat、Tool Calling、Workflow与Agent的本质区别:前者为交互形式,后者是决策机制。带工具调用不等于完整Agent,关键在于是否具备目标驱动、状态管理、预算控制与动态迭代能力。任务应按确定性选择架构——通用问答用Chat,固定流程用Workflow,开放探索才引入受控Agent。推荐混合设计:以Workflow保障安全合规,用Agent处理动态子任务,结合任务状态与执行约束,实现可靠工程化落地。

2026-11-01 22:04:22 352

原创 Go AI Agent 实战 24|工具系统工程化收尾与阶段验收

本课聚焦 Tool Calling 系统的可靠性验证,通过复盘调用链、制定验收清单,强化参数校验、调用ID检查与多层安全控制。强调“注册≠可用”“合法≠可执行”,明确四层校验分工:Schema、Go校验、业务状态、权限。提出单元、集成、真实模型三层测试策略,辅以综合题深化理解。最终目标是构建可重复、可预测、可审计的可靠后端工具调用系统,为下一阶段 Agent 深度开发奠定基础。

2026-10-29 17:51:02 204

原创 Go AI Agent 实战 23|多轮工具调用实战与异常恢复

本课聚焦多轮工具调用中的异常恢复机制,区分单轮并行与连续多轮调用场景,明确协议、临时、业务等错误的处理策略。通过实现带重试机制的 RetryTemporary 函数,仅对可重试的临时错误进行有限次重试,避免副作用操作盲目重放。结合测试用例验证连续两轮工具调用流程,并增强 FakeModel 记录请求消息,确保工具结果真实传递至下一轮模型请求,提升 Agent 执行可靠性。

2026-10-29 17:49:25 170

原创 Go AI Agent 实战 22|完善 Agent 执行循环:从工具调用到最终回答

Agent 循环在“模型请求工具”和“程序执行工具”之间迭代。assistant 工具调用消息和对应 tool 结果必须一起保留。每轮都检查协议,执行前检查预算和超时。最终回答、达到限制、超时和协议错误是不同结束状态。ChatModel接口让 Agent 可以在真实模型与假模型之间切换。测试不仅要看最终文本,还要验证每次请求的真实消息历史。

2026-10-29 17:47:53 263

原创 Go AI Agent 实战 21|多工具选择、参数校验与工具执行安全

本课聚焦多工具调用的后端控制,解决Go程序在接收模型返回多个工具调用时的参数校验、权限管理、超时控制与错误分类问题。通过统一校验流程、引入带超时的执行器、设置调用预算,并区分参数、业务与内部错误,实现安全可控的工具执行。强调三类边界不可混用:格式校验、业务规则与权限控制。最终以结构化错误返回,确保系统稳定可测。

2026-10-28 22:34:30 313

原创 Go AI Agent 实战 20|接入 DeepSeek 原生 Tool Calling

本课实现 Go 手写 Agent 的工具调用闭环:通过 tools 和 tool_choice 与真实模型 API 交互,解析 tool_calls,执行注册工具并回传结果。使用模拟天气数据验证流程完整性,重点掌握工具参数校验、上下文保留与执行限制机制,为下一阶段任务状态管理奠定基础。

2026-10-28 22:32:22 346

原创 Go AI Agent 实战 19|工具定义、参数 Schema 与工具注册表

本课实现工具注册表,将工具定义与执行逻辑分离,通过统一 Tool 接口封装名称、描述、参数 Schema 及执行方法。使用 json.RawMessage 支持灵活参数,结合并发安全的注册表实现工具注册、查找与执行,拒绝重复、空名、非法参数及未知字段,为下一课原生 Tool Calling 做好接口准备。

2026-10-28 22:29:58 304

原创 Go AI Agent 实战 18|Tool Calling 的基本原理与完整执行流程

本课聚焦 Go 后端实现 Tool Calling,模拟模型提出工具调用请求的全流程。通过定义工具名称、参数 Schema 与执行器,实现工具分派、参数校验与安全执行。强调模型仅提意图,应用负责授权与副作用控制。实验中使用 JSON 解析与上下文超时机制,验证 get_weather 工具的合法调用,为后续接入真实模型 API 奠定基础。

2026-10-25 22:57:55 193

原创 Go AI Agent 实战 17|模型适配层设计:让模型可替换

Generate(ctx:调用方可以取消和设置截止时间。messages:输入是多轮消息。:成功返回文本,失败返回可分类错误。Go 使用隐式接口实现。类型不需要写implements,只要方法集合匹配,就自动实现接口。Generate(这个文件不包含 API URL、密钥或供应商响应格式。它描述的是“业务需要什么能力”,不是“某家服务如何实现”。理解 HTTP 请求和响应。用net/http完成真实调用。安全管理 API Key。设计 JSON 边界与业务校验。

2026-10-25 22:55:55 242

原创 Go AI Agent 实战 16|重试、指数退避、限流与成本控制

先分类错误,再决定是否重试。指数退避缓解重试风暴,抖动让重试流量错开。最大次数、总截止时间和 Context 取消构成重试的硬边界。每次重试必须重新构造可读的请求体。读取超时是“结果未知”,自动重试可能重复生成和计费。并发、速率、Token、费用和时间需要共同约束。

2026-10-25 22:54:41 285

原创 Go AI Agent 实战 15|context.Context、超时与取消机制

Context 用于传播取消信号和截止时间,不负责强制终止任意函数。设置预算,WithCancel支持业务主动停止。必须通过将 Context 绑定到 HTTP 请求。HTTP 客户端超时是网络层兜底,不能代替上游取消传播。Gin 中使用,不要直接传。请求超时不代表服务端没有执行,重试时要考虑重复成本。

2026-10-24 23:08:26 342

原创 Go AI Agent 实战 14|多轮对话与上下文历史管理

本课讲解如何在Go中实现大模型的多轮对话,重点解决无状态API带来的上下文丢失问题。通过维护system、user、assistant三类消息角色,使用切片保存历史记录,并仅在成功获取回答后添加assistant消息,确保对话连贯性。同时分析了上下文窗口、Token成本与历史策略(如最近窗口、摘要)的影响,为构建高效AI问答系统提供实践基础。

2026-10-24 23:06:49 631

原创 Go AI Agent 实战 13|大模型流式输出 Streaming 的实现

本课实现Go语言原生流式输出,通过解析SSE格式响应,逐块读取大模型生成的文本。使用bufio.Scanner按事件边界处理数据,提取delta.content增量内容,正确识别[DONE]结束标记与异常断流。代码不依赖第三方SDK,具备错误处理与超时控制,适用于实时聊天、代码生成等场景,显著提升用户体验。

2026-10-24 23:04:32 545

原创 Go AI Agent 实战 12|HTTP 状态码、API 错误处理与日志

本课聚焦Go客户端错误处理,将调用失败分为请求构造、传输、HTTP及业务错误四类,通过自定义APIError结构保留状态码与错误详情,结合%w实现错误链追踪。针对401、429、503等状态码设计可重试策略,解析服务端JSON错误响应,确保日志安全不泄露密钥。最终封装成可复用的健壮客户端,为后续重试机制奠定基础。

2026-10-23 13:09:30 433

原创 Go AI Agent 实战 11|请求结构、响应结构与 JSON 解析

本课聚焦Go调用大模型时的请求与响应结构设计,强调分离建模以提升可维护性。通过指针区分字段状态(如nil、空值、实际值),合理使用json:""标签与omitempty,实现精准映射与序列化控制。结合json.Unmarshal本地解析实验,验证结构体对复杂响应的容错能力,并在解析后进行业务校验,确保数据完整性。

2026-10-23 13:06:30 164

原创 Go AI Agent 实战 10|环境变量、API Key 与密钥安全

本课聚焦Go项目中大模型密钥的安全管理,强调避免硬编码,通过环境变量、.env文件与.gitignore协同实现配置分离。重点讲解了环境变量设置、配置集中加载、密钥泄露应急处理及生产环境权限控制,强调“配置即运行时注入”的安全原则,为后续AI Agent开发筑牢安全基础。

2026-10-23 12:55:58 319

原创 Go AI Agent 实战 09|用 net/http 真实调用 DeepSeek

本课基于Go标准库实现大模型调用,通过结构体定义请求/响应格式,读取环境变量获取API密钥与模型名,使用http.Client发送请求并严格校验状态码、响应内容及choices字段。重点掌握从请求构造到错误处理的完整流程,确保失败场景可定位,避免将异常响应误判为成功,代码结构清晰可复用。

2026-10-21 14:00:00 1014

原创 Go AI Agent 实战 08|HTTP 模型 API 的工作原理与请求流程

本课讲解Go后端如何通过标准库net/http与大模型服务通信,重点掌握请求构造、JSON编码、HTTP交互流程及错误排查。强调模型调用应由后端负责,避免前端暴露API Key。详解请求头、请求体、响应体结构,明确choices[0].message.content为最终回答,区分HTTP成功与业务成功。通过分阶段调试,精准定位网络、认证、解析等各类问题,为下一课实现真实调用打下基础。

2026-10-21 12:00:00 479

原创 Go AI Agent 实战 07|模型幻觉、能力边界与成本控制

本课总结第一阶段“大模型基础”核心内容:剖析模型幻觉成因,强调Go后端在事实校验、权限控制与事务保障中的关键作用。明确分工原则——LLM处理语言理解与生成,Go后端负责确定性逻辑与真实数据操作。结合成本模型,量化输入/输出Token计费机制,揭示Agent多轮调用带来的累积开销。提出通过上下文超时控制、检索增强、输出验证与调用限流等Go工程手段,构建可靠、低成本的AI服务架构,为后续真实项目落地奠定基础。

2026-10-21 10:00:00 306

原创 Go AI Agent 实战 06|JSON 结构化输出与 Go 后端校验

本课聚焦大模型结构化输出,讲解如何用 Go 解析 AI 返回的 JSON 数据。通过定义结构体、使用 json.Unmarshal 解析,并分层校验语法、字段合法性与业务逻辑,确保程序可稳定消费模型输出。强调真实项目中应优先依赖模型服务的结构化能力,而非仅靠 Prompt 控制格式,避免因解析失败或数据错误导致系统异常。

2026-10-21 08:00:00 329

原创 Go AI Agent 实战 05|Temperature 与生成参数:让模型输出可控

本课深入讲解大模型生成控制参数,重点解析 Temperature、Top-P 与最大输出 Token 数的作用与区别。通过 Go 代码模拟配置,理解如何根据技术问答、创意写作等场景合理设置参数。强调 Temperature 影响随机性但无法消除幻觉,Top-P 控制候选范围,最大输出限制回答长度。最后设计清晰的 Go 配置结构,为后续接入真实 API 做准备。

2026-10-20 10:00:00 337 1

原创 Go AI Agent 实战 04|Prompt 与消息角色:System、User、Assistant

本课聚焦于Go后端开发中的Prompt设计,系统讲解System、User、Assistant三类消息角色的用途与协作机制。通过Go结构体实现消息序列化,掌握如何组织清晰、可维护的提示词,理解多轮对话中历史消息的重要性,并警惕Prompt Injection风险。强调Prompt仅引导模型行为,不可替代程序校验,需结合工程实践确保输出可靠性。

2026-10-20 08:00:00 624

原创 Go AI Agent 实战 03|Token、上下文窗口与模型调用成本

本课深入解析大模型中的Token机制,解答中文字符与Token数量差异、多轮对话内存占用及调用成本波动三大核心问题。通过实例说明Token非字符等长,上下文窗口限制影响请求设计,并强调需基于实际Tokenizer估算。重点讲解上下文管理策略(如最近窗口、摘要压缩),指导开发者在Go项目中实现高效对话状态控制与成本优化,为后续构建可控、经济的AI Agent打下基础。

2026-10-19 16:46:45 205

原创 Go AI Agent 实战 02|大语言模型(LLM)到底是怎么工作的

本课从Go后端视角深入解析大语言模型(LLM)核心原理,涵盖模型生成机制、Token概念、幻觉成因及上下文理解。重点讲解推理阶段流程:基于概率逐步生成文本,依赖注意力机制理解上下文,但受限于上下文窗口与训练数据。强调模型非知识库,易产生幻觉,需通过RAG、验证与权限控制等工程手段保障可靠性。最后结合Go实践,明确后端在请求处理、错误应对与成本控制中的关键角色,为后续手写实现奠定基础。

2026-10-19 16:39:27 459

原创 Go AI Agent 实战 01|AI 应用与传统后端的本质区别

本课厘清了传统Go后端与AI应用的本质区别:前者逻辑确定、规则显式;后者融合模型生成能力,引入不确定性。重点强调LLM仅作语言理解与生成,真实数据访问需通过Go后端控制的Tool Calling实现。工程上应保持关键逻辑可控,避免盲目使用Agent、RAG等复杂架构。学习路径遵循“理解→手写→封装”,确保可维护性与成本可控。

2026-10-19 16:30:25 265

原创 【Golang】第十一弹------反射

本文系统介绍Go语言反射机制,涵盖reflect.TypeOf、ValueOf等核心函数,解析类型检查、动态调用方法、结构体字段操作、序列化及插件系统等应用场景,并强调反射使用中的最佳实践:避免过度使用、优先类型断言、缓存反射结果、合理处理指针与错误。结合综合案例,帮助开发者高效、安全地运用反射,提升代码灵活性与可扩展性。

2025-03-30 19:15:56 1742 33

原创 【Golang】第十弹----单元测试、go协程和管道

Go单元测试、goroutine、channel

2025-03-30 14:36:26 5132 71

原创 【Goalng】第九弹-----文件操作、JSON处理

Go文件操作、json序列化、flag解析命令行参数

2025-03-29 11:44:48 1326 36

原创 【Golang】补充:占位符、转义字符、错误处理

补充一些之前没提到的基础知识点:占位符和转义字符

2025-03-25 23:57:21 1727 21

原创 【Golang】第八弹----面向对象编程

一篇搞定GO面向对象编程特性、结构体、方法、封装、继承、多态

2025-03-25 00:35:35 2691 57

原创 【Golang】第七弹----map

Go语言中的 map 是一种无序的键值对集合,类似于其他语言中的字典或哈希表。它通过键(key)来快速查找对应的值(value),键必须是唯一的,而值可以重复。

2025-03-23 17:23:24 3081 47

原创 【Golang】第六弹----数组与切片

Go数组与切片

2025-03-18 08:00:00 1289 23

原创 【Golang】第五弹----函数

Go函数篇;init函数、匿名函数、字符串函数、日期函数、内置函数,闭包处理、defer机制

2025-03-13 23:33:25 1906 25

原创 【Golang】第四弹----程序流程控制

Golang----程序流程控制:if-else、switch、for、break、continue

2025-03-13 08:30:00 1065 9

原创 【Golang】第三弹----运算符

Go运算符

2025-03-12 18:04:46 1393 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除