入门

课程地图

这门课在讲什么

agent = LLM + tool use(核心循环的最小闭环,不是 Agent 系统的能力全集)。模型提供语言、推理、"下一步调用哪个工具"的决策,并因此在循环内自主承担 Planning;Memory 则由 harness 拆成消息数组、会话与压缩三件机制,与工具、权限、上下文一样,都是包住模型的 harness 的职责。本课程以 Pi 为蓝本,每一章围绕一个大主题,讲清"是什么 / 怎么做 / 为什么",重点介绍 Pi 的核心设计。

  • 固定基线:Pi 0.85.1 @ d981de1229ef899957bbe968bc8dcda02a21f477,任何 API 细节以该版本源码和官方文档(pi.dev)为准。
  • 双重对照:每章配有可运行的 Python 教学模型(标准库、离线、确定),以及 Tau(Pi 的 Python 对照实现)的真实代码。
  • 工程化验证:131 个单元测试 + 课程契约检查 + 链接检查,全部离线可复现。

章节总览

  • 00-course-map.md
  • 01-architecture/README.md
  • 02-agent-loop/README.md
  • 03-tools/README.md
  • 04-messages-and-memory/README.md
  • 04b-system-prompt/README.md
  • 05-sessions/README.md
  • 06-events-and-extensions/README.md
  • 07-context-and-compaction/README.md
  • 08-providers-and-models/README.md
  • 09-reliability/README.md
  • 10-protocol-and-integration/README.md
  • 11-projects-and-evaluation/README.md

阶段一 · 架构与核心机制

先建立整体心智模型:谁在循环里,谁在循环外。

阶段二 · 状态与边界

状态存在哪一层?出错了边界在哪?

阶段三 · 集成与实践

把前面所有边界接起来,做成能跑、能测的东西。

附录

学习目标

  • 了解课程以哪个 Pi 版本为准,以及如何查找相应的源码说明。
  • 区分 Pi 的 TypeScript 实现、Tau 的 Python 实现与本课程的离线 Python 教学模型。
  • 使用本仓库的检查脚本验证课程资料。

当前 Pi 行为

Pi 的实际行为以固定版本(0.85.1)的源码为准;课程叙述应链接到 Pi 源码映射,而不是把示例 Python 当作 Pi 的生产实现。

Python 实验

课程实验位于 learn_pi_lab 包中,且只依赖 Python 标准库。可以先运行:

python3 -m learn_pi_lab

配套资料

  • Pi 源码映射 —— 固定基线、源码入口、常见误解与基线事实
  • 术语表 —— 关键术语定义
  • Tau —— Pi 的 Python 对照实现(tau_agent / tau_ai / tau_coding)

验证方式

在仓库根目录运行以下命令:

python3 scripts/check_course_contract.py
python3 scripts/check_markdown_links.py

两条命令成功时都会输出 OK

边界与安全

  • 本课程 Python 教学模型只依赖标准库:不访问网络、不调用模型、不执行学习者提供的 shell 命令。
  • 教学模型 ≠ 生产实现:示例中的固定数据和策略不可直接替代生产配置。
  • 迁移到 Pi 时用 TypeScript 重新实现,并补齐认证、权限、取消、日志脱敏与端到端测试。