Nadav's 算法之旅

算法与数据结构

从全局视角梳理 AgentScope 24 个模块的四层依赖关系图,区分核心层与边缘模块,剖析 _utils/_common.py 等边界模糊处的设计权衡。全书 36 章复盘从基础概念到设计权衡的完整学习路径,展望多模态与 A2A 协议的演化方向。

阅读全文 »

解析 AgentScope 为何选用 ContextVar 而非全局变量或 threading.local 管理全局配置。全局变量在异步并发下互相覆盖,threading.local 在单线程 asyncio 中失效,唯有 ContextVar 为每个异步任务提供独立副本,无需加锁即可同时保证线程安全与异步安全。

阅读全文 »

对比元类编译期注入与运行时动态包装两种 Hook 实现策略,解析 AgentScope 选择编译期的三大理由:覆盖保证、继承链防重入安全、业务代码零侵入。深入追踪防重入机制的调用链执行过程,并讨论调试困难、元类恐惧等代价。

阅读全文 »

辨析 AgentScope Toolkit 的 1684 行单文件聚合是否属于反模式的上帝类。通过量化九种职责的行数分布、内聚性分析和与 ReActAgent 的横向对比,论证其作为高内聚聚合根的合理性,并推演中间件拆分的重构边界与代价。

阅读全文 »

对比 AgentScope 的实例级工具注册与 LangChain 全局装饰器方案,解析显式注册在多 Agent 场景下的优势。实例级注册让不同 Agent 持有独立工具集,支持运行时动态决定注册内容,同一函数可复用为不同名称和描述,且测试隔离无需清理全局状态。

阅读全文 »

深入剖析 AgentScope 为何选择单一 Msg 类作为全框架唯一通信接口,而非多种消息类型或纯字符串方案。通过对比 LangChain 的多类型设计和 AutoGen 的字典方案,分析统一接口在序列化、扩展性和互操作方面的优势,以及运行时类型检查和角色语义模糊的代价。

阅读全文 »

本章将前六章构建的 Tool、Model、Memory、Agent、MCP 集成与高级中间件组装为完整的 Agent 系统,通过单元测试、集成测试和端到端测试三层验证组装效果。文章实现无需 API Key 的模拟循环与完整 ReAct 循环,设置测试覆盖率不低于百分之八十的标准,并对比内存与 SQLite 两种 Memory 的性能基准,以 PR 检查清单收尾第三卷。

阅读全文 »

本章实现三项高级工具管理能力:基于 asyncio.Semaphore 和滑动窗口的限流中间件,支持并发控制、速率限制与超时保护并可洋葱链式叠加;利用场景分组按需动态激活或停用工具集;借助声明式 Agent Skill 为模型注入能力标签,引导其选择合适的工具。全文结合代码示例展示从限流到分组再到技能注入的完整流程。

阅读全文 »
0%