Show HN: 上下文工程的完整参考实现

Hacker News Top 工具

摘要

上下文工程的完整参考实现——这是一门设计、检索和向 AI 系统注入组织上下文的学科,用于生成准确的、特定领域的输出。该仓库展示了五个组件(语料库、检索、注入、输出、执行)与 Amazon Bedrock 和 Claude 的整合。

我一直在当地聚会上演讲关于上下文工程、RAG、技能等主题。我甚至在 LinkedIn 上有一场即将举行的 vbrownbag 分享关于这个话题,所以我决定创建一个基于 Bedrock 的基础示例,这样我可以在演讲或 vbrownbag 中使用它。希望这对大家有所帮助。
查看原文 导出为 Word 导出为 PDF
查看缓存全文

缓存时间: 2026/04/20 14:43

outcomeops/context-engineering

来源:https://github.com/outcomeops/context-engineering

上下文工程

上下文工程的一个实际参考实现——该学科涉及设计、检索和注入 AI 系统生成准确的、特定于组织的输出所需的信息。

本仓库是 What Is Context Engineering? (https://www.outcomeops.ai/context-engineering) 的代码配套,文章在 outcomeops.ai 上。词汇表定义了概念,本仓库展示了它们针对 Amazon Bedrock 上真实语料库的端到端运行。

上下文工程将上下文视为一流的工程制品——版本控制、可检索、可强制执行——而不是输入到聊天窗口的提示。


五个组件

上下文工程系统有五个组件。每个文件夹针对相同的运行示例(一个带有 ADR 的 Spring PetClinic 代码库)实现一个:

#组件功能文件夹
1语料库定义你如何思考、构建和决策的组织材料01-corpus/
2检索识别语料库中哪些部分与给定请求相关02-retrieval/
3注入在决策时将检索到的上下文注入模型的工作内存03-injection/
4输出产生由该上下文塑造的可审查制品(代码、PR、文档)04-output/
5强制执行确保生成的输出确实反映了检索到的上下文05-enforcement/

加上 comparisons/ — 同一任务使用和不使用上下文工程的对比,以及 CE 与 RAG、Copilot 和代理框架的区别。

仅包含组件 1–3 的系统是 RAG 系统。输出和强制执行层是 CE 的不同之处——它们使生成的内容可审查且可治理。


运行示例

所有示例使用 Amazon Bedrock 和 Claude。每个文件夹都有自己的 requirements.txtREADME.md,包含可运行命令。

前置条件:

  • Python 3.11+
  • 配置了凭证的 AWS 账户(aws configure 或环境变量)
  • 支持 Claude 和 Titan 的 AWS 区域(如 us-east-1us-west-2

本仓库使用 Anthropic Claude 进行生成,使用 Amazon Titan 进行嵌入。Titan 和大多数 Bedrock 基础模型在首次调用时自动启用 — 无需任何操作。

Anthropic Claude 需要每个 AWS 账户填写一次首次使用 (FTU) 表单。 如果你的账户从未在 Bedrock 上使用过 Anthropic 模型,第一次脚本运行将失败并显示 AccessDeniedException。要修复:

  1. 在 Bedrock 模型目录中打开任何 Anthropic Claude 模型 (https://console.aws.amazon.com/bedrock/home#/model-catalog)
  2. 填写首次使用表单(公司、用例——约一分钟)
  3. 提交 — 访问权限立即获得,无需审核队列

如果你在 AWS 组织子账户中,必须从管理账户提交表单才能继承访问权限。

快速开始:

git clone https://github.com/outcomeops/context-engineering.git
cd context-engineering/01-corpus
pip install -r requirements.txt
python ingest_adrs.py ./sample-adrs

如果要覆盖默认值,可通过环境变量设置模型:

export BEDROCK_MODEL_ID="us.anthropic.claude-sonnet-4-5-20250929-v1:0"
export AWS_REGION="us-east-1"

为什么有这个仓库

大多数 AI 编码助手生成通用输出。使用通用助手的工程师仍然必须将输出调整为本地模式——助手不知道你的团队上季度做了什么决策、你的合规框架要求什么,或者你为什么选择了某个库而不是另一个。

上下文工程系统生成的输出已经符合本地模式,因为检索层在决策时已经向模型提供了相关的 ADR、代码和标准。强制执行层确保输出确实引用了它所依赖的内容。

这个仓库的存在是为了在代码中展示这种模式的端到端运行,所以团队可以自己构建它或评估声称可以做到这一点的商业工具。


上下文工程改变组织,而不仅仅是代码

五组件模型是技术框架。真正一致部署它的团队发现更难的转变是组织方面的。传统软件组织中的角色、KPI 和决策权是在 AI 无法读取语料库的世界中形成的。一旦它能做到,该结构的中间层开始看起来不同——而上面的仓库首先有用是因为那些变化。

  • 结果工程师的崛起 (https://www.outcomeops.ai/blogs/the-rise-of-the-outcome-engineer) — 新兴角色
  • 拥有成果的工程师 (https://www.outcomeops.ai/blogs/engineers-who-own-the-outcome) — 运营模式
  • OutcomeOps 和上下文工程:DevOps 之后的下一个企业演进 (https://www.outcomeops.ai/blogs/outcomeops-and-context-engineering-the-next-corporate-evolution-beyond-devops) — DevOps 之后的发展
  • 传统产品负责人的死亡 (https://www.outcomeops.ai/blogs/death-of-the-traditional-product-owner) — 产品侧角色转变
  • 衡量真正重要的东西 (https://www.outcomeops.ai/blogs/measurng-what-actually-matters) — KPI 转变

进一步阅读

关于上下文工程作为一门学科的基础文章、参考指南和实践者撰写的文章:

  • AI 代理的有效上下文工程 (https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents) (Anthropic, 2025 年 9 月) — 策划和限制代理看到的内容
  • 上下文工程的崛起 (https://blog.langchain.com/the-rise-of-context-engineering/) (LangChain, 2025 年 6 月) — 使该术语广泛使用的文章
  • 代理的上下文工程 (https://blog.langchain.com/context-engineering-for-agents/) (LangChain, 2025 年 7 月) — 写/选择/压缩/隔离框架
  • 上下文工程:为提示带来工程纪律 (https://addyo.substack.com/p/context-engineering-bringing-engineering) (Addy Osmani, 2025 年 7 月) — 工程纪律框架
  • 上下文工程指南 (https://www.promptingguide.ai/guides/context-engineering-guide) (PromptingGuide.ai) — 参考条目
  • 记录架构决策 (https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions) (Michael Nygard, 2011) — 原始 ADR 文章;本仓库全程使用的格式
  • OutcomeOps 和上下文工程:DevOps 之后的下一个企业演进 (https://www.outcomeops.ai/blogs/outcomeops-and-context-engineering-the-next-corporate-evolution-beyond-devops) (OutcomeOps) — 本仓库背后的组织论文
  • OutcomeOps:自文档化架构 — 当代码变成可查询的 (https://www.outcomeops.ai/blogs/outcomeops-self-documenting-architecture-when-code-becomes-queryable) (OutcomeOps) — ADR 语料库如何随代码演进而复合
  • 知识的真实成本:为什么大多数 AI 工程平台过度设计 RAG (https://www.outcomeops.ai/blogs/the-real-cost-of-knowledge-why-most-ai-engineering-platforms-over-engineer-rag) (OutcomeOps) — 反对过早的检索基础设施
  • AI 辅助开发在两年内实际看起来的样子 (https://www.outcomeops.ai/blogs/what-ai-assisted-development-actually-looks-like-in-two-years) (OutcomeOps) — 工作开发者的视角

配套仓库

  • bonigarcia/context-engineering (https://github.com/bonigarcia/context-engineering) — 来自 Boni García 的书籍配套;按章节组织,包含多语言示例
  • davidkimai/Context-Engineering (https://github.com/davidkimai/Context-Engineering) — 概念、模式和技术
  • Meirtz/Awesome-Context-Engineering (https://github.com/Meirtz/Awesome-Context-Engineering) — 精选的论文、工具和文章列表
  • joelparkerhenderson/architecture-decision-record (https://github.com/joelparkerhenderson/architecture-decision-record) — 决定性的 ADR 资源列表

按组件深入探讨

每个文件夹的 README 都有自己的策划阅读列表;快速索引:

  • 语料库 — 见 01-corpus/ — ADR 格式、语料库引导、自文档化架构
  • 检索 — 见 02-retrieval/ — FAISS、“Lost in the Middle”、检索经济学
  • 注入 — 见 03-injection/ — 提示结构、令牌预算、推理成本
  • 输出 — 见 04-output/ — JSON Schema、Bedrock 工具使用、结果工程师
  • 强制执行 — 见 05-enforcement/ — LLM 作为判断者研究、PR 作为护栏
  • 比较 — 见 comparisons/ — CE 与 RAG 与代理与企业搜索

关于

由 OutcomeOps (https://www.outcomeops.ai) 的 Brian Carpio 构建。欢迎通过 issue 和 PR 提出问题、更正或贡献。

许可

MIT — 见 LICENSE

相似文章

AI智能体的有效上下文工程

Anthropic Engineering

Anthropic发布指南,将上下文工程定义为提示工程的演进,侧重于为AI智能体筛选最优上下文token,以在多轮推理过程中保持性能和专注度。

Agent Context

Product Hunt

Agent Context 是一款开发者工具,可让用户将参考项目附加到 AI 编程助手。

zilliztech/claude-context

GitHub Trending (daily)

Zilliz 开源 Claude Context,一款为 Claude Code 等 AI 编程助手增加语义代码搜索的 MCP 插件,通过向量搜索低成本地把整个代码库变成深度上下文。