发布时间:2026/8/22 10:15:28
PTC 模式生成代码再执行,复杂任务自动化的一条完整链路 为什么需要 PTC 模式标准模式的 Agent 工作流大家都不陌生用户提需求模型拆解步骤然后一轮轮调用工具中间靠推理链串联。这种模式处理简单任务很顺手但遇到需要多轮工具协作、中间结果再加工的复杂场景时容易陷入工具调用碎片化的困境——每一步都要重新规划上下文膨胀快且模型对整体流程的把控力弱。PTCProgrammatic Tool Calling程序化工具调用模式的核心思路很直接让模型先写一段代码用代码来编排多轮工具调用。不是每一步都问模型接下来怎么办而是让模型一次性生成一个执行脚本Harness 按脚本调度工具、处理数据流。以生成一份数据分析报告为例这个任务天然适合 PTC要读取原始数据、清洗、统计、可视化、最后汇总成文步骤之间有明确的依赖关系中间结果需要传递。从自然语言到代码需求转化的完整链路假设我们抛给 Harness 这样一个需求分析我桌面 sales_data.csv 的销售趋势按季度汇总画出趋势图写份报告。在 PTC 模式下模型不会立即执行任何文件操作。它会先分析任务结构然后生成类似这样的代码# PTC 生成的编排代码示意 def analyze_sales(): # 1. 读取数据 data tool.read_file(path~/Desktop/sales_data.csv) # 2. 数据清洗与季度聚合 quarterly tool.run_python( import pandas as pd df pd.read_csv(data) df[date] pd.to_datetime(df[date]) return df.groupby(df[date].dt.to_period(Q))[amount].sum().to_dict() , input_datadata) # 3. 生成图表 chart tool.generate_chart( dataquarterly, typeline, titleQuarterly Sales Trend ) # 4. 撰写报告 report tool.llm_generate( promptfBased on quarterly data {quarterly}, write a sales analysis report, context{chart: chart} ) return {report: report, chart: chart, raw_data: quarterly}这段代码的关键在于声明式编排模型定义了做什么和数据怎么流但具体每个工具怎么实现、异常怎么处理由 Harness 的运行时保障。PTC 模式生成的不是最终业务代码而是工具调用图——一种更高层的抽象。多轮工具调用与异常处理上面的理想流程走通了但实际运行中异常不少见。比如 sales_data.csv 编码不对、某列名跟预期不符、或者 generate_chart 服务临时不可用。PTC 模式在这里的优势是异常可捕获、可重试、可降级。Harness 执行这段编排代码时会包装每个工具调用# Harness 运行时层面的伪代码 try: result tool_registry.execute(node, timeout30) except EncodingError as e: # PTC 生成的代码里可声明降级策略 result tool.run_python(fpd.read_csv(..., encodinglatin1)) except ServiceUnavailable: # 自动重试或切换备用实现 result retry_with_backoff(...)更关键的是当异常发生时Harness 的 Trajectory 机制会完整记录代码执行到哪一步、输入输出是什么、异常栈如何。这跟标准模式逐轮对话的日志不同PTC 的轨迹是一个程序执行轨迹你可以像调试普通代码一样设置断点、单步跟进甚至把生成的编排代码拖出来单独跑。实际调试中常见的一个循环是第一次生成的代码漏处理了空值运行报KeyError开发者查看 Trajectory 定位到具体行给模型反馈第 2 步需要加dropna()模型重新生成代码第二次通过。这个生成-执行-调试-修正的闭环PTC 模式比标准模式高效得多因为代码是结构化的错误定位是精确的不像标准模式那样需要在多轮对话记录里翻找。与标准模式的对比同一任务的不同表现为了更直观理解差异还是看回这个数据分析任务。维度标准模式PTC 模式执行粒度每步决策由模型实时推理一次性生成完整执行计划上下文消耗随轮次线性增长易膨胀生成阶段集中消耗执行阶段稳定异常恢复模型重新推理可能偏离原目标代码级 try/catch策略可预设可复现性低同需求可能走不同路径高相同代码输入输出确定人工介入点每轮工具调用后都可干预主要在代码生成和异常断点标准模式下如果第二步数据清洗发现格式问题模型可能会灵机一动换个思路比如跳过清洗直接画图结果报告质量不可控。PTC 模式下代码里写死了流程异常要么按预设策略处理要么明确抛出让用户决策——可控性是核心差异。当然代价也有PTC 对模型的代码生成能力要求更高生成的代码必须语法正确、工具 API 调用准确。Harness 在这里的解法是创造模式——你可以在内存里调试、修改插件甚至让模型基于现有模式生成新的变体。与 LangChain AgentExecutor 的设计哲学差异提到 Agent 编排很难不想到 LangChain 的 AgentExecutor。两者表面都解决模型工具的协作问题但设计哲学有本质不同。AgentExecutor 是模型驱动执行每一步都由模型的推理输出决定工具只是被动等待调用。它的核心循环是thought - action - observation - thought模型始终在场像一位边想边做的工匠。PTC 是代码驱动执行模型退到幕后只在写脚本这个环节出场。脚本一旦生成执行由 Harness 运行时接管模型不再参与中间步骤。这更像一位建筑师画好蓝图交给施工队按图作业。这个差异带来几个实际影响延迟敏感场景PTC 生成代码可能慢几秒但执行阶段无需等待模型推理整体吞吐更高成本敏感场景长任务中 PTC 的模型调用次数显著少于标准 Agent确定性要求金融、医疗等场景PTC 的可审计性更强因为做了什么以代码形式固化LangChain 近年也在推create_structured_chat_agent等偏规划的能力但底层仍是模型逐轮决策。PTC 模式相当于在 Agent 框架里嵌入了一个轻量级 DSL把控制流从模型手里拿回来。适合 PTC 模式的任务特征不是所有任务都值得上 PTC。根据 Harness 社区的实际反馈以下几类场景收益最明显步骤间有明确数据依赖的流水线。比如数据分析报告、CI/CD 流程编排、多源数据 ETL上游输出直接作为下游输入代码天然能表达这种依赖。异常处理策略可预定义。你知道什么错可能发生、该怎么处理比如网络超时重试、文件编码 fallback、API 限流降级。PTC 的代码结构让这些策略有处可放。需要可重复执行。同一份需求要跑多次、或要在不同环境复现代码比对话记录更容易版本管理和 diff。工具调用次数多、但决策逻辑不复杂。如果每步都要模型做复杂推理比如开放式研究、创意写作PTC 的优势发挥不出来反而增加生成代码的复杂度。反过来说探索性强、边界模糊的任务标准模式或创造模式更合适。Harness 提供四种模式切换的意义就在于此——没有银弹但要有趁手的工具。把链路跑通一个实用的启动配置如果你已经通过npx deepseek-ai/dsh web跑起了 Harness体验 PTC 模式只需在创建任务时选择模式。但更高效的做法是在项目里固化配置比如 package.json 里加脚本{ scripts: { dsh: npx deepseek-ai/dsh web --trusted-host localhost, ptc-task: dsh run --mode ptc --file tasks/sales_analysis.yaml } }结合 Harness 的 Python SDK还可以把 PTC 任务嵌入更大的自动化流程比如定时从对象存储拉取数据、触发分析、推送结果。Trajectory 的日志格式是结构化的也方便对接外部可观测平台。目前 v0.1 还是开发者预览版PTC 模式生成代码的稳定性有提升空间特别是遇到冷门工具或复杂数据类型时。但生成代码再执行这条链路本身已经让复杂任务的自动化从模型黑盒往可编程系统迈了一大步。

