Code Agent源码深度解析:从架构设计到工程实践

news2026/5/7 3:12:39
1. 从“会用”到“懂”为什么我们需要拆解 Code Agent 源码如果你和我一样在过去的两年里深度使用过各种 AI 编程助手从早期的 GitHub Copilot 到后来的 Cursor、Claude Code再到层出不穷的开源项目你可能会经历一个相似的阶段从惊叹于它们能自动补全代码到依赖它们重构复杂函数再到开始好奇——这玩意儿到底是怎么工作的为什么有的 Agent 能记住我半小时前的对话有的却像金鱼一样只有七秒记忆为什么有的工具调用精准流畅有的却动不动就陷入死循环这就是我启动agent-base这个源码研究项目的初衷。市面上不缺教你“怎么用”的教程但很少有资料能带你穿透 API 的黑箱看清一个现代 Code Agent 内部真正的运转逻辑。这个仓库不是另一个工具评测而是一份长达 177 篇文档的“解剖报告”。我们系统地拆解了七个具有代表性的开源 Code Agent 项目包括 OpenAI 的 Codex、Google 的 Gemini CLI、Moonshot 的 Kimi CLI、Anthropic 的 Claude Code 等从 CLI 入口一路追踪到最核心的 Agent Loop、内存管理和安全沙箱。目标很明确让你从“会用 Agent”的普通用户进化成“懂 Agent 架构取舍”的开发者甚至能基于这些洞察设计或改造出更适合自己团队的自有 Agent 系统。2. 七大 Agent 全景图各显神通的架构选择面对七个不同的项目第一感觉可能是眼花缭乱。但当你把它们并排放在一起用统一的视角去审视差异背后的设计哲学就清晰了起来。这就像看七位顶尖厨师做同一道菜食材大模型相似但刀工、火候、调味工程架构的取舍决定了最终菜品的风味。2.1 项目定位与核心亮点速览为了方便你快速建立认知我把这七个项目的核心语言、定位和最具研究价值的亮点整理成了下表。你可以把它看作一份“技术菜单”先看看哪道菜最对你的胃口。项目名称主要语言核心定位/特点最具研究价值的架构亮点Codex (OpenAI)Rust企业级安全与稳健性标杆完善的安全沙箱、精细的权限分级、模块化极高的工具系统。如果你想构建一个需要严格管控、高可用的生产级 AgentCodex 的架构是绝佳的蓝本。Gemini CLI (Google)TypeScript内存管理与上下文策略的典范独创的三层分层内存架构工作记忆、短期记忆、长期记忆以及一个精巧的、由状态机驱动的任务调度器。研究它能深刻理解如何让 Agent 更“聪明”地记住和利用历史信息。Kimi CLI (Moonshot)Python状态持久化与“时间旅行”完整实现了 Checkpoint检查点机制支持命令级的撤销与重做甚至能回滚到任意历史状态。对于需要复杂、多步骤且可能出错的任务流这种设计提供了强大的容错能力。Claude Code (Anthropic)TypeScript现代前端交互与流式处理基于 Ink 库构建了 React 组件化的终端 UI并通过统一的AsyncGenerator模式驱动整个 Agent 循环。如果你想打造一个交互体验流畅的 CLI 工具这里是很好的参考。OpenCode (Anomaly)TypeScript现代 Web 开发生态集成深度集成 Vercel AI SDK在流式响应处理和前端状态同步方面做得非常出色。适合研究如何将 Agent 能力无缝嵌入到现代 Web 应用或 SaaS 产品中。SWE-agent (Princeton)Python学术研究与自动化修复专为软件工程任务如修复 GitHub Issue设计提供了可配置的 History Processors历史处理器可以灵活地提炼和压缩冗长的交互历史是研究任务导向型 Agent 的绝佳样本。Qwen Code (阿里)TypeScript工程化架构与循环检测拥有非常完善的循环检测服务能有效防止 Agent 陷入无意义的重复操作。其代码结构清晰采用了经典的分层设计模式工程化程度很高。提示对于初学者我强烈建议从Codex开始阅读。它的文档最完整架构也最经典像一个“标准答案”能帮你快速建立起对 Code Agent 核心组件如 Agent Loop、Tools、Safety的基本认知。有了这个基础再去看其他项目的“变体”和“创新点”会理解得更透彻。2.2 统一的分析框架如何像专家一样阅读源码面对数百万行代码最怕的就是陷入细节的泥潭。为了高效地进行横向对比我为所有项目建立了一套统一的“解剖学”框架将每个 Agent 都拆解成 13 个核心模块。无论你看哪个项目都可以沿着这个编号体系像查字典一样找到对应的部分进行对比。编号主题核心关注点01概览项目整体架构图、设计哲学、核心数据流。这是你的“地图”。02CLI 入口 / Session 管理用户命令如何被解析一个“会话”如何被创建、维护和销毁。03Session 运行时会话生命周期的核心状态管理、事件循环的初始化。04Agent Loop最核心的部分。驱动“思考 - 调用工具 - 观察结果 - 再思考”这个循环的引擎。05Tools 系统工具如何被定义、注册、调用参数如何验证结果如何格式化。06MCP 集成如何与 Model Context Protocol 集成扩展外部工具和能力。07Memory Context对话历史如何被存储、压缩、检索和注入到后续的提示中。08UI 交互终端或 Web 界面如何渲染流式输出、显示工具调用状态。09Web Server如果存在提供 HTTP API 的服务端是如何构建的。10Safety Control安全沙箱、权限控制、内容过滤等防止 Agent“作恶”的机制。11Prompt 组织系统提示词、用户消息、工具描述等是如何被动态组装和管理的。12日志记录机制如何记录详细的运行日志用于调试和审计。13ACP 集成如何与 Agent Communication Protocol 集成实现多代理协作。这套框架的价值在于它让你能进行“苹果对苹果”的比较。例如当你想知道不同项目如何处理“工具调用错误”时你可以直接跳转到每个项目的05 - Tools 系统模块并重点关注其中的错误处理子章节。这种结构化的对比远比漫无目的地翻阅代码高效得多。3. 核心机制深度解析Agent 如何“思考”与“行动”理解了全景我们就可以深入腹地看看 Code Agent 最核心的三大机制是如何运作的。这些机制决定了 Agent 的“智商”上限和“行为”模式。3.1 Agent Loop驱动一切的永动机Agent Loop 是 Code Agent 的“心脏”。它的本质是一个循环状态机不断重复“感知 - 规划 - 执行 - 学习”的过程。虽然概念简单但不同项目的实现细节却大有乾坤。经典模式Plan-and-Execute这是最常见的一种模式在 Codex、Gemini CLI 等项目中广泛应用。其伪代码逻辑大致如下async def agent_loop(initial_task: str, context: Context): plan await llm_generate_plan(initial_task, context) for step in plan.steps: # 1. 思考决定这一步做什么用什么工具 thought, action await llm_think(context, step) # 2. 执行调用选定的工具 observation await execute_tool(action) # 3. 观察将工具执行结果纳入上下文 context.update(thought, action, observation) # 4. 评估检查任务是否完成或是否需要调整计划 if await llm_evaluate(context): break return context.final_result()关键差异点对比循环驱动方式Claude Code 使用一个统一的query()异步生成器函数来驱动整个循环将思考、执行、流式输出都封装在同一个数据流中非常优雅。而 Kimi CLI 则更依赖外部的状态机来调度循环的不同阶段。“思考”环节的保留一个有趣的细节是像 Gemini CLI、SWE-agent 等项目会将模型每次“推理过程”Chain-of-Thought的中间文本也保留在上下文中。这相当于让 Agent 看到了自己之前的“草稿纸”有助于它在复杂任务中保持连贯性。而有些项目为了节省 Token会丢弃这些中间内容。循环跳出机制如何判断任务“完成”了简单的做法是让模型输出一个特殊的结束标记如[FINISH]。但更健壮的做法像 Qwen Code 那样引入独立的循环检测服务它会分析历史动作的相似性如果检测到 Agent 在重复无意义的操作比如反复读写同一个文件就会强制中断循环并报错。实操心得在设计自己的 Agent Loop 时一定要加入最大迭代次数限制。这是防止无限循环的最后一道防线。我见过太多新手项目因为忘记这个限制导致 API 调用费用暴涨。通常设置为 20-50 步是一个比较安全的范围。3.2 内存与上下文管理Agent 的“记忆宫殿”内存管理是区分“智能体”和“简单脚本”的关键。一个没有记忆的 Agent每次交互都是全新的开始无法处理复杂的、多轮的任务。分层内存架构以 Gemini CLI 为例工作记忆存储当前循环迭代中产生的临时信息如本次工具调用的参数和结果。生命周期最短。短期记忆存储当前会话中所有相关的历史交互对话、工具调用记录。这是上下文窗口直接喂给模型的部分。长期记忆通过向量数据库等外部存储保存跨会话的关键信息或知识。当短期记忆装满时可以通过检索增强生成RAG的方式将相关的长期记忆动态注入上下文。上下文压缩的艺术大模型的上下文窗口是宝贵且有限的资源。当对话历史越来越长时如何取舍直接截断是最粗暴的方式但可能会丢失关键信息。更高级的策略包括总结性压缩让模型自己总结之前的对话历史用一段简短的摘要替代冗长的原始记录。SWE-agent 的 History Processors 就精于此道。相关性过滤只保留与当前任务最相关的历史片段。这通常需要结合嵌入模型计算相似度。关键信息提取只提取历史中的关键决策、错误信息和最终结果丢弃过程性细节。在 Kimi CLI 中其Checkpoint 机制是内存管理的一个极端体现。它不仅仅保存对话文本而是完整序列化了整个 Agent 的运行时状态包括文件系统快照、环境变量等。这使得“回滚到 10 分钟前的状态”成为可能为高风险操作提供了终极保险。3.3 工具系统与安全沙箱赋予能力与戴上镣铐工具系统是 Agent 的“手和脚”。一个设计良好的工具系统应该是易扩展、强类型且安全的。工具定义与调用流程一个典型的工具调用流程包括1) Agent 生成一个结构化的工具调用请求JSON2) 路由层根据工具名找到对应的函数3) 参数验证层检查参数类型和合法性4) 执行层在安全沙箱内运行函数5) 结果格式化层将执行结果转换成自然语言描述返回给 Agent。安全是重中之重Codex 在安全方面堪称典范它构建了一个多层次的安全防线声明式权限每个工具都需要显式声明它所需的权限如read_file,write_file,execute_command。用户确认对于高风险操作如rm -rf会暂停并请求用户手动确认。资源隔离工具在受限的沙箱环境中运行无法直接访问宿主机的敏感资源或执行任意命令。输出过滤对工具返回的内容进行扫描过滤可能有害的代码或信息。避坑指南在实现工具系统时千万不要相信模型传来的参数。一定要在调用真实函数或命令前做严格的验证和转义。例如如果一个工具的参数是文件路径你必须检查路径是否在允许的目录范围内防止目录遍历攻击。我曾在一个早期原型中忽略这点结果 Agent 差点删除了系统关键文件。4. 进阶主题与实战中的高频问题当你开始基于这些开源项目构建自己的 Agent 时一定会遇到一些共性的挑战。下面是我在研究和实践中总结的几个高频问题及其解决思路。4.1 如何防止 Agent 陷入“鬼打墙”式的无限循环这是 Agent 开发中最常见也最令人头疼的问题之一。除了前面提到的设置最大迭代次数这个“硬保险”外还有几种“软策略”状态去重在 Qwen Code 的循环检测服务中它会为每个“动作”如edit_file:path/to/file.py:line10生成一个哈希指纹。如果连续多个动作的指纹完全相同或高度相似则触发告警。目标校验在每一轮循环结束时让模型或一个简单的规则引擎评估当前状态与初始目标的距离。如果连续多轮都没有任何进展则判定为停滞。多样化提示当检测到可能循环时动态修改给模型的提示词例如加入“请注意你刚才已经尝试过类似的方法但未成功请尝试一个不同的思路”这样的指令强行扭转其推理方向。4.2 工具调用失败后Agent 应该如何优雅地恢复工具调用失败如文件不存在、网络超时、权限不足是常态。一个健壮的 Agent 必须具备错误处理能力。结构化错误反馈不要将原始的错误堆栈直接扔给 LLM。应该用一个标准的格式包装错误信息例如{error: FileNotFoundError, message: The file /tmp/foo.txt does not exist., suggestion: Check the file path or create the file first.}。这能帮助模型更好地理解问题。重试与回退策略对于网络类错误可以实现简单的指数退避重试机制。对于逻辑错误可以引导 Agent 尝试替代方案。例如如果pip install package-a失败可以提示它“是否尝试安装功能类似的package-b或者检查 Python 版本兼容性”将错误纳入学习像 SWE-agent 这样的系统会将工具执行错误作为重要的反馈信号引导模型调整后续的计划。错误不是终点而是修正路线的路标。4.3 当上下文窗口不够用时如何做智能压缩面对长对话或大型代码库上下文窗口很快会爆满。除了前面提到的总结和过滤还有几个实战技巧分片与索引对于大型代码库不要一次性把所有代码都塞进上下文。可以教 Agent 使用search_code或list_files这样的工具按需检索相关文件。这类似于 RAG 的思想。关键信息缓存将一些高频使用的、不变的信息如项目结构、API 密钥规则压缩成一条简短的提示固定在系统消息的头部。“遗忘”的艺术主动丢弃那些已被成功解决、且与当前任务链无关的早期历史。可以设定一个规则比如只保留最近 10 轮交互的完整记录更早的则只保留其最终结论。4.4 多代理协作与 ACP 协议复杂的任务往往需要多个各有所长的 Agent 协同工作。这就是Agent Communication Protocol (ACP)发挥作用的地方。它定义了一套标准让不同的 Agent 可以互相发现、调用和组合彼此的能力。在 OpenCode 和 Codex 中你可以看到 ACP 的初步实现。例如一个“代码编写 Agent”在遇到需要数据库查询的任务时可以通过 ACP 协议将子任务委托给一个专门的“数据库专家 Agent”并接收其返回的结构化结果。这开启了构建 Agent“团队”和“生态”的大门。5. 从源码到实践如何借鉴并设计你自己的 Agent读完了七份源码报告你可能已经摩拳擦掌想动手搭建自己的 Agent 了。别急在敲下第一行代码前先根据你的需求做一次关键的技术选型。5.1 技术选型决策树你可以通过回答下面几个问题来缩小选择范围你的核心需求是什么高安全性与稳健性- 优先参考Codex的沙箱和权限模型。复杂的多轮对话与记忆- 深入钻研Gemini CLI的分层内存和Kimi CLI的 Checkpoint。流畅的 CLI 用户体验- 学习Claude Code的 React TUI 和流式生成。快速集成到 Web 应用- 借鉴OpenCode基于 Vercel AI SDK 的架构。解决特定领域任务如修 Bug- 分析SWE-agent的任务管道和 History Processor。你的团队技术栈是什么Python 为主- Kimi CLI, SWE-agent 是更直接的参考生态库丰富。TypeScript/Node.js 为主- Claude Code, OpenCode, Gemini CLI, Qwen Code 提供了现代前端和全栈的实践。追求极致性能与安全- 可以研究Codex 的 Rust 实现虽然上手门槛高但带来的控制和性能优势是巨大的。你需要处理的任务复杂度如何简单、线性的任务一个基础的 Plan-and-Execute Loop 就足够了。复杂、可能失败、需要探索的任务必须引入Checkpoint 回滚参考 Kimi和循环检测参考 Qwen。需要连接大量外部工具重点设计可扩展的 Tools 系统并考虑MCP 集成以实现工具的动态加载。5.2 搭建最小可行 Agent 的四个步骤假设我们选择 TypeScript 栈目标是构建一个能辅助编写代码的 CLI Agent。我们可以这样开始步骤一搭建骨架Session 与 Loop参考 Claude Code 的src/session/目录创建一个Session类来管理单次对话的所有状态用户输入、消息历史、工具列表。然后实现一个最简化的 Agent Loop 核心函数它不断调用 LLM解析其输出直到收到结束信号。步骤二接入大脑LLM 与 Prompt使用像ai-sdk/provider这样的抽象层可以方便地切换 OpenAI、Anthropic 等不同模型。重点设计你的系统提示词明确告诉 Agent 它的角色、能力和限制。将工具的描述动态插入到提示词中。步骤三安装手臂工具系统参考 Codex 的src/tools/模块定义你的第一批工具。从最安全的开始比如read_file,search_files。每个工具函数都必须做好输入验证和错误处理。创建一个工具注册表来统一管理它们。步骤四添加安全与记忆进阶为write_file,run_command等危险工具添加权限检查和用户确认提示。实现一个简单的内存管理器将完整的对话历史保存下来并在下次请求时自动将最近 N 条历史作为上下文附加上去。5.3 我踩过的坑与核心建议不要过度设计第一个版本你的第一个 Agent 可能只需要 3-5 个核心工具一个简单的循环一个固定的提示词。先让它跑起来解决一个具体的小问题比如自动生成 API 函数的单元测试。复杂性会随着需求自然增长。日志是你的生命线在开发初期就实现详尽的、结构化的日志。记录下每一轮循环中模型的输入、输出、工具调用详情和结果。当 Agent 行为诡异时这些日志是唯一的调试依据。可以参考各项目的12 - 日志记录机制。对用户保持透明让 Agent 在调用工具前清晰地告诉用户它“打算做什么”。在 Kimi CLI 中执行高风险命令前会有明确的确认提示。这种透明性能建立信任也让用户有机会纠正错误。性能与成本意识每次 LLM 调用和工具调用都有延迟和成本。在设计 Loop 时思考是否可以批量处理任务是否可以用更便宜的模型进行简单的校验上下文压缩不仅是为了技术可行性也直接关系到使用成本。6. 未来展望Code Agent 将走向何方通过对这七大项目源码的梳理我们能清晰地看到一些共同的演进趋势这些趋势或许指明了下一代 Code Agent 的方向。趋势一从“通用”到“专家”早期的 Agent 试图成为一个万事通。但现在像 SWE-agent 这样专注于“软件工程任务”的垂直化 Agent 表现更出色。未来的 Agent 生态可能会由许多高度专业化的“专家 Agent”组成通过 ACP 之类的协议协同工作。趋势二状态管理成为核心竞争力Kimi CLI 的 Checkpoint 机制揭示了一个事实对于复杂的创造性或调试任务可逆性和可重现性至关重要。未来的 Agent 可能需要像 Git 一样管理自己的“思维状态”允许用户自由地分支、合并和回滚。趋势三与开发环境深度集成目前大多数 CLI Agent 还是独立运行。但未来的方向是与 IDE如 VS Code深度集成能够直接理解项目结构、依赖关系、调试信息甚至实时感知开发者的编辑意图提供上下文感知度极高的辅助。趋势四更强的自主规划与验证能力当前的 Agent 很大程度上依赖于人类提供的清晰指令和逐步反馈。下一步是赋予它们更强的自主规划能力能够将模糊的需求拆解成可执行的子任务并且在执行后能调用测试、静态分析等工具来自我验证结果真正实现闭环。研究这些开源项目的源码最大的收获不是学会了某个具体的 API 调用而是建立起一种“架构直觉”。当下次遇到一个 Agent 行为异常时你脑子里会立刻浮现出可能出问题的环节是内存上下文被污染了是工具调用陷入了死循环还是安全沙箱拦截了关键操作这种从底层理解系统运作方式的能力才是你从“使用者”变为“创造者”的关键一步。这份agent-base的文档集就是为你打开这扇门的钥匙。剩下的就是动手去搭建、去试错、去创造属于你自己的智能体了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2590195.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…