吃透这4个Agent高阶模式,彻底告别只会并行、流水线

P.S. 目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。

前言

很多人刚学会agent串联、并行、流水线这三板斧,就觉得自己能打全场了。

真到项目里滚两圈就会发现,翻来覆去能用的高级套路,其实就那四个。

今天把这四个压箱底的模式全拆解,带代码带思路,看完直接套。

1. 质量门模式:写完多维度审查再改

1.1 核心逻辑

你写篇文章、敲段代码,自己查永远查不出问题。

就像你写完PPT自己看,怎么看都逻辑满分,发给同事一秒钟就给你挑出三个错别字。

一个Agent从头查到尾,大概率是走个过场。

正确做法是拆成多个维度,每个维度派一个专门的Agent查,最后再由一个Agent综合意见修改。

1.2 核心代码
// 阶段1:写初稿
const draft = await agent(`写一篇关于${TOPIC}的文章`, { phase: '写初稿' })

// 阶段2:三个维度同时审查(haiku 够了,便宜)
const [tech, style, readability] = await parallel([
() => agent(查技术错误:\n${draft}, { label: '技术审查', model: 'haiku' }),
() => agent(AI味和套话:\n${draft}, { label: '风格审查', model: 'haiku' }),
() => agent(查可读性,站在新手角度:\n${draft}, { label: '可读性', model: 'haiku' }),
])

// 阶段3:一个 Agent 综合三条意见改
const final = await agent(
原文:\n${draft}\n\n技术意见:${tech}\n风格意见:${style}\n可读性意见:${readability}\n 技术错误必须改,风格问题必须改,可读性建议选择性采纳。,
{ phase: '综合修改' }
)
1.3 设计要点
  • 审查环节全并行,三个维度互不耽误,省时间
  • 审查用轻量模型就行,找问题不需要太强的推理能力,省钱
  • 最后综合修改必须用一个Agent,不然三条意见可能打架,总得有人拍板
  • 返回结果记得带上初稿和审查意见,方便对比改了啥

2. 批量生产模式:pipeline多受众各走各的

2.1 核心逻辑

做内容最痛苦的是什么?同一个主题,要给三拨人讲不同的版本。

给新手要讲人话、多举例子;给老开发要甩代码、讲细节;给老板要讲收益、算ROI。

以前你得自己写三版,写到手抽筋。

现在直接用流水线分流,每个受众各走各的流程,互不干扰。

2.2 核心代码
const audiences = [
  { name: '新手', prompt: '从零讲,多用类比' },
  { name: '有经验的开发者', prompt: '直接对比,给代码' },
  { name: '技术管理者', prompt: '讲效率和ROI,不贴代码' },
]

const results = await pipeline(
audiences,
// 阶段1:搜资料(管理者搜不同的内容)
(a) => agent(
a.name === '技术管理者'
? 搜索${TOPIC}的效率提升案例和数据
: 搜索${TOPIC}的教程和实战,
{ model: 'haiku' }
).then(materials => ({ a, materials })),

// 阶段2:列大纲
({ a, materials }) => agent(
面向${a.name}列大纲。${a.prompt}\n资料:${materials}
).then(outline => ({ a, outline })),

// 阶段3:写初稿
({ a, outline }) => agent(
面向${a.name}写初稿。${a.prompt}\n大纲:${outline}
).then(draft => ({ audience: a.name, draft })),
)
2.3 设计要点
  • 不用并行用流水线,因为每个受众都要走「搜资料→列大纲→写初稿」三步
  • 每一步都把受众信息打包传下去,别写到最后忘了是写给谁的
  • 受众越多,流水线的优势越明显,某一个环节卡住,不耽误其他分支

3. 审查验证模式:多维度查→去重→逐个对抗验证

3.1 核心逻辑

代码审查最招人恨的是什么?误报。

就像安检门滴滴滴响个不停,掏出来一看是个打火机,纯属浪费时间。

四个维度各扫一遍,先把重复的问题去掉,再每个问题派一个独立Agent去验证真假,确认是问题的才留下。

