还是关于agent 和code
写了几个月的prompts
最近又从别人那儿拿到一些新的需求
感觉本质上写prompts或者agents仍然是写程序
只不过接口变成了自然语言
LLM也能更加robust的来解析模糊不清的提示和自我纠正错误以及举一反三
但是任何事情变得更复杂之后都必须要程序化
要么封装成mcp
要么调用tools
要么给给具体的代码样本
当问题变得复杂,LLM并不能完整无误的推演出整个逻辑链条和涵盖所有细节
很多的细节属于输入信息或者外部信息,而不是LLM本身的世界知识
这种情况下,就必须走写程序的那一套
把问题分而治之,封装,组合,隐藏,优化,解耦,复用等等
无论是mcp,还是sub agents,还是最近的skills ,都是把这些软件设计原则再次搬到agents体系而已
prompts用的是自然语言,然而相比自然语言,程序语言提供了更好的机制,经过这么些年的演化,比如函数调用,比如变量,比如封装等等
因而agents很多时候其实必须先把需求写成程序然后执行
我们也需要继续遵循程序设计的原则来开发agents