
DeepCode:灵活的AI编程智能体
译者 | 陈峻
审校 | 重楼
你是否想象过这样的场景:自己刚刚阅读了一篇介绍顶尖算法的精彩研究论文,但需要花费数周的时间在无聊编程开发上,才能将其实现。或者你可能已经想到了一个出色的 Web 应用,却苦于没有编写其所需的前端代码的技能。你一定想有一个平台来自动完成此类任务。DeepCode 便是这样的平台。它并非日常编程的辅助工具,而是一个从零开始为你创建项目的开源AI平台。
什么是 DeepCode?
由香港大学数据智能实验室构建的DeepCode,是一个功能齐全的多智能体系统。用户无需编写任何代码即可通过输入学术论文,以获得程序代码的输出;或者用简单的英语表达,创建漂亮的 Web 界面,进而让其根据极简的描述来构建后端代码片段。
从本质上讲,DeepCode 是一个拥有了由“高级开发人员+研究科学家+系统架构师”组成的AI 开发团队的智能平台。该系统使用多个专业的AI智能体,通过协同工作,来理解倾听用户的需求,进而生成完整的工作代码。
来源:DeepCode(https://github.com/HKUDS/DeepCode)
此外,DeepCode 的另一优势是多模态结构。无论你“喂”给它学术著作、自然语言描述、还是URL,它都能予以解析和解释,并生成相应的代码。例如,它可以并行调用如下三大类用例的处理任务:
- Paper2Code:将研究论文和算法转化为可落地的实现
- Text2Web:从文本描述构建前端 Web 应用
- Text2Backend:根据需求创建服务器端应用和 API
DeepCode不但完全开源,而且同时具有 CLI 和 Web 界面,因此用户可以可视化或命令行界面两种方式来运行。下面我们来讨论这三个用例的主要特点:
1. Paper2Code:从研究到现实
Paper2Code 通过先进的文档解析,实现了从学术文档中推导出算法逻辑和数学模型。该系统的特别之处在于:它不会立即编写代码的组合片段,而是通过逐步学习概念,进而创建具有相同计算复杂性特征的优化实现。其具体能力体现在:
- 能够处理包含复杂数学表示的多模态文档
- 保持原始算法的效率和正确性
- 按照最佳实践适当地生成数据结构
- 生成适当的测试套件,以验证实现是否充分
2. Text2Web:从简单的英语到漂亮的界面
构建整个网站可能既耗时又耗力,尤其是 Web 项目的前端。而 DeepCode 的 Text2Web 解决方案可以通过简单的英语描述,来构建 Web 界面,进而协助消除了前端开发的障碍。该系统不但了解现代化 Web 开发的模式,而且可以通过以下示例来实现功能接口与响应:
- HTML、CSS 和 JavaScript 中的响应式设计
- 交互埋点和用户体验流
- 根据时尚设计,呈现最佳视觉实践
此外,它不仅能生成静态模型,而且提供可以部署的工作交互式 Web 应用。
3. Text2Backend:使服务器端变得简单
后端开发往往需要在考虑架构、数据库、API 和可扩展性等方面做出诸多决策。DeepCode 的 Text2Backend 却能够将你编写的高级需求,转换为完整的服务器端解决方案。目前,该系统擅长的方面包括:
- 设计可扩展的架构模式
- 设置数据库的各种模式和关系
- 创建具有最佳错误处理实践的 RESTful API
- 实现身份验证和安全性
- 生成对应的文档
Source: Allaboutartificial(https://allaboutartificial.com/deepcode-multi-agent-platform/)
DeepCode的多智能体架构
DeepCode平台由七个不同职能的智能体组成:
1. 中央编排智能体或称项目管理:该智能体负责整个项目的协调。它会就项目工作流的执行做出高级决策,并根据项目的复杂性、及其组件任务,按需分配项目资源。
2. 意图理解智能体:该智能体的任务是对用户的需求进行深入的语义分析。它非常善于解决晦涩的人类交流,并将其转换为清晰可执行的开发规范。
3. 文档解析智能体:该智能体专门处理技术文件和研究论文。它可以解析学术论文,提取其中各种算法和方法,以定义实施的规范。
4. 代码规划智能体:该智能体致力于技术栈的架构设计和优化。它在代码中维护着编程标准,并可以通过自动选择数字化设计模式,来开发用于 PML 实现的模块化结构。
5. 挖掘代码引用智能体:该智能体旨在使用智能搜索算法,查找各种兼容的存储库和框架。同时,它能够分析代码库以确定组织级别的兼容性,进而根据统计指标提供建议。
6. 代码索引智能体:该智能体能够创建其发现的代码库的综合知识图谱,并维护代码库中各个组件之间的语义链接,以保留相关技术规范的表示,从而提供智能的检索能力。
7. 代码生成智能体:为了将所有已发现的内容落实到完整的过程代码中,该智能体采用组件功能规范,来创建用于实现的代码文件,并组装整体实现组件,以创建相关的测试套件。
来源:DeepCode(https://github.com/HKUDS/DeepCode)
DeepCode 的核心技术
DeepCode 利用模型上下文协议 (MCP) 作为连接工具和服务的标准协议。其标准化允许各个 AI 智能体能够可靠地与外部系统进行通信,并通过接口来实现自动化。目前,DeepCode 具有多个不同职能的 MCP 服务器:
- Brave Search:用于实时信息检索
- 文件系统操作:用于本地文件与目录的访问和导航
- GitHub:用于克隆存储库和访问 GitHub 代码
- 文档处理:用于将 PDF 和 DOCX 文件导出为 Markdown
- 代码执行:用于测试和验证 Python
此外,该系统还利用抽象语法树 (AST,Abstract Syntax Tree) 分析来确定代码的正确性,并执行用于测试覆盖率的属性测试。这样确保了系统生成的代码不仅在语法上的正确性,而且在功能上也不会存在缺陷。
DeepCode 入门
你可以采用直接安装和 API 密钥配置两种方法,来使用DeepCode。
第 1 步:直接安装(推荐)
请使用以下命令来安装对应的套件包:
pip install deepcode-hku
并使用以下方法来下载对应的配置文件:
curl -O https://raw.githubusercontent.com/HKUDS/DeepCode/main/mcp_agent.config.yaml
curl -O https://raw.githubusercontent.com/HKUDS/DeepCode/main/mcp_agent.secrets.yaml
第 2 步:API 密钥配置
DeepCode 也可使用 API 密钥来实现其 AI 与搜索功能。不过,你需要使用自己的值编辑mcp_agent.secrets.yaml,例如:
- 为 GPT 模型使用 OpenAI (api_key和 base_url)
- 为Claude 模型使用 Anthropic (api_key)
- 为网络搜索使用 Brave Search(虽可选,但最好配置上)
上述配置不限于为最终端点提供各种官方的 API,你也可以配置为使用现有的、与 OpenAI 兼容的端点。完成配置后,你可以通过 Web 界面(建议初学者使用)或 CLI 界面来访问DeepCode。其中,CLI 提供了更多的控制,非常适合 CI/CD 的集成。
使用 DeepCode 进行项目演练
1.Paper2Code – 从研究到实现
输入:请上传机器学习类研究文章 (PDF格式)
流程:
- 数学方程和算法的自动解析
- 架构规划和代码结构设计
- 整体实现的生成和测试
输出:生产Python代码、单元测试、文档
所需时间:10分钟(而非手动的40多个小时)
2.Text2Web的深度代码——从创意到Web应用
输入:“用交互式图表和黑暗模式构建一个营销仪表板。”
流程:
- 需求分析和UI/UX规划
- 响应式和可访问的实现
- 交互式功能和动画
输出:具有现代感的功能性web应用
所需时间:5分钟(而非传统的几天开发用时)
3.Text2Backend–对API的描述
输入:“为带有身份验证的任务管理构建REST API”
流程:
- 数据库模式和API端点设计
- 实施安全和身份验证
- Docker配置和部署
输出:带有文档的企业级后端
所用时间:8 分钟(而非数周的后端开发用时)
DeepCode的优劣势
优势 | 劣势 |
节省时间:能够将数周的开发或40多小时的研究时间减少到几分钟。 | API 依赖性:持续成本投入、中断风险、数据泄露和互联网依赖。 |
高质量的一致性:生成具有错误处理、配套文档和测试的结构化可读代码。 | 学习曲线:设置、调试多智能体的各种工作流可能会让新手不知所措。 |
民主化开发:为非技术研究人员提供支持,帮助初级人员学习,让小团队能构建复杂的系统。 | 生成式代码限制:需要定制与审查极端情况和按需进行性能调整。 |
多域智能:可借鉴各项研究、行业最佳实践、支持多种语言和优化技术。 | 上下文和规模限制:对超大项目、论文或领域深度研究有token限制。 |
开源优势:提供社区驱动的功能、路线图、模板、教程和可扩展性。 | 外部服务依赖:可能有更多的故障点、版本不匹配、延迟和配置开销。 |
小结
DeepCode 是迈向自动化代码生成方向的一大步。它不仅仅是一个AI编程助手,也为从研究到部署的整个软件开发生命周期提供了完备的生态系统。同时,它将 Paper2Code、Text2Web 和 Text2Backend 放在一个平台上,使用问题解决式(problem-solving)的多智能体增强了AI系统协同,以及解决复杂问题的能力。
虽然DeepCode 能够为人类开发者提供大量支持工具,但不太可能完全取代他们。AI生成代码只是一个很好的开端,而人工监督、调整、定制和相关领域知识对于创建生产系统也是至关重要。目前,具有巨大潜力的 DeepCode 虽然还很“年轻”,但是随着新的 AI 模型的不断改进、多智能体架构的完善,我们预计它在接下来的几个版本中,会有功能上的更大飞跃。
译者介绍
陈峻(Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验。
原文标题:DeepCode: This FREE Agentic AI Coder is INSANE!,作者:Riya Bansal
