AxDafny:基于智能体工作流实现形式化验证代码自动生成
1. 项目概述当形式化验证遇上智能体编程最近在形式化验证和代码生成这个交叉领域一个名为AxDafny的项目引起了我的注意。简单来说它试图解决一个困扰我们这些做高可靠软件开发的人很久的痛点如何让机器自动生成经过形式化验证的代码并且这个过程是**智能体驱动Agentic**的。听起来有点绕别急我用人话翻译一下。我们平时写代码尤其是涉及金融交易、航空航天、医疗设备这类容错率极低的系统时光靠单元测试和人工Review是远远不够的。这时候就需要形式化验证用数学方法证明你的程序逻辑绝对正确没有Bug。Dafny就是这方面的一个明星语言和工具它允许你在代码里直接写“规范”Specification比如前置条件、后置条件、循环不变式然后它的验证器Verifier会自动帮你证明代码是否符合这些规范。这相当于给你的代码上了一道数学上的“保险”。但问题来了用Dafny写代码门槛很高。你需要同时是优秀的程序员和逻辑学家既要写出能跑的代码又要写出能让验证器“看懂”并同意的规范。这个过程非常耗时且容易出错。于是大家自然想到能不能用AI来帮我们生成Dafny代码近几年大语言模型LLM在代码生成上表现惊艳但让它直接生成能通过Dafny验证器严格证明的代码成功率惨不忍睹。生成的代码可能语法都对但就是过不了验证因为模型不理解背后复杂的逻辑约束。这就是AxDafny切入的地方。它不是一个简单的“提示词生成”工具而是一个智能体Agent系统。你可以把它想象成一个拥有“Dafny专家”灵魂的AI助手。它不会一次性给你一整段代码而是会像一位严谨的工程师一样拆解任务、规划步骤、尝试编写、遇到验证错误就反思调试、甚至主动去查阅“资料”比如已有的验证过的代码库或定理直到最终生成一段能完美通过Dafny验证的代码。这个过程是“Agentic”的意味着它具有自主性、规划性和反思能力而不是机械地完成一次生成。所以AxDafny的核心价值在于它试图用智能体的工作流将大语言模型强大的生成能力与Dafny严格的形式化验证框架结合起来实现可靠、自动化的“可验证代码生成”。这对于需要极高可靠性的软件开发领域无疑是一个令人兴奋的探索方向。接下来我就结合自己的经验和理解深入拆解一下这个项目的设计思路、关键技术以及我们如何借鉴其思想。2. 核心架构与智能体工作流设计要理解AxDafny我们不能只看它生成了什么代码更要看它如何生成。它的核心是一个精心设计的智能体工作流。这个工作流模拟了人类专家使用Dafny解决问题的思考过程我将其归纳为以下几个关键阶段。2.1 任务理解与规划分解首先智能体需要理解用户的需求。用户输入可能是一个自然语言描述比如“请实现一个函数计算一个整数列表的和并验证其正确性”。AxDafny的智能体通常由一个LLM驱动会首先解析这个需求并将其转化为一个结构化的、可执行的计划。这个计划不仅仅是“生成一个sum函数”。在Dafny的世界里计划必须包含函数签名包括输入参数的类型、返回类型。函数规范这是关键。需要明确写出requires前置条件输入必须满足什么和ensures后置条件函数保证输出满足什么。对于求和函数后置条件可能是“返回值等于列表中所有元素的和”。实现策略是用递归还是循环如果循环循环不变式invariant大概是什么样子这需要智能体具备基础的算法和形式化验证知识。辅助引理复杂的验证往往需要先证明一些中间结论引理。智能体需要预判是否需要以及需要什么样的引理。这个过程智能体可能会调用一个“规划模块”该模块基于对Dafny编程模式和常见验证模式的记忆可能来自微调或RAG检索生成一个初步的蓝图。实操心得在这一步提示工程Prompt Engineering的质量至关重要。给智能体的系统提示System Prompt必须清晰地定义Dafny的语法规则、验证逻辑的常见模式并给出几个高质量的示例Few-shot Learning。例如提示词中应强调“任何循环都必须提供循环不变式”“递归函数必须提供递减度量decreases clause以确保终止”。这相当于给AI助手一本精简的《Dafny编程规范》。2.2 迭代式代码生成与验证驱动调试这是AxDafny最核心、也最区别于普通代码生成的一环。智能体不会一蹴而就。它的工作流是一个典型的“生成-验证-反馈”循环草稿生成根据规划智能体LLM生成第一版Dafny代码。调用验证器AxDafny系统自动调用Dafny验证器对生成的代码进行验证。解析错误验证几乎不可能一次通过。Dafny验证器会返回详细的错误信息例如“无法证明后置条件”、“循环不变式在入口处不成立”、“无法证明终止”。智能体需要有一个“错误分析模块”来理解这些信息。反思与修正智能体根据错误信息进行反思。例如如果后置条件无法证明它可能需要a) 加强循环不变式b) 检查代码逻辑是否有误c) 增加一个辅助引理来帮助验证。然后它生成修正后的代码。再次验证重复步骤2-4直到验证通过或达到最大迭代次数。这个循环的关键在于验证器的反馈成为了指导智能体进化的最强信号。智能体不是漫无目的地生成而是在一个严格的“正确性”约束下进行搜索和优化。这非常类似于强化学习中的奖励信号只不过这里的奖励是二元的通过/不通过且反馈信息非常具体。2.3 工具调用与知识检索Agentic RAG当智能体卡住时比如它不知道如何构造一个复杂的循环不变式或者不清楚某个数据结构如seq或set的定理库时一个高级的AxDafny系统应该具备“使用工具”和“查阅资料”的能力。这正是当前热门的Agentic RAG研究方向在其中的应用。工具调用智能体可以调用外部工具例如将一个复杂的数学条件交给一个符号计算引擎如Z3Dafny底层本就使用Z3进行简化或者调用一个代码格式化工具。知识检索RAG智能体可以访问一个存储了大量已验证Dafny代码片段的向量数据库。当它遇到类似“如何验证一个二叉树的属性”问题时它可以检索出相关的、已成功的代码示例和验证模式作为参考来指导自己的生成。这极大地扩展了智能体的“经验库”避免了重复造轮子也提高了生成成功率。2.4 最终整合与输出经过多轮迭代当生成的代码最终通过Dafny验证器时智能体会将最终的代码、连同其完整的规范前置/后置条件、不变式等以及过程中可能生成的辅助引理整洁地输出给用户。它可能还会附上一份简短的“开发日志”说明遇到了哪些主要验证障碍以及是如何解决的这对于学习者非常有价值。整个架构可以概括为一个以LLM为核心“大脑”以Dafny验证器为“严格考官”以规划、错误分析、工具调用/RAG为“专项技能”的智能体系统。它把一次性的代码生成任务变成了一个可监控、可调试、有反馈的交互式验证过程。3. 关键技术点深度解析理解了工作流我们再来看看支撑AxDafny的几个关键技术点。这些点决定了系统的上限和实用性。3.1 提示工程与思维链Chain-of-Thought设计让LLM完成形式化验证任务粗暴的指令是行不通的。必须设计复杂的提示结构来引导其“思考”。这通常结合了角色设定明确告诉LLM“你是一个精通Dafny和形式化方法的专家”。结构化输出要求要求LLM按照“规划 - 签名与规范 - 实现草稿 - 可选解释思路”的格式输出便于后续模块解析。思维链CoT在生成代码前要求LLM先一步步推理。“要证明求和正确我需要一个循环不变式来累积部分和。初始时部分和为0每次循环加上当前元素循环结束时部分和应等于总和……” 这种内部的推理过程能显著提高最终代码的逻辑质量。错误信息上下文学习当验证失败时将Dafny的错误信息连同出错的代码一起作为新的提示输入给LLM并要求它分析错误原因并提出修改方案。这需要精心设计提示模板教会LLM理解“cannot prove postcondition”这类专业信息。3.2 验证反馈的精细化利用Dafny验证器的错误信息是黄金数据。但如何让LLM有效利用是关键。简单地把错误信息扔回去效果有限。需要构建一个“错误诊断与翻译层”错误分类将Dafny错误归类如“前置条件不满足”、“后置条件无法证明”、“循环不变式不保持”、“变量可能未初始化”等。错误定位精确指出错误发生在代码的哪一行、哪一个表达式。建议生成对于每一类错误总结出常见的修复模式。例如对于“后置条件无法证明”建议可能包括“检查循环不变式是否足够强以蕴含后置条件”、“考虑在循环后添加一个断言assert来帮助验证器”、“可能需要引入一个引理”。 这个翻译层可以将晦涩的验证器输出转化为LLM更容易理解和行动的“任务指令”。3.3 基于检索的增强生成RAG与智能体行为这是将项目推向“Agentic”高阶形态的关键。单纯的生成-验证循环可能陷入局部最优或者无法解决需要领域特定知识的问题。集成RAG后构建知识库收集开源的高质量Dafny项目如IronFleet、Ironclad等、Dafny官方教程和库中的示例代码进行切片、向量化存储。情境化检索当智能体在规划或调试阶段遇到困难时根据当前代码上下文、验证目标和错误信息从知识库中检索最相关的代码片段和验证模式。智能体决策智能体需要判断何时进行检索例如当连续三次修正都无法解决同一类错误时以及如何将检索到的信息融合到自己的生成过程中是直接模仿结构还是借鉴其验证思路。这要求智能体具备更高层次的元认知能力。3.4 评估与持续学习如何衡量AxDafny的好坏不能只看生成代码的语法正确率核心指标是验证通过率。需要构建一个涵盖不同难度从简单的数学函数到复杂的数据结构操作的Dafny编程任务基准测试集。 更进一步的系统可以记录每一次成功和失败的交互轨迹包括初始提示、多轮生成代码、验证反馈、最终修正。这些轨迹是极其宝贵的训练数据可以用于对底层的LLM进行监督微调SFT或强化学习RL特别是基于人类反馈的强化学习RLHF这里的“人类反馈”可以部分由“验证器通过”这一客观信号来替代或增强从而让模型越来越擅长编写可验证的代码。4. 实操设想构建一个简易的AxDafny原型虽然完整的AxDafny系统可能很复杂但我们完全可以借鉴其思想搭建一个简化版的原型来体验这个工作流。这里我提供一个基于Python和OpenAI API的实操思路。4.1 环境与工具准备假设我们已有基本的Python开发环境和Dafny运行环境。安装依赖pip install openai # 用于调用LLM API如GPT-4 pip install python-dotenv # 管理API密钥准备Dafny从GitHub下载Dafny的最新发布版并确保dafny命令可以在终端运行。设置知识库可选如果我们想加入RAG可以安装chromadb或faiss作为向量数据库用sentence-transformers生成嵌入。4.2 核心循环脚本编写我们编写一个Python脚本实现最基本的生成-验证循环。import openai import subprocess import os from typing import Tuple, Optional import re # 1. 初始化OpenAI客户端示例请替换为你的API密钥管理方式 client openai.OpenAI(api_keyos.getenv(OPENAI_API_KEY)) # 2. 定义系统提示词 - 这是灵魂 DAFNY_EXPERT_SYSTEM_PROMPT 你是一个Dafny形式化验证专家。请帮助用户编写能通过Dafny验证器验证的代码。 请严格按照以下步骤思考和输出 1. 分析用户需求明确函数/方法的签名输入、输出类型和规范requires, ensures。 2. 设计实现思路特别是循环需要invariant或递归需要decreases的逻辑。 3. 输出完整的Dafny代码代码必须语法正确且力求一次通过验证。 4. 如果用户提供了之前的代码和Dafny错误信息请分析错误原因并给出修正后的完整代码。 输出格式 【分析】你的简要思路分析 【代码】 dafny 完整的Dafny代码def call_llm_for_dafny(user_prompt: str, previous_code: Optional[str] None, error: Optional[str] None) - str: 调用LLM生成或修正Dafny代码。 messages [{role: system, content: DAFNY_EXPERT_SYSTEM_PROMPT}]final_user_prompt user_prompt if previous_code and error: final_user_prompt f 之前的代码验证失败请修正。 原代码 dafny {previous_code} Dafny验证错误 {error} 请根据以上错误信息修正代码以满足验证要求。原始需求是{user_prompt} messages.append({role: user, content: final_user_prompt}) try: response client.chat.completions.create( modelgpt-4-turbo, # 或 gpt-3.5-turbo但GPT-4逻辑能力更强 messagesmessages, temperature0.1, # 低温度保证输出稳定 max_tokens2000 ) content response.choices[0].message.content # 简单地从响应中提取代码块 code_match re.search(rdafny\n(.*?)\n, content, re.DOTALL) if code_match: return code_match.group(1).strip() else: # 如果没有代码块返回整个内容可能分析部分也有用 return content except Exception as e: print(f调用LLM API失败: {e}) return def run_dafny_verify(code: str, filename: str temp.dfy) - Tuple[bool, str]: 将代码写入文件并用Dafny验证返回是否成功及错误信息。 with open(filename, w) as f: f.write(code)try: # 运行dafny verify命令设置超时 result subprocess.run( [dafny, verify, filename, --verification-time-limit:30], capture_outputTrue, textTrue, timeout60 ) if result.returncode 0: return True, Verification succeeded. else: # 提取错误信息通常Dafny的错误信息在stderr中 error_output result.stderr if result.stderr else result.stdout return False, error_output[:2000] # 截取前2000字符避免过长 except subprocess.TimeoutExpired: return False, Verification timed out. except Exception as e: return False, fFailed to run Dafny: {e}def axdafny_prototype(user_request: str, max_iterations: int 5): AxDafny原型主循环。 print(f用户需求: {user_request}) current_code None current_error Nonefor i in range(max_iterations): print(f\n--- 第 {i1} 轮迭代 ---) # 生成或修正代码 new_code call_llm_for_dafny(user_request, current_code, current_error) if not new_code: print(LLM未能生成有效代码。) break print(f生成的代码:\n{new_code}\n) # 验证代码 success, error_msg run_dafny_verify(new_code) if success: print(✅ 验证成功) print(f最终代码已保存至 final.dfy) with open(final.dfy, w) as f: f.write(new_code) return new_code else: print(f❌ 验证失败。错误信息:\n{error_msg}\n) current_code new_code current_error error_msg print(f经过 {max_iterations} 轮迭代仍未成功。) return None4. 运行示例ifname main: # 一个简单的测试需求求数组最大值 user_req 请编写一个Dafny函数max输入一个整数数组arrayint返回其中的最大值。需要验证其正确性。 final_code axdafny_prototype(user_req)### 4.3 运行与观察 运行这个脚本你会观察到类似以下的过程 1. **第一轮**LLM生成一个带有简单规范的max函数可能使用循环。但Dafny验证器可能会报错例如“循环不变式在入口处不成立”或“无法证明后置条件返回值是最大值”。 2. **第二轮**脚本将第一轮的代码和错误信息组合成新的提示发送给LLM。LLM分析错误可能会加强循环不变式比如明确声明“maxSoFar是当前已遍历部分的最大值”。 3. **后续轮次**继续迭代。一个常见的难点是如何在循环不变式中表达“maxSoFar是a[0..i]中的最大值”。LLM可能需要引入Dafny的forall量词来精确表达。经过几轮调试最终可能生成一个验证通过的版本。 **注意事项** * **成本与延迟**每轮迭代都调用一次LLM API和运行一次Dafny验证对于复杂问题迭代次数多时间和金钱成本较高。 * **提示词敏感性**系统提示词DAFNY_EXPERT_SYSTEM_PROMPT的质量直接决定LLM的表现需要反复调试。 * **错误信息处理**上述脚本只是简单传递错误信息。一个更健壮的系统需要解析和提炼错误信息去除冗余突出重点。 * **超时处理**Dafny验证可能陷入长时间推理脚本设置了超时但可能需要根据问题复杂度调整。 ### 4.4 扩展方向加入RAG 如果我们有一个包含经典Dafny模式如各种排序算法、数据结构实现的向量数据库可以在call_llm_for_dafny函数中在构造提示词前加入检索步骤 1. 将用户需求或当前代码上下文转换为向量进行检索。 2. 获取Top-K个相关的代码片段。 3. 将这些片段作为“参考示例”插入到系统提示词或用户提示词中例如“以下是几个成功验证的、与‘查找最大值’相关的Dafny代码示例请参考其规范与实现风格[检索到的代码1] [检索到的代码2]”。 这能显著提升智能体解决已知模式问题的效率和成功率。 ## 5. 挑战、局限与未来展望 尽管AxDafny的理念非常吸引人但在实际落地中面临诸多挑战。 ### 5.1 当前面临的主要挑战 1. **验证问题的复杂性**Dafny验证的本质是自动定理证明。许多问题本身在计算上就是困难的甚至不可判定的。LLM基于概率生成无法保证总能找到那个正确的证明。对于复杂的数学归纳或涉及非线性算术的问题当前方法可能力不从心。 2. **LLM的逻辑与数学能力局限**虽然大模型在代码语法上表现优异但对深层逻辑关系、尤其是需要精确数学表达的形式化规范其理解仍然肤浅且不稳定。它可能模仿出“看起来像”的规范但缺乏严谨性。 3. **反馈循环的效率**生成-验证循环可能很长尤其是当错误根源很深时比如一个错误的不变式导致后续所有证明失败。智能体可能需要像人类一样“推倒重来”而不是局部修补这需要更高级的规划和评估能力。 4. **知识库的构建与质量**高质量的、已验证的Dafny代码库相对稀缺。构建一个全面、干净、标注良好的知识库是RAG有效的前提而这需要大量专家工作。 ### 5.2 潜在的应用场景 尽管有挑战其应用前景在特定领域非常明确 1. **教育辅助工具**帮助学习形式化验证的学生。学生可以用自然语言描述一个算法由AxDafny生成出带有规范的可验证代码框架学生再在此基础上学习和修改理解规范与实现的关系。 2. **专家生产力工具**对于经验丰富的Dafny开发者AxDafny可以充当一个“超级自动补全”和“交互式调试伙伴”快速生成一些样板代码如数据结构的标准操作或者帮助定位复杂的验证错误给出修正建议。 3. **规范原型生成**在系统设计初期可以用自然语言快速描述组件接口和行为由AxDafny生成初步的形式化规范作为团队讨论和细化的基础。 4. **遗留代码验证**结合代码理解模型尝试为现有的、无规范的代码如C/Java自动推断并生成Dafny规范辅助进行形式化验证。 ### 5.3 未来发展方向 要突破当前局限我认为有几个方向值得关注 1. **专用模型训练**收集大规模的“代码-验证轨迹”数据即从需求到最终验证通过的完整交互序列对中小型模型进行监督微调训练出真正“懂”Dafny和形式化验证的专用模型而不是依赖通用的、未经针对性训练的LLM。 2. **验证器深度集成**不仅仅是把验证器当作一个黑盒检查器。可以让智能体与验证器内部的证明状态proof state进行交互例如询问“为什么这个条件无法证明”获得更细致的反馈甚至引导验证器进行特定方向的推理。 3. **分层与组合式生成**不要求一次性生成完整代码。可以先让智能体生成高层次的规范契约再生成实现骨架然后逐步填充细节并验证。将大问题分解为小问题降低每一步的难度。 4. **多智能体协作**引入具有不同角色的智能体例如一个“架构师”负责规划规范和模块一个“实现者”负责编写代码一个“验证专家”专门分析错误和提出引理。让它们通过辩论或投票达成一致可能产生更稳健的结果。 AxDafny代表了一个重要的趋势**将形式化方法严谨的、基于逻辑的推理与人工智能灵活强大的生成和搜索能力相结合**。它不是为了取代人类验证专家而是成为一个强大的放大器降低形式化验证的门槛让编写高可靠软件变得更容易、更高效。这条路还很长但每一次迭代和验证通过的提示都在为这条道路铺上一块坚实的砖石。对于我们开发者而言理解其原理尝试构建自己的简易原型不仅能亲身体验前沿技术更能深刻理解形式化验证与AI结合的无限可能。

