微信扫码
添加专属顾问
我要投稿
从编译原理的视角,揭示AI工程实践中Prompt到Context演进的理论根基,带你理解形式化定义在AI编程中的关键作用。 核心内容: 1. 语言形式化在AI工程中的必要性及其对可靠性的提升 2. 乔姆斯基谱系如何为AI编程提供规范化标尺 3. Think Tool等实践模式与编译原理概念的内在联系
ps:最近听了很多大佬的讲座和分享,尤其讲到Why AI Programming First时,许多地方大佬们描述得很到位,但总感觉缺少理论支撑和严谨表述。后来一天夜里,我突然想到这块不就是编译原理中已经讲过的很多形式化定义,我在17年沉迷编译原理并且开源了好几款自己玩的编译器和解释器,而语言的形式化定义早有定义,而这块刚好也是计算机和语言学的交叉部分,在当下这个时代有清晰的认知尤为重要。 ---- 另外因为涉及编译原理,和一些哲思,可能有一些难懂,已经尽量简化。
也许在未来,一个业务领域的AI探索,更多的是通过编译器的玩法将业务的语言编译出来,这样一来,对业务语言的形式化定义(如何去规范化、清晰化业务的语言)就非常的重要,基于这样的业务语言哲学,再构建业务系统。
一、编译原理的语言形式化
1.1 精确性定义的必要性
1.2 乔姆斯基谱系:
表达能力与约束的规范化标尺
了解谱系结构,可以了解到语言表达能力与计算可追踪性之间的矛盾,当规则的约束增强时(从0型走向3型),语言的表达范围收窄,但其分析、解析和验证的难度显著降低。反之,当约束放宽时,语言变得无所不能,但其行为也变得不可预测。基于乔姆斯基谱系,语言的形式化程度可被定义为,一种语言的产生式规则受约束的程度,该程度决定了其在可预测性、可验证性和计算可追踪性谱系中的位置。更高的形式化程度(如3型文法)意味着更严格的规则、更弱的表达能力,但具备高度的可预测性和高效的处理能力。更低的形式化程度(如0型文法)则意味着极大的表达能力,但以牺牲可预测性和可验证性为代价。
这个权衡,到今年2025年,我发现其实就是AI工程师所面临的困境,从Prompt Engineering到Context Engineering的一个转变。本质上是一个为了获得结构化系统的可追踪性和可靠性,而有意识地牺牲原始LLM部分无限制表达能力的决策,所以编译器设计的历史教训正在AI领域重演,很有意思,我们后面会讲一讲为什么。
二、Prompt和Context Engineering在形式化上的分析
2.1 Prompt Engineering:
非形式化规约的艺术(低形式化)
2.2 Context Engineering:
结构化系统交互的兴起(中等形式化)
2.3 两者比较分析
维度 | Prompt Engineering | Context Engineering |
核心方法论 | 通过精心设计的文本指令来引导模型。 | 构建动态系统,为模型提供信息、工具和记忆。 |
形式化程度 | 0/1型文法,依赖LLM隐式的、不透明的语法。 | 2/3型文法,使用结构化数据、API模式和形式化的工具定义。 |
主要目标 | 在单次交互中,通过说服模型来优化输出。 | 在复杂任务中,通过系统性给模型来确保可靠性和一致性。 |
关键技术 | 少样本示例、思维链、角色扮演、格式约束。 | RAG、工具使用、记忆管理、动态上下文组装。 |
可扩展性与可靠性 | 低+脆弱,对微小变化敏感,难以维护和扩展。 | 高+稳健,通过结构化输入降低不确定性,支持复杂、多轮次的应用。 |
所需技能 | 语言创造力、对特定模型行为的直觉理解。 | 系统设计、信息架构、数据策略、API集成。 |
控制点 | 用户与模型之间的单一文本接口。 | 模型调用之前的整个信息准备流水线。 |
类比 | 与一位才华横溢但喜怒无常的专家对话。 | 为一位专家配备一个藏书丰富的图书馆和一个全能的工具箱。 |
三、Anthropic的think tool分析
3.1 显式推理的架构
它创建了一个专用于结构化思考的空间,也有很多人认为它并非传统意义上的工具(因为它不调用外部API),而更像是Claude API的一个特性或模式,这一细微差别非常重要,它形式化的是一个内部认知过程,这比仅仅形式化对外部数据的访问要深刻得多。
3.2 可验证性与策略遵循
think tool的结构化输出,功能类似于编译器中的中间表示(Intermediate Representation, IR)或程序的执行迹线,它使模型的推理过程变得可审计,从而可以根据复杂的规则和策略进行验证。
该工具在策略密集型环境(policy-heavy environments)中最为有效,在这些环境中,可以提示模型去列出适用于当前请求的具体规则、检查是否已收集所有必需信息”以及“验证计划中的行动是否符合所有策略,这直接呼应了编译器设计中“语义保持”的目标,即必须证明目标代码的行为(迹线)与源代码的语义相符,think tool产生的日志,正是模型进行语义推理的迹线。
性能提升在复杂领域(如航空公司订票系统)尤为显著(相对提升达54%),具体可以看我之前那篇文章,这里不赘述太多,这正是因为这些领域拥有复杂且相互依赖的规则,而显式的验证过程能带来巨大好处,这种机制增强了系统的透明度、可调试性和可审计性,这些都是高风险应用的关键要求。
3.3 对CoT的范式超越
think tool也代表了对非形式化的CoT的演进,CoT虽然能够引出推理过程,但它将推理与最终答案混杂在非结构化的文本中。think tool则将推理模块化、形式化,使其成为一个独立的、可被检视的步骤,所以CoT是一种提示技巧,一种语言引导方式,think tool则是一个形式化的API特性。
这个tool用于在响应生成期间暂停,以处理来自工具调用的新信息,而CoT通常是初始提示的一部分,用以构建整个输出的结构,这让think tool更适用于动态的、多步骤的任务,这种形式化实现了关注点分离,思考步骤用于内部思考,最终答案用于外部沟通,这种模块化是所有结构良好系统的标志。
这种机制为模型提供了一种元认知脚手架(metacognitive scaffolding),元认知指的就是,对思考的思考,涉及规划、监控和评估自身的思维过程。think tool的description明确要求模型执行这些元认知动作,将复杂问题分解、评估多种方法、验证推理是否存在逻辑错误,这些方法不仅仅是要求模型去推理,而是提供一个外部的、形式化的结构(工具调用及其日志),迫使模型遵循一个特定的元认知工作流。
还有一点,这种形式化的、可检视的推理迹线是实现稳健的自我纠错的前提,Agent面临的一个关键挑战是如何从错误中恢复。在一个长CoT中,一个错误就可能导致整个任务失败,think tool允许模型在调用工具后仔细分析工具输出。通过将推理和工具调用结果外部化到一个结构化日志中,模型(或控制它的系统)可以检查当前状态和导致该状态的推理过程。如果工具调用返回错误或非预期数据,模型可以再用一个think步骤来分析失败原因并规划新的行动路线。
四、我们站在一个需要了解更多哲思的位置
上面说的很多,其实重演了软件工程的历史,对可靠性、可验证性、可扩展性和可维护性的需求是完全相同的。我们见证了乔姆斯基谱系中的权衡在提示与上下文的辩论中重现,又在think tool这样的形式化认知步骤中具象出来。
当前的发展虽然迅速,但仍处于范式形成前的阶段,下一步是为Agent System发展出一套全面的形式化理论,这可能涉及扩展现有的逻辑框架(如LF),或开发新的框架来处理基于LLM的智能体所固有的概率性和动态性,我们可以预见,未来将出现更多针对不同推理模式的专用认知工具,例如分析型、创造型的推理工具,最终目标是建立一个系统,其中AI智能体的行为可以被精确规约,并能根据该规约进行形式化验证,就像一个编译器的正确性可以被证明一样,这对于在金融、医疗等高风险、安全攸关的领域部署自主智能体至关重要。由乔姆斯基开启的语言形式化之旅,如今正进入一个崭新而深刻的阶段,思想本身的形式化。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-08-20
DeepSeek v3.1 到底有多强?与 Claude Code 一起实测!
2025-08-20
业务流程复杂,单Agent独木难支?ShareFlow:让AI能力“集”中生智
2025-08-20
Golang微服务架构在AI应用中实践DDD(领域驱动设计)
2025-08-20
MCP 和 A2A(Agent2Agent)协议,清晰解释(带有视觉效果):
2025-08-20
通用型AI Agent?业务落地还得靠Workflow!
2025-08-20
从源码看Google LangExtract如何应对长文本数据挖掘的挑战
2025-08-20
DeepSeek有点含蓄了,实测V3.1有进步,编程等个别场景硬刚GPT-5
2025-08-20
Meta没做的,英伟达做了!全新架构吞吐量狂飙6倍,20万亿Token训练
2025-05-29
2025-05-23
2025-06-01
2025-06-21
2025-06-07
2025-06-12
2025-06-13
2025-06-19
2025-05-28
2025-07-29
2025-08-20
2025-08-19
2025-08-19
2025-08-18
2025-08-18
2025-08-18
2025-08-15
2025-08-14