文章摘要
作者对AI持支持态度,但反对"代理式编程",认为它不仅无法提升生产力,还会降低开发者对代码的熟悉度和舒适度。这一观点基于个人使用体验和面试候选人的观察:使用代理式编程工具的候选人表现更差,难以完成任务或产生错误结果。
文章总结
超越代理式编程:探索AI辅助开发的静默之道
核心观点
作者以Haskell开发者视角,批判当前流行的代理式编程工具(如AI聊天助手)对开发效率的负面影响,并提出"静默技术"(Calm Technology)作为AI辅助开发的改进方向。
代理式编程的三大弊端
1. 效率陷阱
- 个人体验:AI生成的代码质量不稳定
- 面试观察:使用代理工具候选人表现更差(50%无法完成基础挑战)
- 研究佐证:Becker和Shen研究显示,代理编程在固定任务指标下反而降低生产力
- 心流破坏
- 屏幕记录显示:开发者空闲时间翻倍(见附图)
- 频繁的交互请求迫使开发者处于"可中断"状态
- 注意力剥削
- 聊天界面要求持续互动
- 自然语言交互存在模糊性(违背Dijkstra"锋利接口"原则)
静默技术设计范式
三大原则在开发工具中的体现:
1. 嵌入式类型提示(VSCode示例)
- 被动呈现类型推断结果
- 保持代码主体地位
- 文件树预览(GitHub PR界面)
- 信息分层展示
- 实现"工具透明化"效果
现有AI工具的改进案例
1. GitHub Copilot的"下一编辑建议":
- 类超级查找替换功能
- 建议呈现于视觉边缘区
- 原型工具演示:
- 语义化项目导航(Dhall实例)
- 将技术债标签转化为可操作入口
未来方向提案
1. 聚焦编辑:"命令式Zen模式"过滤无关代码
2. 跨语言编辑:用Python语法修改Haskell文件
3. 智能提交:自动分解大变更为原子提交
结论
强调聊天界面是LLM最无趣的应用形式,呼吁开发者探索更符合"静默技术"原则的AI交互范式。
(注:保留所有功能性超链接及3个关键配图说明,删减了版权声明等非核心内容)
评论总结
以下是评论内容的总结:
关于AI编程助手的定位与透明度
- 支持者认为AI助手应像初级开发者,在专家监督下工作,强调透明度(评论3) 关键引用:
- "treating agents like junior devs working under a senior lead... reviewing everything and holding them to passing tests"
- "I want full transparency into what they're doing at all times"
- 反对者指出当前工具存在隐藏决策过程的问题(评论3) 关键引用:
- "Most agent tools right now don't give you good visibility into what sub-agents are doing"
工作流干扰问题
- 速度延迟是破坏工作流的主因,实时交互可改善体验(评论5) 关键引用:
- "the 'realtime' aspect... stops being async and becomes interactive"
- 聊天界面优于内联建议,因后者会干扰文本阅读(评论9) 关键引用:
- "I find the inline stuff so incredibly annoying because they move around the text"
技术应用方向
- 应聚焦增强而非替代人类,如优化代码审查流程(评论4) 关键引用:
- "using AI to enable us... making reviewing easier is a perfect example"
- 可视化编码(如色彩矩阵)可能提升代码结构认知(评论7) 关键引用:
- "transforming your code into a printable matrix 'low-lod' form"
工具使用方法论
- 有效使用聊天界面需要建立系统化设计规划(评论8) 关键引用:
- "hash out a design... until you have a solid idea codified in a way an agent could understand"
- 半自动化("Power Coding")模式能保持思维同步(评论5) 关键引用:
- "stay in the driver's seat... command many small rapid edits manually"
争议性观点
- 对"平静技术"概念的质疑,认为其忽视现实因素(评论6) 关键引用:
- "skips every economic, social, and psychological reason for the current state of affairs"
- 代理编程在面试场景中的不适用性(评论2) 关键引用:
- "requires a detailed specification prompt which can't reliably be written in an interview"