新闻详情

新闻详情

首页 / 资讯中心 / 详情

Rakazo 机器人如何工作:Pi 代理循环、工具调用与流式响应完整解析

发布时间:2026/9/30 17:09:43来源:尧图网络
Rakazo 机器人如何工作:Pi 代理循环、工具调用与流式响应完整解析
Rakazo 机器人如何工作Pi 代理循环、工具调用与流式响应完整解析【免费下载链接】rakazoOpen-source Grok Bot alternative. Choose your own model and sandbox.项目地址: https://gitcode.com/gh_mirrors/ra/rakazoRakazo 是一个开源的 Grok Bot 替代品——你只需自带模型和沙箱就能运行真正持久化的 AI 队友。本文将带你深入 Rakazo 机器人内部完整解析它的三大核心机制Pi 代理循环如何驱动思考、工具调用如何让机器人动手干活以及流式响应如何把结果逐字推送到你的屏幕上。无需任何框架基础读完你就能看懂一条消息从发出到回复的完整旅程。一条消息的完整旅程先建立整体认知在 Rakazo 里每个机器人Bot都是独立的持久化实体拥有自己的对话、记忆、例行任务和历史。当你发出一条消息后系统会经历这样一条流水线API 层接收消息创建一次运行Run**执行器Executor**组装上下文系统提示词、历史消息、可用工具清单、模型凭据Pi 代理运行时接管进入思考 → 调用工具 → 观察结果 → 再思考的循环流式事件一路向前端推送机器人边想边说边做。整个链路的代码主要集中在 packages/adapters/src/ 目录下其中 executor.ts 负责运行编排pi-runtime.ts 则是代理循环的心脏。Pi 代理循环机器人如何思考Pi 是 Rakazo 选用的模型接入层栈中写作 PiRakazo 通过earendil-works/pi-agent-core构建了一个标准 Agent。它的初始化非常直白指定模型、系统提示词、工具列表和历史消息代理循环就自动开始了——模型输出文本就继续流式转发输出工具调用就执行工具直到模型给出纯文本的最终回答。核心初始化逻辑在 pi-runtime.tsagent new Agent({ sessionId: conversationSessionId(request.threadId, request.botId), initialState: { systemPrompt, model: completionModel, tools, messages: history }, });几个值得新手注意的设计细节系统提示词按能力自适应️如果机器人拥有电脑提示词会自动强调使用computer_observe和computer_act观察桌面、操作浏览器否则只声明你有持久沙箱和 shell保持简洁。推理强度自动匹配推理型模型reasoning会启用 medium 思考级别普通模型则关闭避免无效开销见 pi-runtime.ts。中途转向Steering代理循环支持在运行中注入新的用户消息让你在机器人干活到一半时随时补充指令无需打断重来。静默续跑保护部分 OpenAI 兼容模型在收到工具结果后会提前收工Rakazo 内置了最多 3 次内部追问MAX_SILENT_TOOL_CONTINUATIONS确保长任务不会在一步工具调用后就草草结束。工具调用机器人如何动手光会聊天不够Rakazo 机器人的真正威力来自工具。所有内建工具定义集中在 builtin-tools.ts覆盖面相当广类别代表工具能做什么️ 电脑操作computer_observe、computer_act截图观察桌面、点击键盘操作任意应用 浏览器browser_navigate、browser_snapshot、browser_act打开网页、抓取页面结构、模拟交互 文件与终端read_file、write_file、shell在沙箱里读写文件、执行命令 记忆save_memory、recall_memory、remember跨对话记住你的偏好和项目背景 协作run_subagent、message_bot派生子代理或向同级机器人发消息 交互ask_user、request_secret主动向用户提问、索取凭据工具执行一次调用背后发生了什么当模型发起工具调用时Pi 运行时的执行回调会做四件事pi-runtime.ts生成一个executionId向事件队列推送tool事件——前端立刻显示正在执行 xx将调用交给执行器的executeTool后者会做审批判断高危操作会触发暂停等待你点允许才继续子代理类工具走专门的executeSubagent最多 4 个并行MAX_PARALLEL_SUBAGENTS 4且不允许再嵌套防止失控工具结果回传给模型循环进入下一轮。此外还有一个熔断器通过环境变量MAX_TOOL_CALLS_PER_TURN可限制单轮工具调用次数自托管用户用它防止机器人陷入死循环烧 Tokenpi-runtime.ts。流式响应逐字呈现的实时反馈你不会愿意盯着空白屏幕等三分钟。Rakazo 的流式机制把模型的每一口输出都变成即时事件。订阅逻辑在 pi-runtime.tstext_delta模型的每个文字增量立刻作为text事件推入队列实现打字机效果tool_execution_start工具开始执行时推送progress事件显示人话版描述比如正在读取文件 xx而不是干巴巴的working…message_end每条消息落定时记录会话并统计 Token 用量usage事件账单透明可查。一个精妙的细节工具活动提示和正文文本会互相替换——一旦模型开始输出真实文字正在执行的提示行就自动消失界面始终干净。前端拿到这些事件流后Web 端、桌面端Electron和移动端Expo渲染完全一致因为它们消费的是同一套 API。快速上手运行你自己的 Rakazo 机器人想亲手验证以上机制本地开发环境只需四步git clone https://gitcode.com/gh_mirrors/ra/rakazo cd rakazo cp .env.example .env # 设置 POSTGRES_PASSWORD 与各项密钥 pnpm install pnpm db:generate pnpm db:migrate pnpm sandbox:build pnpm dev打开http://127.0.0.1:5173创建账号、连接模型支持 OpenRouter、OpenAI 兼容接口、Anthropic 等甚至本地模型然后创建你的第一个机器人。完整的部署方案、受限网络处理和云沙箱E2B、Daytona、Box 等配置见官方文档 docs/self-host.md。小结三大机制一句话回顾Pi 代理循环标准思考—行动—观察循环附带自适应提示词、中途转向和静默续跑保护工具调用从桌面操作到子代理协作审批与熔断器双重把关安全可控流式响应文字增量、工具进度、用量统计全部实时推送三端体验一致。如果你想继续深挖建议按这个顺序读源码executor.ts运行编排与审批→ pi-runtime.ts循环与流式事件→ builtin-tools.ts全部工具定义。这正是理解开源 AI 代理架构的一条极佳路径。✨【免费下载链接】rakazoOpen-source Grok Bot alternative. Choose your own model and sandbox.项目地址: https://gitcode.com/gh_mirrors/ra/rakazo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

