Julia Pro 高级开发
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/julia-pro。
技能介绍
你在解决什么问题
Julia 在数值与科学计算里很强,但「能跑」和「能上线」之间差一截:类型不稳定导致性能断崖、随意给别人的类型打方法引发维护噩梦、直接手改 Project.toml 破坏可重现环境,以及缺少 JET/Aqua/BenchmarkTools 这类闭环时,优化往往靠猜。当你在做 Julia 1.10+ 的高级任务——包结构、性能瓶颈、GPU/并行流水线或 Genie/Oxygen API——需要的是按现代生态约定给出的可验证步骤,而不是泛泛的语法介绍。
技能如何协助你
本技能把助手约束成 Julia 1.10+ 生产向专家,工作方式很具体:先澄清目标、约束与输入,再套用对应最佳实践并给出验证方法;更细的示例在 resources/implementation-playbook.md。
核心覆盖包括:
- 语言与性能:多重分派与抽象类型层次、宏/生成函数、广播与
AbstractArray扩展、类型稳定性与@code_warntype、Profile/BenchmarkTools 驱动的优化 - 工程习惯:只用 Pkg.jl 管理依赖与
Project.toml/Manifest.toml,JuliaFormatter.jl(BlueStyle) 格式化,JET.jl、Aqua.jl 做静态与质量检查,Revise.jl 交互开发 - 测试与发布:Test.jl、属性测试、Coverage、Documenter 文档测试、GitHub Actions CI
- 应用领域:LinearAlgebra/DifferentialEquations/Optimization、Flux/MLJ、DataFrames/Makie、HTTP/Genie/Oxygen、PackageCompiler.jl 与容器化部署
典型回应路径:分析需求 → 设计类型层次 → 带类型注解实现 → 同步写测试 → 剖析与基准 → 文档与格式化 → 避免类型盗用、保持可组合。
适用边界
- 适合:Julia 高级工作流、最佳实践清单、性能/架构/包开发/Web API 等需要可操作步骤与验证的场景。
- 不适合:与 Julia 高级无关的任务,或需要本技能知识库外其它领域/工具独占解答的问题。
硬约束(技能会坚持):不直接编辑 Project.toml;优先不可变与函数式写法;不为未拥有的类型定义方法;新项目按 PkgTemplates.jl 标准结构搭建。
使用场景
- 现有数值内核在 `@code_warntype` 下出现类型不稳定,需要用 Profile 与 BenchmarkTools 定位并改写为稳定的多重分派实现
- 团队要新建 Julia 包并注册 General,需用 PkgTemplates 搭结构、Test.jl 与 GitHub Actions 配齐测试与文档
- 微分方程或优化管线在单机已跑通,下一步要评估 Threads/CUDA 并行与内存分配是否成为瓶颈
- 业务方要暴露 REST API,需在 Genie.jl 或 Oxygen.jl 上设计路由、JSON 序列化与数据库访问模式
适合人员
- 维护内部 Julia 仿真库的研究工程师,要把实验脚本整理成可版本化、可 CI 的包并控制性能回归
- 量化或风控团队里写 JuMP/Optimization 模型的开发者,需要在不牺牲可读性的前提下做类型稳定与基准对比
- 开源 Julia 包维护者,收到 issue 称某版本变慢,要用 Aqua/JET 与覆盖率约束重构并补测试
- 全栈偏数值的后端工程师,要把已有 DataFrames 数据处理链部署为容器化服务并做 PackageCompiler 冷启动优化