30 秒看懂
Matt Pocock 向 The Pragmatic Engineer 讲述自己如何从声音教学转向软件教育,以及如今如何制作可复用的 AI 智能体技能。讨论将规划、共同语言、测试和代码库维护与长期存在的软件工程实践联系起来。
- 1构建前提问grill-me 技能通过采访揭示假设和待作决定。
- 2管理上下文拆分工作,并将决定保存在新智能体可读取的产物中。
- 3使用成熟概念曳光弹与垂直切片为人和智能体提供共同的方法。
- 4测试有意义的行为测试应揭示实际问题,而不是复制实现细节。
要点建议
- 结构化提问能揭示智能体原本可能自行作出的决定。
- 拆分工作,并将重要上下文保存在持久的产物中。
- 成熟工程概念能为人和智能体提供共同语言。
- 测试应检查有意义的行为,并接受质量审查。
- 实现速度加快后,人类教学、好奇心和判断仍然重要。
按章节阅读整理后的全文
从声音教学到软件
Matt Pocock 与 The Pragmatic Engineer 讨论自己从声音教练转向软件教育的经历,以及如何在使用 AI 智能体时不忽视软件基础。
Matt Pocock 与 The Pragmatic Engineer 讨论自己从声音教练转向软件教育的经历,以及如何在使用 AI 智能体时不忽视软件基础。
Pocock 起初教授唱歌和声音技巧,深入学习该领域,并为表演者和公众演讲者提供指导。后来他希望寻找一份能让自己更灵活地生活在伦敦以外的职业。
他曾为教学制作软件,因此对编程产生兴趣。与学生交流的经历帮助他在进入科技行业时解释自己的工作并应对面试。
早期开发工作让他接触 JavaScript、React、TypeScript,以及团队开发中的实际困难。他开始参与线上技术社区和开源项目。
Vercel 与 Total TypeScript
在 Vercel,Pocock 获得了一份不寻常的兼职合同:最初每周工作三天。这让他有空间在工作之外探索 TypeScript 教育内容。
在 Vercel,Pocock 获得了一份不寻常的兼职合同:最初每周工作三天。这让他有空间在工作之外探索 TypeScript 教育内容。
他的 TypeScript 课程预售迅速增长,最终让他难以同时兼顾两边。他离开 Vercel,和合作伙伴一起专注建设 Total TypeScript。
Pocock 介绍了工作坊、免费讲解和付费课程背后的工作。主持人提到,他曾公开分享 Total TypeScript 累计收入达到 250 万美元的里程碑。
他认为付费教育可以支持持续教学。课程的价值不只是汇总语法知识,还包括帮助学习者理解技术为何重要、何时使用。
教学与 AI 智能体
AI 改变了人们获取解释和练习的方式。Pocock 认为,教学仍包括选择学习路径、建立动力,以及帮助学习者将概念联系到自己的工作。
AI 改变了人们获取解释和练习的方式。Pocock 认为,教学仍包括选择学习路径、建立动力,以及帮助学习者将概念联系到自己的工作。
随着编程智能体进步,Pocock 开始试验小型循环和流水线。他发现,为任务定制工作流可能带来与直接使用默认交互不同的结果。
可复用技能与 grill-me
他将技能描述为可复用的指令文件夹,智能体可以在相关场景中调用。技能将工作流封装起来,便于重复使用、检查和调整,无需每次重新解释。
他将技能描述为可复用的指令文件夹,智能体可以在相关场景中调用。技能将工作流封装起来,便于重复使用、检查和调整,无需每次重新解释。
Pocock 的演讲《软件基础仍然重要》促使他把成熟工程理念写进智能体工作流。他也预计用户会根据自己的需求修改这些技能。
广受欢迎的“grill-me”技能让智能体就拟议变更采访用户。它提出的问题可以在实现前暴露认证、数据、约束等方面尚未作出的决定。
主持人分享,一个简单接口也引出了数十个问题,过程很密集。Pocock 认为,如果这种摩擦能揭示智能体原本会默默代做的决定,就有价值。
Pocock 将其视为沟通鸿沟:智能体无法从简短指令中推断开发者的所有价值判断和偏好。结构化对话能帮助双方形成更清晰的共同目标。
上下文与方向探索
他描述了一个“聪明区”:智能体拥有足够相关上下文时能有效工作,而长期会话积累材料后表现可能下降。这些是他的实践经验,并非适用于所有模型的固定极限。
他描述了一个“聪明区”:智能体拥有足够相关上下文时能有效工作,而长期会话积累材料后表现可能下降。这些是他的实践经验,并非适用于所有模型的固定极限。
一种应对方法是把工作拆成较小的会话,并将决定保存在规格文档或代码库中。新的智能体可以读取这些产物,而不必依赖整段对话历史。
Pocock 描述“白班与夜班”模式:人在活跃时间规划并对齐目标,再让智能体在无人值守时执行合适任务。采用这一模式需要挑选可检查、适合委派的工作。
他更有野心的 wayfinder 技能帮助梳理一组相互关联的决定。他将其比作通过多次对话逐渐揭开地图,而不是假设一开始就知道所有细节。
两人讨论软件为何适合智能体:代码、文档、测试和诊断信息多是文本形式,运行程序还能提供反馈。但这些反馈不能替代对任务本身是否正确的判断。
旧软件理念与新工作流
Pocock 没有因为模型进步就抛弃早期编程文献。他发现,通过智能体快速反复修改,仍可能逐渐损害代码结构和测试质量。
Pocock 没有因为模型进步就抛弃早期编程文献。他发现,通过智能体快速反复修改,仍可能逐渐损害代码结构和测试质量。
他重新阅读了软件熵和技术债等概念:许多小妥协积累后,系统可能变得越来越难修改。快速生成代码并不会消除设计不佳的代价。
一个有用的术语是“曳光弹”:先实现贯穿系统的一条细小但可运行的路径,了解关键部分能否配合。它能比孤立完成各层更早暴露集成问题。
相关的“垂直切片”思路是交付一小块端到端能力。Pocock 发现,在提示中说出这些模式的名称,可以让人和智能体共享对预期方法的理解。
他将这些术语称为“引导词”:用简短提示指向成熟实践。但有用的术语仍需要足够上下文和审查;只说出模式名称并不能保证实现正确。
领域驱动设计提供了另一种共同语言。Pocock 介绍如何为产品概念明确命名,让人和智能体讨论相同的实体及状态变化。
建立这套语言能暴露模糊情况,例如占位课程变成真实课程时发生了什么。智能体可以提出术语,但负责产品的人必须决定这些术语的含义。
学习基础
主持人问,当架构错误可能数月后才显现时,开发者如何学习基础。Pocock 将战略性编程比作调节混音台,却无法立刻听到长期效果。
主持人问,当架构错误可能数月后才显现时,开发者如何学习基础。Pocock 将战略性编程比作调节混音台,却无法立刻听到长期效果。
更快的实现可以带来更多学习机会,但更快的产出也可能扩散错误。理解代码、系统边界和约束,有助于开发者判断哪些应保留、哪些应修改。
讨论转向如何向非工程背景的利益相关者解释对软件质量的投入。变更速度、可靠性和反复出现的缺陷等可观察结果,可以让取舍更加具体。
Pocock 建议观察智能体会话,了解它在哪些地方遇到困难。对指令、测试或代码结构的小改进可能在重复任务中累积收益,但仍需要验证。
远程工作与规划
关于本地与云端智能体,他介绍自己将更多工作转向远程环境,以便独立运行会话和计划任务。他也承认,复杂本地环境和快速视觉反馈会让其他团队作出不同选择。
关于本地与云端智能体,他介绍自己将更多工作转向远程环境,以便独立运行会话和计划任务。他也承认,复杂本地环境和快速视觉反馈会让其他团队作出不同选择。
Pocock 不会对每个任务都使用 grill-me。小而容易审查的改动可能更适合先实现再检查;含糊或影响较大的项目则更能从前期提问中获益。
主持人比较前期规划与快速原型。实现成本下降后,团队有时可以构建多个方案、检查后再修订计划,同时仍需保留足够方向,避免盲目工作。
测试与审查
两人讨论测试驱动开发。Pocock 看重能从外部验证行为、并在有实际问题时失败的测试,而不是只重复实现细节的测试。
两人讨论测试驱动开发。Pocock 看重能从外部验证行为、并在有实际问题时失败的测试,而不是只重复实现细节的测试。
好的测试套件能让代码库更容易修改,但 AI 生成的代码和审查都可能出错。人仍需判断测试与审查是否覆盖实际风险。
谈到在伦敦以外工作,Pocock 说他重视离家人近,也希望建立适合自身情况的业务。他承认,不同人的职业路径和机会并不相同。
教学与初级工程师
谈到教学,他认为人类教师提供的不只是答案:还会选择学习顺序、传递热情,帮助学生理解内容为何重要。AI 可以成为这一关系的有用补充。
谈到教学,他认为人类教师提供的不只是答案:还会选择学习顺序、传递热情,帮助学生理解内容为何重要。AI 可以成为这一关系的有用补充。
对初级工程师,Pocock 强调好奇心与适应力。智能体可以解释问题、指出潜在缺陷,但学习者仍能从亲自构建和研究建议为何有效中获益。
打理代码库
主持人用园艺作比喻,描述如何维护让智能体成功工作的环境:观察持续进入的变更,留意积累的问题,并改善工作条件。
主持人用园艺作比喻,描述如何维护让智能体成功工作的环境:观察持续进入的变更,留意积累的问题,并改善工作条件。
Pocock 说,创建工作流和可复用技能本身也可以是有价值的工程工作。目标是长期改善代码库,以及团队作出可靠变更的能力。
延伸阅读方面,他推荐领域驱动设计资料,尤其是其中关于共同语言和建模的部分。主持人最后再次强调,在智能体时代,成熟工程理念仍有价值。
同频道的其他文章
1:41:17EN → 简体中文
1:56:28EN → 简体中文
1:34:17EN → 简体中文
1:59:04EN → 简体中文
29:39EN → 简体中文
1:42:31EN → 简体中文