相关新闻

终端智能体评测设计:对抗性、高难度与可解读性三大核心原则

终端智能体评测设计:对抗性、高难度与可解读性三大核心原则

1. 从“跑分”到“实战”:为什么我们需要重新审视终端智能体评测在AI领域,尤其是智能体(Agent)研究圈子里,大家最近都在聊“Benchmark”。这个词直译过来是“基准测试”,但在我们这些一线开发者眼里&#x…

2026/8/19 3:45:18 阅读更多 →
服务网格最小落地方案与组件职责

服务网格最小落地方案与组件职责

服务网格最小落地方案与组件职责 先跑通一条闭环 组件边界要清楚 路由规则、重试预算、服务身份与证书 的所有者和更新方式写入说明。异步任务还需定义重复投递、消费者不可用与状态恢复的处理。 在具体链路里验证 对 服务调用链、代理配置、流量规则和身份策略,先选…

2026/8/19 3:44:18 阅读更多 →
样式动效排障,怎样留下有效证据

样式动效排障,怎样留下有效证据

样式动效排障,怎样留下有效证据 图形异常有时不会抛出脚本错误。排障时留下浏览器能力、画布尺寸、渲染阶段和上下文丢失事件,比上传整张页面截图更有用也更克制。 canvas.addEventListener(webglcontextlost, (event) > {event.preventDefault();rep…

2026/8/19 3:44:18 阅读更多 →

最新新闻

基于Wio Terminal的Arduino复古游戏开发实战:从硬件驱动到游戏逻辑

基于Wio Terminal的Arduino复古游戏开发实战:从硬件驱动到游戏逻辑

1. 项目概述:当复古游戏遇上现代硬件最近在整理工作室的物料,翻出了几块之前入手的Wio Terminal,看着它那块2.4英寸的彩色LCD屏幕和丰富的按键,一个念头突然冒了出来:能不能用它来复刻一个我们小时候在掌机上玩过的经典…

2026/8/19 6:12:51 阅读更多 →
厘米级实时定位系统:多传感器融合架构与工程实践详解

厘米级实时定位系统:多传感器融合架构与工程实践详解

1. 项目概述:厘米级实时定位的“魔法”与挑战 在无人机自主飞行、自动驾驶汽车导航、工业机器人精准抓取,甚至未来AR/VR的沉浸式交互中,一个核心问题始终横亘在面前:如何让机器在三维空间中,像人一样实时、准确地知道“…

2026/8/19 6:12:51 阅读更多 →
基于TVA架构的具身智能叙事理解新范式

基于TVA架构的具身智能叙事理解新范式

前沿技术探索:TVA智能体(简称TVA)TVA智能体(亦称“AI智能体视觉”或“TVA视觉智能体”)是依托Transformer架构与“因式智能体”理论构建的系统级视觉技术框架。它融合深度强化学习(DRL)、卷积神…

2026/8/19 6:12:51 阅读更多 →
【聚宽 JoinQuant】聚宽如何实现每周自动调仓?run_weekly() 定时选股策略示例

【聚宽 JoinQuant】聚宽如何实现每周自动调仓?run_weekly() 定时选股策略示例

本方案由 EasyQuant AI量化助手 提供。 问题背景 许多量化策略不需要每天频繁交易,而是每周固定选股、卖出不符合条件的股票,再买入新的目标标的。聚宽可使用 run_weekly() 注册定时函数,并通过 get_index_stocks() 获取指数成分股&#xff…

2026/8/19 6:12:49 阅读更多 →
基于Arduino与3D打印的自制旋转开关:从模拟信号读取到创客实践

基于Arduino与3D打印的自制旋转开关:从模拟信号读取到创客实践

1. 项目概述:为什么我们需要一个“大部分3D打印”的旋转开关?在电子制作和原型开发领域,旋转开关是一个经典且不可或缺的元件。无论是用来切换设备的工作模式、调整参数档位,还是作为复古设备的输入装置,它都扮演着关键…

2026/8/19 6:12:49 阅读更多 →
从零打造自主机器人:基于树莓派与ROS的后院火星车实践指南

从零打造自主机器人:基于树莓派与ROS的后院火星车实践指南

1. 项目概述:从仰望星空到动手实现几年前,我在自家后院调试一个简单的机器人底盘时,邻居家的小孩跑过来,指着它兴奋地喊:“看!火星车!”那一刻我愣住了,随即恍然大悟。我们很多人&am…

2026/8/19 6:11:49 阅读更多 →

日新闻

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

【单片机课程设计/毕业设计】基于 STM32 与 WiFi 模块的室内通风智能管控系统设计 基于 STM32 的人体存在感知自适应风扇控制系统设计(018503)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/19 0:00:30 阅读更多 →
AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

AI如何驱动数学猜想生成:从大语言模型到自动化数学发现

1. 项目概述:当AI开始“猜”数学定理 最近在AI研究圈里,一个名为“Moonshine”的项目引起了不小的讨论。这名字本身就挺有意思,直译是“月光”,但在数学史上,它特指一个神秘而美丽的联系——魔群月光猜想,连…

2026/8/19 0:00:30 阅读更多 →
WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南

WarcraftHelper 魔兽争霸3优化实战指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 一台刚配的新电脑,跑《魔兽争霸3》却卡成 PPT——这…

2026/8/19 0:02:31 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/18 9:15:35 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 9:06:28 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/18 9:04:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/19 5:04:55 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →