作者:Sravan Jayanthi

作者:Sravan Jayanthi、Mark Snidal @ Connectly AI
隆重介绍 Yellhorn,一款开源 MCP,能为 AI 编程智能体带来真正达到软件工程师水准的规划与记忆能力!它接入你的 GitHub 仓库,并利用 GitHub issue 来编排大型、多部分的改动。当任务定义不清晰时,编程智能体很容易迷失方向,也难以扩展到大型软件项目。 Yellhorn 通过将 GitHub issue 用作"规划板"(整理正确的上下文、拆解步骤、标出检查点),强制引入严谨的软件设计结构,让智能体一次就能命中目标!
仓库地址:https://github.com/msnidal/yellhorn-mcp
Model Context Protocol(模型上下文协议)以标准化的格式为 AI 模型提供上下文,使智能体能够从一系列工具中进行选择,与外部世界交互。典型例子包括:在 Cursor 中使用图像生成 MCP 服务器生成图片、让非专业人士在 Claude Desktop 中通过PostgreSQL MCP 服务器执行数据库命令,当然还有借助Yellhorn MCP把规范驱动开发带入你的编程 IDE!
规范驱动开发是指将编程功能的实现建立在完整设计规范的上下文之上。它提供严谨的成功标准,指引工程师顺利完成实现。
在高能力编程智能体的当下,这一理念正获得越来越多的关注,例如Kiro 的规范驱动开发,它会在编程过程中分别写出需求、设计和任务列表这几份独立的 Markdown 文件。Claude SPARC 则是另一套自主编程系统,将 Claude Code CLI 与 SPARC 方法论(Specification、Pseudocode、Architecture、Refinement、Completion)结合在一起。
Yellhorn,这款"创建-整理-评判"(Create-Curate-Judge)MCP 工具,会直接在 GitHub issue 上构建高质量的、了解整个代码库的设计规范——这是一个结构化且可解读的规划板,编程智能体可以从中梳理需求、技术架构以及实现的验收标准。

Yellhorn MCP 生成的工作计划示例
代码是高度分层的,内含大量隐性依赖,尤其是在不同平台上使用的库和包的不同版本之间。LLM 编程智能体的视野非常有限,往往写出的代码与代码库中所需的库版本不匹配。Yellhorn 对整个代码库的理解,加上对现有技术栈的额外了解,使它能够基于正确的上游依赖,对你的代码库做出量身定制的改动。
Yellhorn 的核心价值在于能够智能地对接 GitHub 上的工作计划,克服编程智能体的上下文窗口限制,让它读取所需的一切内容并提炼出最重要的信息加以使用。我们发现它在大型代码库中最为实用,尤其是在企业环境中,那些文件和依赖实在太多,无法整体作为上下文提供,也难以被代码生成智能体高效检索。
挑战: Connectly AI 需要为一家大型电商客户构建一个复杂的获客 AI 智能体。需求相当复杂:
地理智能:用于物流和合规的实时地理定位服务
工作流编排:14 种不同的客户旅程流程(引导、支持、销售、留存)
分析管道:自定义事件追踪、转化指标和性能仪表盘
使用 Yellhorn 的方法(创建 → 整理 → 评判)
整理:结合 .gitignore、.yellhornignore 和 .yellhorncontext 过滤仓库,只提取相关模块及 SDK 版本。
创建:生成一个 GitHub 工作计划 issue,拆解为多个子 issue(按工作流划分),每个子 issue 都带有验收标准和测试钩子。
评判:每个子任务完成后,将实现与工作计划进行比对,标出不匹配的 SDK 版本以及缺失的分析事件。
没有 Yellhorn 时:此前的经验
我们团队在 6 个月前用传统的 AI 编程方式尝试过类似项目:
时间线:4 周以上的来回迭代
问题:API 集成不一致、版本冲突、错误处理缺失
技术债:初步实现后 40% 的代码需要重构
上下文丢失:编程智能体"忘记"了此前的架构决策,导致模式不一致
最终技术指标
最终代码库:23,247 行生产代码
架构:基于 47 个外部依赖(Google Maps、Tenacity、Redis 等)的 62 个核心模块
时间线:从最初的规范到可运行原型用了 4 天,达到生产就绪状态用了 8 天
{
"mcpServers": {
"yellhorn-mcp": {
"type": "stdio",
"command": "yellhorn-mcp",
"args": [],
"env": {
"GEMINI_API_KEY": "",
"YELLHORN_MCP_MODEL": "gemini-2.5-pro",
"REPO_PATH": ""
}
}
}
}
任务示例: 我想为拥有不同角色和权限的用户添加双重认证。我希望主认证提供方使用 Auth0,并用 OAuth2-prox 管理会话。
参考以下提示词与 Yellhorn 交互:
你的工程团队要如何采用 AI 编程最佳实践?