Agentpath
L1 · loop、工具、上下文、会话

内核解剖

这一阶段自己写一个能跑的最小 agent,然后拿 Pi 的实现逐项对照:它的 loop 多了什么、上下文怎么管、会话为什么是树。写过一遍再读源码,收获完全不同。

7 节课 · 约 4 小时已完成 0/7
  1. 1

    八十行写出你自己的 agent loop

    动手45 分钟

    不借任何框架,用一个 while 和两个工具跑起来。这八十行是后面所有内容的地基。

    • 从零写出一个能读写文件、能跑命令的最小 agent,并让它完成一个真实小任务
    • 说出循环的三个退出条件,以及每一个漏掉会出什么事
    • 给自己的 loop 加上轮次上限与 token 上限两道保险
  2. 2

    Pi 的 loop:事件流、中断与 steering

    推演35 分钟

    真实 harness 的循环比教学版复杂的地方,几乎都在「人要能插话」这件事上。

    • 按步走完 Pi 的一轮循环,指出每一步的产物与失败表现
    • 解释 steering(Enter)与排队(Alt+Enter)在循环里的落点差异
    • 判断某个现象该去循环的哪一段找原因
  3. 3

    工具设计:粒度、错误与幂等

    原理35 分钟

    agent 的能力上限由工具决定。工具设计糟糕时,换更强的模型也救不回来。

    • 按「一个工具一件事」的原则拆分或合并现有工具
    • 写出对模型友好的错误返回:说清哪里错了、下一步能做什么
    • 区分只读与写入工具,并为写入工具设计幂等与回滚
  4. 4

    系统提示词、AGENTS.md 与 SYSTEM.md

    原理30 分钟

    同一个模型、同一套工具,换一份系统提示词就是另一个 agent。Pi 把这层完全交给你改。

    • 读懂 Pi 的默认系统提示词分了哪几块、各自解决什么问题
    • 为自己的项目写出一份有效的 AGENTS.md,并说明它和 SYSTEM.md 的分工
    • 判断某条规则应该写进提示词、写进工具描述、还是做成 skill
  5. 5

    上下文预算与 compaction

    推演40 分钟

    上下文是最贵、最先撞墙的资源。这一节把账算清楚:谁在吃、第几轮撞墙、压缩要压什么。

    • 算出一个 agent 会话的上下文构成,并指出最先撑爆窗口的那一项
    • 预测在给定窗口下大约第几轮触发 compaction
    • 设计一个不破坏 prompt 缓存的压缩策略
  6. 6

    会话状态:为什么 Pi 把历史存成一棵树

    原理30 分钟

    线性日志只能后悔,树可以回到任意一步重新走。这个选择直接改变了使用方式。

    • 解释树状会话与线性日志的差别,以及 fork 解决了什么实际问题
    • 用 `/tree` 回到指定节点重开一条分支
    • 设计自己应用里的会话持久化格式
  7. 7

    流式输出与 TUI:agent 的体感

    原理25 分钟

    同样的模型,等三十秒黑屏和边跑边出字,用起来是两个东西。

    • 把模型的流式事件映射成界面上的增量更新
    • 设计工具执行过程中的进度呈现与可中断入口
    • 说出终端 UI 的三个常见坑:重绘、宽字符、滚动