从软件开发者到 AI 架构师:这一年改变了什么
一段从 Claude Code skills,到 TypeScript 状态机、MCP 工具,再到 SDK 式 AI 工作流的个人路径。技能有帮助,工具有帮助,但提示词不是约束,LLM 也不该拥有控制平面。
AI 驱动 · 每小时限 20 次请求

我的 AI 学习路径不是从宏大战略开始的。它从 Claude Code 和技能开始。
一开始,技能像是缺失的拼图。我可以把一种工作方式写下来一次,然后让 AI 复用它。一个技能可以教模型审查怎么做、计划怎么写、工作流怎么跑。它不像是在写提示词,更像是在创建可复用行为。
那就是我开始对创建技能感兴趣的时刻。不是因为格式复杂,恰恰相反。它强大是因为简单。一个技能基本上是在打包一句话:当这类任务出现时,按这种方式行动。
有一段时间,这看起来已经足够。
技能循环问题

我用技能越多,越注意到它的弱点。
技能仍然是提示词。
它是一个提示词,用来约束另一个提示词,而那个提示词又试图约束模型输出。换句话说,是提示词工程叠在提示词工程上。它可以提高概率,让模型更可能遵循流程,给模型更好的上下文。
但它不能强制结果发生。
这个差异很重要。“模型通常会遵循这个技能”很有用。但它不等于“系统保证这个流程发生过”。如果模型漏掉触发条件、误读技能、忘记边界,或者因为上下文已经太污染而漂移,技能没什么补救能力。它只能下次更用力地请求。
我开始把这叫作提示词循环问题。你在用文字规范一个同样通过文字运行的系统。LLM 用久了就知道这意味着什么:它有效,直到它无效。
试着把技能变成状态机器

我的下一个想法是:如果提示词不够,能不能把它们和代码结合?
我开始用技能加 TypeScript 脚本试验类似状态机器的工作流。想法很简单:
技能识别任务
-> 脚本执行一个具体动作
-> 脚本返回结构化状态
-> 技能决定下一步
-> 下一个脚本运行这很接近我早些时候在 智能体即功能 文章里想象的东西。让 AI 对任务做推理,但给它可以触发的具体动作。技能包含流程,脚本处理机械工作。一个动作的响应决定下一步。
公平说,它从一开始就能工作。
这正是让人挫败的地方。很多想法确实能工作。它们足够让人兴奋,足够做演示、真实工作流,甚至有用的工具。
但“能工作”和“有保证”不是同一件事。
弱点仍然一样:模型必须正确读取技能、选择正确脚本、传递正确状态,并且在不漂移的情况下继续流程。上下文腐烂仍然重要。如果对话变嘈杂,或者模型对工作流形成了错误心智地图,状态机器就不再像机器,更像建议。
我加入了代码,但控制平面仍然存在于模型解释里。
用 MCP 工具替代脚本

之后,我开始把 TypeScript 脚本替换成 MCP 工具。
这感觉更自然。一个工具有名称、描述、输入模式和清晰输出形状。它更接近现代 AI 系统与外部能力交互的方式。不是让模型记住某个脚本藏在哪里,而是让工具成为模型可用接口的一部分。
这是进步。
工具边界更清楚。模型更直接看到能力。输入可以结构化,输出可以验证。相比隐藏在技能背后的临时脚本,MCP 更像原生 AI 流水线构件。
但它没有完全解决问题。
模型仍然要选择正确工具,仍然要在正确时间调用它,仍然要正确解释结果并决定下一步。工具调用给你更好的接口,但不会魔法般把模型推理变成确定性执行。
可靠性提高了,但还不足以改变我的结论。
我最后落到哪里

尝试了足够多”智能体即功能”的实践之后,我必须承认一件最初不想承认的事。
在今天,把大部分信任放进 LLM,对很多系统来说太激进了。
未来也许会变。我期待模型更好,工具调用更强,智能体框架更成熟。但站在当前模型行为上,我不想让 LLM 成为重要工作流的控制平面。
我现在更偏好用 SDK 构建自定义方案。
这不是说“不要用 AI”。它的意思是流程应该属于代码。应用决定每一轮发生什么。SDK 调用是流程里一个有边界的步骤。你可以验证输入,约束输出,跑评估,记录结果,安全重试,然后由代码决定下一步,而不是指望模型自己把工作流跑对。
我现在信任的形状更像这样:
代码拥有状态
代码选择下一步
代码验证模型输出
代码决定继续、重试还是停止
LLM 处理有边界盒子里的模糊部分这是我用这些实验换来的教训。
技能有用,MCP 工具有用,智能体有用。但提示词不是执行,工具描述也不是治理。如果你需要流程以特定方式发生,就把流程放进代码。
我会对更早的自己说什么
我仍然喜欢技能。我仍然认为它们是帮助人们更好使用 AI 的最简单方式之一。对个人和商业用户来说,技能可以编码可重复实践,减少他们必须记在脑子里的提示词知识。
但我不会把技能误认为系统。
技能是指导。工具是接口。智能体是推理单元。工作流需要控制平面。
这个控制平面可以是工作流引擎、应用后端,也可以是自定义 SDK 编排。关键是确定性部分要保持确定性,而模型要被用在它的不确定性是资产、不是负债的地方。
我一开始是被提示词能塑造 AI 行为的程度打动。现在仍然被打动。
但我也更谨慎了。
未来不是“用智能体替换一切”。未来是学会智能体该放在哪里,代码该放在哪里,以及怎样让两者一起工作,而不是假装它们是同一种东西。
许可
Article text © 2026 Mark Huang. Licensed under Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) unless otherwise noted. 文章文本可在非商业场景下分享或翻译,但需标注原文 URL。商业使用需事先取得书面许可,并清楚引用原始来源。
代码片段、截图、第三方素材和网站源码可能适用单独条款。
建议署名: Based on "从软件开发者到 AI 架构师:这一年改变了什么" by Mark Huang, originally published at https://markhuang.ai/zh/blog/from-software-developer-to-ai-architect.
相关文章

我可能看错了 Agentool
一篇个人自动化复盘:我曾经构建 agentool,希望让 AI CI 工作流更轻;后来意识到真正的成本可能是功能维护、编排复杂度,以及追逐 Claude Agent SDK 和 Codex SDK 已经承担的 SDK 行为。
阅读文章
别再从零开始教每一个 AI
一篇关于 Dense-Mem 的个人反思:哪些问题把我从静态 skills 和过期文件推向动态共享记忆、只读自动化上下文、导入导出,以及受治理的知识图谱。
阅读文章
我有点替 AI 委屈
为什么 AI 狂热和反 AI 敌意都错过了同一个重点:LLM 更像成绩很好的应届新人,而不是资深专家。有用的智能体需要入职培训、技能和维护过的记忆,而不是第一次尝试就完美的期待。
阅读文章订阅更新
Go、AI/LLM 和分布式系统的技术文章,绝不滥发。
评论
正在加载评论...