相关新闻

2026/8/22 10:15:28

Harness 工作区机制详解,AI 能碰哪些文件怎么限定

工作区:AI 操作的第一道边界 第一次打开 DeepSeek Harness 的 Web UI,你会在界面上方看到一个显眼的「选择工作区」按钮。这个看似简单的入口,实际上决定了后续 AI 能碰哪些文件、不能碰哪些文件。对于同时维护多个项目、或者担心 AI 误删误改…

2026/8/22 10:15:28

用 Harness 的 Python SDK 编排多 Agent,一个最小可运行示例

为什么数据工程师需要关注 Harness 的 Python SDK 做算法和数据的同事,日常打交道最多的是 Python 生态。DeepSeek Harness 虽然提供了 Web UI 和桌面端,但真正能融入我们工作流的,其实是它的 Python SDK。它让你可以在 Jupyter Notebook 里直…

2026/8/22 10:15:28

投机解码技术解析:用两个LLM实现高效NLP推理加速

在自然语言处理(NLP)领域,大语言模型(LLM)的生成速度一直是影响用户体验和应用部署的关键瓶颈。传统的自回归解码方式,即模型逐个预测下一个词元,虽然保证了生成质量,但其串行特性严…

2026/8/22 11:40:33

哔哩哔哩UWP客户端:Windows 上追番看视频的另一条路

哔哩哔哩UWP客户端:Windows 上追番看视频的另一条路 【免费下载链接】biliuwp bilibili uwp 项目地址: https://gitcode.com/gh_mirrors/bi/biliuwp 哔哩哔哩UWP客户端是一个用 C# 编写的 Windows 原生客户端,把视频播放、弹幕、首页信息流和搜索…

2026/8/22 11:40:33

Spark/Flink 的 Web UI 不能裸奔:多租户平台的鉴权反向代理设计

Spark UI 和 Flink Dashboard 是排障刚需——反压、checkpoint、数据倾斜,不看原生 UI 基本查不动。但这两个 UI 原生没有任何鉴权,而 K8s 上最常见的暴露方式是 per-job NodePort 或 Ingress 直通,等于把它们裸放在内网里: Flink 的 REST API 能直接提交 jar,裸暴露 远程代码…

2026/8/21 13:13:49

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/21 20:14:07

工业传感器与变送器详解:序章 从物理世界到工业数据

序章 从物理世界到工业数据 ——重新认识工业传感器与变送器 工业自动化系统正变得日益复杂。今天的工业现场早已不是简单的控制回路,而是由多层技术共同构成的立体体系:PLC、DCS、SCADA、MES、工业互联网、边缘计算与人工智能。控制系统可以执行复杂算法,工业网络可以实现…

2026/8/21 15:40:01

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/21 15:40:01

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/22 1:39:53

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…