公众号地址 欢迎关注 https://mp.weixin.qq.com/s/p1hnI3omEEp_OiMvoiegFQ
真实场景大概是这样:今天即兴 vibe 了一下午,撸出一个 MVP ;之后因为上下文长度受限,只能开新 session 接着做。新 session 里,模型对你之前的决策、边界、坑点一无所知,你只能一点点把“做过什么、为什么这么做、这次要改什么”重新喂进去。重复沟通、反复铺垫,效率直线下降。
后来大家发现:把上次的重要内容“总结/压缩”进文档,下次开发时直接 @ 引用,就能把上下文串起来。这个朴素做法,后来被称为“上下文工程”。之后很多方法( SPEC 、PRD 、BMAD 、工作流、角色分工)都是在它之上演进的外衣。
我们关心的目标只有一个:让交付“质量可控”,过程“人工干预极少”,最好能“无人化”。
我看到很多人花大量时间研究角色与工作流,结果是在换着方式做同一件事。思想不变:只用 PRD 也能产出可控的代码。更值得投入的是:如何保证整条交付链路质量可控,从需求到开发到测试到验收到上线的“少人干预,尽量无人化”。
定义:围绕一次开发/调用时需要的上下文,做获取、筛选、组织、压缩与治理的系统化方法,让输出可控、可复现。
为什么重要:模型能力接近时,谁的上下文更准、更干净、布局更好,谁的效果就稳定(更低幻觉、更高成功率、更低时延与成本)。
关键组成:
和 Prompt 工程的区别:Prompt 工程偏“写好指令与示例”;上下文工程覆盖“检索、布局、压缩、路由、评测与治理”的全链路,是更大的系统工程。
常见范式:
关键指标:任务成功率、可溯源性、幻觉率、引用命中率、延迟、成本、token 利用率、召回/覆盖 @k 。
落地清单(速用):
示意模板(简化):
# system
你是{角色}。必须遵守:{约束...}
# task
{用户意图/指令}
# tools (schema & results)
{可调用工具定义/最近一次调用结果}
# grounding (top-k)
{检索证据片段+来源}
# examples
{few-shot 边界对齐}
# output
请只输出符合此 JSON Schema 的结果:{schema}
PRD 要“轻但能用”,信息以可执行为准:
两道门槛:
流水线:确认 → 规格 → 实现 → 评审 → 测试 → 验收。评审只看:需求符合、集成可行、代码不作恶(安全/性能)、测试覆盖足够。未达标,退回。
复杂项目、多人协作时再引角色/并行流水线,用“各自的小上下文”减少污染与负担;别为了热闹而热闹。
口径先定:
规格到动作: SQL (迁移与回滚各一份):
ALTER TABLE invitations ADD COLUMN expires_at TIMESTAMP NULL;
-- 回滚:ALTER TABLE invitations DROP COLUMN expires_at;
验证函数:
// 首次使用时写 first_used_at ,过期返回标准错误
function validateInvitation(code: string): ValidationResult
API:
POST /invitations/validate
响应(过期):{ "error": "INVITATION_EXPIRED", "code": 4001 }
观测:
测试优先级:
CLAUDE.md(索引化),确保可 @ 引用到“短事实”;研究 PRD 、SPEC 、BMAD ,不是为了流程更精致,而是为了把“上下文”这件事做稳,最后得到“质量可控、人工干预极少、可走向无人化”的交付。先把上下文工程打牢,剩下的是自动化与规模化。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.