从命令行到脚本:掌握Shell编程的核心逻辑与避坑指南 2026/10/1 4:30:16

从命令行到脚本:掌握Shell编程的核心逻辑与避坑指南

先问个问题:你在Shell里敲过的最长一条命令是什么?是一长串管道,还是带了一堆awk的ps aux | grep xxx?如果你能熟练拆解这些命令,却始终写不出一份像样的Shell脚本,那大概率卡在同一个小坎上——你一直把Sh…

阅读更多 →
EfficientMod图像分类实战:从Transformer调制原理到森林场景部署全流程 2026/10/1 4:30:16

EfficientMod图像分类实战:从Transformer调制原理到森林场景部署全流程

简介:面向图像分类任务研究者与毕业设计学生的EfficientMod实战资源包,围绕高效调制视觉网络展开,重点解决如何在准确性与效率之间取得更优平衡的问题。资源压缩包约752.9MB,文件总数与类型明细暂未公开,从工程规模看适…

阅读更多 →
从原型到规模化:探索型RAG知识库问答项目演进实践 2026/10/1 4:30:16

从原型到规模化:探索型RAG知识库问答项目演进实践

做探索型项目,最难的从来不是从0到1把原型跑通,而是从1到N的这段路。我过去一年多带了一个本地部署的团队文档知识库问答系统,从最初只是一个领导拍脑袋的"能不能让AI帮我们读文档",走到现在支撑全公司多个业务线的日常…

阅读更多 →
C++输入缓冲区的换行符陷阱:cin与getline混用排查指南 2026/10/1 4:30:16

C++输入缓冲区的换行符陷阱:cin与getline混用排查指南

1. 输入缓冲区里的那个"吃不完"的换行符很多人学C学到输入输出的时候,都会遇到一个特别诡异的场景:明明代码写得没毛病,逻辑也对,可程序跑起来就是不按套路出牌,输入完一个数字以后,后面的字符串…

阅读更多 →
C语言俄罗斯方块:内存、状态机与终端I/O的综合实战 2026/10/1 4:30:16

C语言俄罗斯方块:内存、状态机与终端I/O的综合实战

1. 这不是玩具代码,是C语言能力的立体考场“C语言——俄罗斯方块”,光看标题,很多人第一反应是:哦,又一个教学小项目。但在我带过二十多届嵌入式与系统编程学员、亲手陪跑过三百多个毕业设计的真实经验里,这…

阅读更多 →
储备池计算实战:用Python实现Lorenz混沌时间序列预测 2026/10/1 4:30:09

储备池计算实战:用Python实现Lorenz混沌时间序列预测

简介:储备池计算是一种适用于非线性动态系统与混沌时间序列预测的高效递归神经网络方法,这份资源提供了基于Python的完整可运行实现。对于希望快速上手储备池计算、并借助可视化验证预测效果的开发者或研究人员,具有直接参考价值。资源包共9个…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