ClaudeCoding AgentpiAI编程极简主义TerminalBench

写了17年开源代码,我为什么认为Coding Agents堆功能是在瞎折腾?

Mario Zechner··原文链接

写了17年开源代码,我为什么认为Coding Agents堆功能是在瞎折腾?

演讲者: Mario Zechner(libGDX创始人、17年开源老兵) 编译: 宇琪 | 策划: Tina 来源: InfoQ | 发布时间: 2026-04-27


核心观点

"当你发现AI在背地里偷偷修改你的上下文,而你却对此一无所知时,这种掌控感的丧失是极其危险的。"

  1. Claude Code已成为功能臃肿的"宇宙飞船" - 用户只用过5%,了解10%,剩下90%是"暗物质"
  2. 极简agent同样强大 - pi仅用4个工具(read/write/edit/bash),在TerminalBench排行第二
  3. Coding Agent需要可扩展性 - 必须是可自修改、可塑性极强的,而不是功能堆砌
  4. LSP应在agent完成工作后检查 - 而非在修改过程中反复打断

Coding Agents演进史

阶段工具特点
2025年前ChatGPT搬运代码片段,只能写简单函数
2025年GitHub CopilotVS Code集成,tap-tab补全,偶尔"贴心"地默写GPL代码
2025年Aider/AutoGPT早期agent框架,铺路但未成熟
2025年11月Claude Code beta开创agentic search范式,实时探索codebase,效果惊人
现在Claude Code功能过度膨胀,掉进"堆功能"陷阱

Claude Code开创的agentic search范式:

  • 不强依赖codebase索引和复杂构建
  • 通过强化训练模型使用文件工具和bash工具
  • 实时探索codebase寻找信息并直接修改

Claude Code的问题

1. 功能过度膨胀

"Claude Code现在就是一架宇宙飞船,功能多到可能只用过5%,了解10%,剩下90%全是AI和agents领域的'暗物质',没人知道它背地里到底在干嘛。"

  • 闪烁问题(后来修好了,但源于React滥用)
  • 偷偷对context做手脚,每天都在变
  • 缺乏可观测性和上下文管理能力

2. 缺乏掌控感

  • 模型选择权受限(仅限Anthropic模型)
  • 扩展性差,hook系统开销昂贵
  • 不是稳定工具,每天都在实验新功能

其他框架对比

框架优点缺点
Claude Code开创品类,效果惊艳功能臃肿,缺乏掌控
Codex CLI模型表现惊艳刚开始界面不友好
AMP砍功能而非堆功能,设计逻辑清晰商业产品,缺乏掌控权
Factory扎实稳健不够激进和实验性
OpenCode开源,团队务实上下文管理糟糕,存在RCE漏洞
Terminus极简(仅tmux+按键),TerminalBench表现顶级用户体验非最优

TerminalBench发现: Terminus仅用tmux session(发送按键+读取VT序列码)就在排行榜上表现顶级,证明不需要花里胡哨的功能。


pi:极简主义的"反叛之作"

核心理念

"让你的Coding Agent去适应你的需求,而不是反过来。"

系统架构(仅4个package)

┌─────────────────────────────────────────┐
│              pi 系统架构                 │
├─────────────────────────────────────────┤
│  AI package      → 多provider轻量抽象层   │
│  Agent core      → 通用agent loop        │
│  TUI (600行)     → 终端交互界面          │
│  Coding Agent    → SDK / 终端交互双模式   │
└─────────────────────────────────────────┘

仅4个工具

工具用途
read读取文件
write写入文件
edit编辑文件
bash执行命令

没有的功能: MCP、sub-agents、plan mode、background bash、内置to-do系统。


为什么极简反而更好?

1. 系统Prompt极短

frontier models已通过大量RL训练"知道"什么是Coding Agent,不需要反复告诉它"你是一个Coding Agent"。

2. 默认YOLO模式

"大多数Coding Agent分两种模式:要么agent想干嘛就干嘛,要么每一步都要问你。这种机制只会带来疲劳,用户要么直接关掉开启YOLO模式,要么就无脑按回车。"

3. 用简单方式实现复杂功能

功能pi的实现方式
没有MCPCLI tools + skills,或写extension一天搞定
没有sub-agents用tmux spawn agent,输入输出清晰可见
没有plan mode写plan.md文件,持久化且可跨session复用
没有background bashtmux已经解决
没有内置to-dos写todo.md就行

4. 极致可扩展性

  • 扩展工具:写TypeScript文件自动加载
  • 自定义UI:完整TUI访问能力
  • skills/prompt templates/themes:打包发布到npm/git
  • hot reload:修改后即时生效
  • 重写内置工具:可改变read/edit/bash行为(如通过SSH在远程执行)

社区创新案例

Extension功能开发时间
pi-claude-code-ships复刻Claude Code ships功能,且功能更多5分钟
pi-messenger多个pi agent聊天室,可互相通信-
pi-nesagent运行时顺便打游戏-
pi-annotate打开网站在前端界面标注,反馈给agent修改-
pi-files-widget快速查看刚刚被修改的文件-

session树结构 vs 线性聊天记录

传统:线性记录,不可控的sub-agent
A → B → C → D

pi:树结构分支
       A
      / \
     B   C
    /     \
   D       E
    \
     F(带总结回到主分支)
  • 分支内让agent读取目录、总结内容
  • 回到主对话,把总结带回来继续工作
  • 更可控的sub-agent
  • 透明可追踪:agent、skills、调用成本全部可见

TerminalBench实测结果

排名Framework模型说明
1Terminus 2-极简(仅tmux+按键)
2piClaude Opus 4.5尚未实现compaction时已达此成绩
...其他框架-功能复杂但排名靠后

防御性开源策略

由于OpenClaw用户可能用clanker批量提交issue/PR,pi采取了:

  1. OSS Vacation:关闭issue和PR几周,专心开发,重要问题总会有人重新提出
  2. 访问控制:PR提交者需在markdown名单中,否则自动关闭
  3. human验证:先用"人类的声音"写issue自我介绍(不超过一屏),通过后加入名单

Ghostty的Mitchell基于此思路做了vouch项目,方便应用到其他开源仓库。


结论

  1. 行业现状:处于"一边瞎折腾一边看结果"阶段,没人知道完美的编程agent长什么样
  2. 极简有效:Terminus和pi证明不需要复杂功能堆叠也能获得顶级结果
  3. 可扩展性是关键:agent必须是可自修改的,让开发者能快速实验新想法
  4. 掌控感重要:开发者需要知道agent在做什么,而不是被"暗物质"包围

演讲原链接: https://www.youtube.com/watch?v=Dli5slNaJu0

项目地址: https://github.com/pi


本文为InfoQ翻译整理,不代表平台观点