- 博客(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】第七弹----map
Go语言中的 map 是一种无序的键值对集合,类似于其他语言中的字典或哈希表。它通过键(key)来快速查找对应的值(value),键必须是唯一的,而值可以重复。
2025-03-23 17:23:24
3081
47
原创 【Golang】第四弹----程序流程控制
Golang----程序流程控制:if-else、switch、for、break、continue
2025-03-13 08:30:00
1065
9
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