抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

一、引子:大模型的三种用法 在聊 Agent Loop 之前,我们先退一步,看看”使用大模型”这件事本身有几种模式。这对理解”为什么需要循环”至关重要。 模式 1:直接调用 —— “模型,回答我” 最原始、最直觉的用法。你构建好提示词,调用一次 API,拿到结果,完事。 1用户输入 → 构建提示词 → 调模型 → 模型输出 → 展示结果 核心工作在于”构建提示词”** 。提示词写得好,结果就...

Pi Agent 给人的一个错觉是,它好像记得整个项目。 你让它读文件、跑测试、修改实现,再回头问它为什么这样改,它通常还能接上前面的工作。但打开源码会发现,Pi 并没有给模型一块无限记忆。每次调用模型之前,它都会从会话、工具结果、项目规则和当前输入里,重新裁出一份可以发送的消息。 所以真正值得研究的问题不是模型能记住多少,而是这一轮请求发出之前,Pi 决定让模型看到什么,又把什么留在了上下...

在 Pi Agent 的工具系统中,工具的抽象和执行机制是整个架构的核心。本文系统梳理工具定义的三层类型、调用时的五步管道、并行执行策略,以及错误处理的特殊设计。 一、三层类型:为什么”一个工具”要分三层来定义? 在 Pi Agent 里,一个完整的工具定义被拆成了三层,目的是让不同层职责清晰、扩展性强: 第一层:Tool(一张”名片”) 这是最基础的一层,只定义工具的基本信息: tool...

在 Pi Agent 的工具系统中,Operations 抽象 是核心设计之一。它把工具的执行逻辑与具体文件系统实现解耦,让 Agent 可以在本地、SSH、Docker 等不同环境中灵活切换。 本文主要分享工具架构的核心设计思路,包括抽象接口、依赖注入、闭包固定实例,以及 Workspace 切换机制。 为什么不直接使用 Node.js fs? 很多人第一反应是直接调用 fs/promis...

Kimi K3 的技术博客里,有一个很容易被忽略、但很关键的细节: K3 对「思考历史」极度敏感。harness 如果没有完整传回之前的 thinking 内容,生成质量会严重不稳定。 原文大致写了两个触发条件: harness 没有完整回传历史 thinking 内容 会话中途从别的模型切换到 K3 博客对原因也做了解释。大多数 reasoning 模型,比如 Claude 的 ext...

最近看 Agent 相关的项目,经常会同时碰到三个词,Function Calling、MCP 和 Skill。 它们看起来都和「让模型做事」有关,于是很容易混在一起。有人把 MCP 当成更高级的 Function Calling,也有人觉得有了 Skill 就不需要 MCP。 其实它们并不在同一层。 最简短的理解是,Function Calling 负责表达调用,MCP 负责接入能力,Sk...