Mirascope 是一个面向 AI 工程师的开发库,官网给它的描述是 The complete toolkit for AI engineers,最醒目的词是 The LLM Anti-Framework。所谓反框架,是它不替你搭应用骨架,而是把大模型开发要用的零件分开交出来:调用入口、工具注册、版本标记、调用记录,需要哪个接哪个。首屏用四个动词串起完整流程,Build、Observe、Iterate、Ship,也就是构建、观察、迭代、交付,旁边是 v2.4.0 与 1.4k 颗星。顶栏只有 Docs、Blog、Cloud 和一个 ⌘K 搜索,整页 32KB,打开就能看到代码例、追踪表与演示对话。
📊
核心功能:一次调用、一个工具、一段循环
首页的代码例把写法讲得很直接。第一行 from mirascope import llm, ops 引入两个入口,接着用 @llm.tool 把一个图书相关的函数注册成工具,用 @ops.version() 给版本贴标,再用 @llm.call 发起一次模型调用。紧跟着是一段 Agent Loop,while 循环只有三步:拿到 tool_calls、执行工具、把结果送回去继续推理,智能体的骨架就这么几行。旁边的 Messages 演示把这段循环跑给你看,先是 Thought for 2 seconds 的思考提示,然后工具一进一出,最后给出两条书目推荐,调用与回复的往返都显示在同一屏里。
🛡
特色:每次调用的成本记到美分
它把这一次调用花了多少钱当成一等公民。首页放着一张 Traces 表,Version、Time、In、Out、Cost 五列三行,成本精确到美分,哪一版输入多、哪一版输出贵,翻一眼就能对上。配合 @ops.version() 的版本标记,代码改了版本跟着改,成本也跟着走,三者在表里始终连着。思考过程同样留痕,Messages 演示里的 Thought for 2 seconds 来自开启 include_thoughts 的输出,模型先想、再动手,读的人能看到它想的那一步。对排查问题的团队来说,记录完整比界面好看重要得多。
🔗
典型场景:从工具调用到智能体循环
这套零件适合几类具体场景。工具调用最常见,把检索、查询、外部接口包成 @llm.tool,模型自己判断什么时候调,日志里能查到每次的入参与结果。智能体循环是第二类,首页那段 while 就是现成模板,工具结果回填后继续推理,直到任务做完再退出。第三类是版本与成本管理,每次改动打一个版本标记,Traces 表把每个版本的输入、输出与花费摊开,复盘时不用凭印象。第四类是思维链展示,开着 include_thoughts,把先想后答的过程呈现给使用者,解释起来更有底气。