3.2 核心代码
// 阶段1:四维度并行审查(用 schema 直接拿结构化结果)
const DIMENSIONS = [
  { key: 'bugs', prompt: '查逻辑错误、await缺失' },
  { key: 'security', prompt: '查注入、敏感信息泄露' },
  { key: 'performance', prompt: '查不必要的串行、重复计算' },
  { key: 'style', prompt: '查命名、可简化代码' },
]

const FINDINGS_SCHEMA = {
type: 'object',
properties: {
findings: {
type: 'array',
items: {
type: 'object',
properties: { description: { type: 'string' } },
required: ['description'],
},
},
},
required: ['findings'],
}

const allFindings = await parallel(
DIMENSIONS.map(d => () =>
agent(审查 ${TARGET}。${d.prompt}, {
model: 'haiku',
schema: FINDINGS_SCHEMA,
}).then(result => result.findings.map(f => ({ ...f, dimension: d.key })))
)
)

// 去重:纯JS
const seen = new Set()
const unique = allFindings.flat().filter(f => {
const key = f.description.slice(0, 40)
if (seen.has(key)) return false
seen.add(key)
return true
})

// 阶段2:每个发现派一个Agent尝试反驳(pipeline,慢的不挡快的)
const verified = await pipeline(
unique,
(finding) => agent(
读 ${TARGET}。有人说这里有问题:"${finding.description}" 请验证。成立输出CONFIRMED,误报输出FALSE,不确定也算FALSE).then(verdict => verdict.startsWith('CONFIRMED') ? finding : null)
)

const realIssues = verified.filter(Boolean)
3.3 设计要点
  • 去重用原生JS就行,别啥事都丢给Agent,费钱还慢
  • 验证环节用流水线,一个问题验证慢,不耽误其他问题
  • 「不确定就算误报」是核心,宁可漏几个,也别乱报一堆,不然开发要跟你急
  • 必须逐条验证,别让Agent批量偷懒

4. loop-until-dry模式:不知道总量就循环到没有新发现

4.1 核心逻辑

有些活你根本不知道总量有多少。

比如找代码里的硬编码路径、找安全漏洞,就像找家里的蟑螂,你永远不知道藏了多少只。

找一次肯定漏,那就多轮找,每轮换个角度,连续两轮没发现新的,才算暂时告一段落。

4.2 核心代码
const STRATEGIES = [
  '用grep搜绝对路径模式',
  '检查配置文件里的硬编码路径',
  '检查Shell和JS脚本里的路径',
  '检查文档里的真实用户路径',
]

const allFound = new Set()
let dryRounds = 0
let round = 0

while (< 2) {
round++
const strategy = STRATEGIES[(round - 1) % STRATEGIES.length]
const found = await agent(
${strategy}。已知发现(别重复):\n${[...allFound].join('\n') || '无'},
{ model: 'haiku' }
)
const lines = found.split('\n').filter(l => l.match(//Users//))
const newOnes = lines.filter(l => !allFound.has(l))

if (newOnes.length === 0) {
dryRounds++
} else {
dryRounds = 0
newOnes.forEach(l => allFound.add(l))
}
}

return { total: allFound.size, items: [...allFound] }
4.3 设计要点
  • 连续两轮没新发现才停,防止某一轮刚好漏了
  • 每轮换一个搜索策略,换个角度找,减少盲区
  • 把已经发现的结果喂回去,防止重复劳动
  • 去重直接用Set,别折腾Agent

5. 怎么选模式

给大家总结成大白话,对着场景套就行:

  • 多个子任务互不依赖,结果要放一起用 → 选parallel并行
  • 多个东西走相同的多步流程 → 选pipeline流水线
  • 写完东西要多维度检查再改 → 质量门模式
  • 查出来的问题要验证真假 → 审查验证模式
  • 不知道总量,要反复排查 → loop-until-dry模式

这些模式不是死的,可以组合着用。比如审查验证里,就同时用了并行和流水线。

6. 最后划重点

  • 质量门:写 → 并行多维度查 → 单人综合改
  • 批量生产:流水线多受众分流,每步传参
  • 审查验证:并行查 → 原生去重 → 流水线逐条验证
  • loop-until-dry:循环+换策略+连续空轮则停

P.S. 目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值