
Agent 循环的控制流:如何在不确定的环境中做决策
Turn Loop 不只是 while 循环——它是 agent 从"能调 LLM"到"能自主执行"的关键一跃。这篇文章分析确定性控制结构如何管理非确定性的 LLM 行为:你不知道几步完成、会不会走错、记忆会不会溢出。

Turn Loop 不只是 while 循环——它是 agent 从"能调 LLM"到"能自主执行"的关键一跃。这篇文章分析确定性控制结构如何管理非确定性的 LLM 行为:你不知道几步完成、会不会走错、记忆会不会溢出。

写 LLM 客户端真正的难点不是 HTTP 协议——是确定性代码如何与概率系统对接。200 行 Rust 代码背后,是8篇系列共享的元问题。

TUI 不是美化界面——是让用户理解 agent 决策过程的"行车记录仪"。立即模式 vs 保留模式、select! vs channel、Block vs Line——每个决策都在回答:"为什么这个信息需要被用户看到 …

为什么二进制安全模型对 agent 无效?三模式(YOLO/Auto/Ask)不只是在"全自动"和"全手动"之间加了一档——它是承认用户在不同场景下的信任级别不同。文件沙箱为什么用允许列表?命令过滤为什么用模式匹配?审计 …

工具不是你调用的——是 LLM 调用的。你设计的不是 Rust API,是 LLM 的"用户界面"。这篇文章把 trait 设计、参数类型、错误消息、注册表选型全部归约到一个根本问题——LLM 拿到工具描述后,能不能做出 …

Skills 为什么用 Markdown?Subagent 为什么用独立上下文?MCP 为什么选 stdio transport?Memory 为什么用 SQLite?每个扩展的设计都在回答:这个能力值不值得它带来的复杂 …

为什么 TUI 必须和 Agent 是两个进程?Unix socket vs TCP vs stdio 不只是通信方式的选择——是"谁拥有 agent 的状态"的根本问题。JSON-RPC 2.0 的四条规则如何成为 …

search_replace 为什么坚持 old_string 必须唯一?grep 的输出为什么用 Unix 格式?git diff 为什么不是自动触发?每个决策背后都是同一个根本问题:在确定性代码与概率性 LLM 之间 …