《AI Agent 开发入门》3.3 抽成 Agent 类:状态、步骤与回调
保留既有停止保护,将历史与回调加入共享循环,提供完整 Agent 文件和两轮离线演示,并验证失败轨迹与系统指令去重。
tag
保留既有停止保护,将历史与回调加入共享循环,提供完整 Agent 文件和两轮离线演示,并验证失败轨迹与系统指令去重。
上节的 run() 只会跑到自然收敛,模型一卡住就束手无策。本节给循环装上五条止损线:无工具调用、达到 max_steps、stop_reason 为 max_tokens、工具连续失败、重复动作。我们用 AgentLoopError 把异常终止变成可诊断的数据,再用两个假模型分别制造死循环与原地打转,逐一验证每条止损线是否真的生效。
本节给 minagent 装上第一个 Agent 循环:run() 反复调用 model.complete,把 assistant 消息与工具结果追加进同一个消息列表,直到某一轮不再产生工具调用为止。我们用 FakeModel 跑通 (2+3)*4 的两步收敛,打印每一步的 Step 轨迹、最终回答与消息条数,并讨论这个朴素实现留下了哪些坑。
复用 minagent 消息协议与统一配置,实现仅对明确暂时性故障切换的模型路由;真实模式禁止隐式假模型降级,并提供五项离线回归。
上一节的 Settings 里还嵌着明文密码。本节给 ResearchCopilot 补上密钥治理:用 SecretStr 让密钥在打印、日志、序列化时自动脱敏,用 .env 与 .gitignore 配合完成本地注入,并在启动时对必需密钥做 fail-fast 检查。我们真跑两段代码展示脱敏效果与缺失报错,最后给出一份密钥清单表。
复核 pydantic-settings 2.14.2 的完整配置文件、JSON/env/显式参数优先级、非法值与 load 入口,明确额外字段和当前执行范围。
用标准库按完整用户轮次裁剪历史,保留系统指令和最近一轮,将工具描述及裁剪说明计入近似预算;超限无法满足时在调用模型前明确失败。
本节让同一个 Model 协议接入 Anthropic SDK,重点是双向转换、工具结果成批回填和显式拒绝不支持的响应。适配器不做业务重试。普通文本和客户端 tool_use 是本例支持的范围。thinking、server_tool_use 等块以及 refusal、pause_turn 等停止原因需要独立协议设计;本例明确拒绝,不把它们折成正常 final。Message 只保存拼接文本与工具列表,不能无损保留任意供应商 block 的交错顺序。
本节把「调用大模型」抽象成 minagent 的 Model 协议:用一个 complete(messages, tools) 方法屏蔽供应商差异,用统一的 ModelResponse 承载回复、停止原因与用量。我们讲清协议为什么存在、complete 与 stream 如何取舍,再给出 EchoModel 与 ScriptedModel 两个可运行实现,并验证它们可以互换。
从 minagent 全卷交付建立离线 ResearchCopilot 骨架,提供完整基础配置、桥接代码和 Python/Node 冒烟测试,明确打包、lint 与远程 CI 的待验证前提。
本节给 ResearchCopilot 画出四层边界:卷一的 minagent 引擎层、FastAPI 服务层、异步 worker 层、Postgres 加 Redis 的存储层。我们用一张 ASCII 图和一张职责表说清每层管什么、不该管什么,用可跑的检查脚本钉死依赖方向,并完整走一遍一个提问从进来到出结果、跨四层的时序。
本节为 ResearchCopilot 立下 3 个可验收的核心用例:单跳事实问答、多跳研究并输出带引用报告、后台周期 digest。每个用例都给出量化验收标准与落地章节映射,并明确列出不做通用聊天、不做 MCP Server 实现、不做多租户计费这三条边界,把项目范围钉死在可交付的一小块上。
本节写下全书的测试基石 FakeModel:一个按脚本列表吐响应的假模型,脚本元素可以是文本、ToolCall 列表或 ModelResponse,它记录每次调用入参、脚本耗尽即抛 RuntimeError。随后用一个极简循环跑通「add 到 mul 再文本收敛」,打印完整轨迹并断言两次运行逐字节一致。
定义内部消息、工具调用与模型响应,提供可直接保存的完整文件,验证纯文本和文本/工具混合消息的序列化往返,并说明静态类型与供应商格式的边界。
本节为 minagent 搭好双栈环境与仓库骨架:用 Python 3.14.6 建虚拟环境并配置中科大 PyPI 镜像,用 Node 26.5.0 备好 TypeScript 对照线;再建出 minagent/ 包与 tests/ 目录,git init 并完成首个提交,最后用一行命令实测验证解释器版本。
将 AI Agent 从原型 Demo 推向生产环境需要解决可靠性、延迟、成本和可扩展性四大挑战。本文系统讲解 Agent 生产化部署的完整架构:Prompt 版本管理、工具调用安全隔离、多轮对话状态持久化、流式响应与 SSE、重试降级策略、Token 预算控制,以及 LangChain、CrewAI 等框架的部署模式对比。
系统拆解 AI Agent 产品设计的完整方法论体系:从工具思维到 Agent 思维的范式迁移、五大核心组件 UX 设计、四种交互模式(Chat/Copilot/Autonomous/Hybrid)、分层记忆系统设计、可靠性工程与容错策略、多智能体编排的 UX 挑战、信任与可解释性设计。 涵盖 ReAct、Plan-and-Solve、Reflexion、DEPS 四大设计模式的适用场景,以及 Devin、AutoGPT、Claude Computer Use 三个经典案例的产品分析。 附 Agent 产品评估矩阵、自主度光谱模型与伦理安全护栏设计框架。
系统拆解 LLM Agent 的架构模式:ReAct、Reflexion、Plan-and-Solve、AutoGPT。 涵盖感知(Perception)、推理(Reasoning)、记忆(Memory)、工具(Tool)、执行(Execution)五大核心组件的设计与实现。 附基于 LangChain + OpenAI 的完整可运行推演 demo,以及生产环境的护栏与成本优化策略。
从技术演进、商业模式和社会影响三个维度,展望 AI 开发者工具从当前辅助编程到未来自主开发代理的变革路径,为 Birdor 的长期战略提供前瞻视角。