该代码控制一台基于 Arduino 的 JBR-001 机器人,机器人配备头部舵机、两个手臂舵机、蜂鸣器、LED 点阵和距离传感器。启动时,机器人会让舵机回到中间位置,播放四个音符组成的问候音,并执行一套头部和手臂动作。 在主循环中,代码持续播放大、小爱心位图动画,以模拟心跳。当距离传感器检测到物体距离小于 200 个单位时,机器人播放一次问候音,并将 `objectDetected` 设为真,以防止重复发声。如果物体移动到距离大于 250 个单位的位置,该状态会重置,机器人便可以再次播放问候音。阈值单位取决于传感器库的输出。动画使用非阻塞的 `millis()` 定时,而问候音和启动动作使用延迟。
Pi 的核心现已支持 MCP,推翻了此前的立场,因为 MCP、模型和智能体架构都已经 evolves(演进)。这些必要的改动也让非 MCP 工具受益,尤其是 Jev。 主要新增的是 Codemode:这是一个运行在 Pi 可信智能体循环旁边的 JavaScript 沙箱。它允许智能体组合和编排多个工具调用、控制工具加载策略,并将状态保存在会话记录中,而不是文件系统中。Codemode 会在启用 MCP 时自动加载,也可以单独启用。 尽管现代 MCP 已有不少改进,许多服务器仍假设使用的是旧版宿主框架:这类框架会把所有工具直接塞进上下文,并返回未结构化的文本。Pi 认为,MCP 更接近 OpenAPI,但增加了智能工具发现和结构化响应能力;Pi 的目标是帮助 MCP 面向小型现代智能体进一步发展。要充分利用较新的 LLM 能力,还必须支持延迟加载工具和更丰富的元数据。 一个示例将 Linear MCP 工具与 Jev 分类器结合使用,并行分析问题讨论,识别情绪不满的问题提交者,同时避免不必要的上下文占用。