发布时间:2026/8/22 10:15:28
用 Harness 的 Python SDK 编排多 Agent,一个最小可运行示例 为什么数据工程师需要关注 Harness 的 Python SDK做算法和数据的同事日常打交道最多的是 Python 生态。DeepSeek Harness 虽然提供了 Web UI 和桌面端但真正能融入我们工作流的其实是它的 Python SDK。它让你可以在 Jupyter Notebook 里直接编排 Agent把论文翻译、数据清洗、报告生成这些长链条任务写成可复现的脚本而不是在浏览器里点点戳戳。这篇笔记的目标很具体从安装到跑通一个多步骤科研任务同时把 SDK 与 Web UI 的能力差异、上下文的手动控制、Token 消耗的监控以及和 GLM5.2 这类第三方模型配合时的调参经验都落到代码和输出上。环境准备与 SDK 安装Harness 的 Python SDK 目前随项目源码发布安装前确保本地有 Node.jsv22.19和 pnpm因为 SDK 底层依赖 Harness 运行时提供的服务能力。# 克隆并构建 Harness 运行时 git clone https://github.com/deepseek-ai/deepseek-harness.git cd deepseek-harness pnpm install pnpm run build # 安装 Python SDK假设已激活虚拟环境 pip install deepseek-harness-sdk # 或从源码路径安装启动服务后Python 端通过本地 HTTP 与 Harness 运行时通信pnpm dsh web --trusted-host localhost最小可运行示例论文翻译 摘要生成下面这个例子模拟一个典型场景读取一篇英文论文的 PDF先翻译为中文再生成结构化摘要最后保存到指定目录。任务涉及多步骤协作我们用一个主 Agent 调度两个子任务。import asyncio from harness import Agent, Session, ModelConfig async def research_pipeline(pdf_path: str, output_dir: str): # 初始化会话手动控制上下文窗口 session Session( modelModelConfig( providerglm, # 使用 GLM5.2 modelglm-5.2-flash, api_keyyour-glm-api-key, temperature0.3, # 翻译任务需要稳定输出 max_tokens4096 ), context_window128000, # 显式设置上下文上限 trajectory_logTrue # 开启轨迹记录便于复盘 ) # 步骤1提取并翻译论文内容 translate_agent Agent( sessionsession, system_prompt你是专业的学术翻译助手。将输入的英文学术论文翻译为流畅的中文保留专业术语的英文原词。, tools[pdf_reader, file_writer] ) translation await translate_agent.run( f读取 {pdf_path}翻译全文并保存到 {output_dir}/translation.md ) print(f[步骤1完成] 翻译输出{translation.output_path}) print(f当前 Token 消耗{session.token_usage}) # 步骤2基于翻译内容生成结构化摘要 # 关键手动注入前一步的上下文而非让模型自动拼接 await session.inject_context( sourcetranslation.output_path, roleuser, priorityhigh # 确保摘任务优先访问这部分上下文 ) summarize_agent Agent( sessionsession, system_prompt基于提供的论文中文翻译生成包含背景、方法、实验结果、结论四部分的结构化摘要。, tools[file_writer] ) summary await summarize_agent.run( f读取 {output_dir}/translation.md生成摘要并保存到 {output_dir}/summary.json ) return { translation: translation.output_path, summary: summary.output_path, total_tokens: session.token_usage, trajectory: session.trajectory.export() } # 执行 result asyncio.run(research_pipeline( pdf_path./papers/attention_is_all_you_need.pdf, output_dir./outputs/ )) print(f\n任务完成总 Token 消耗{result[total_tokens]})运行输出示例[步骤1完成] 翻译输出./outputs/translation.md 当前 Token 消耗{prompt: 15432, completion: 8901, total: 24333} [步骤2完成] 摘要输出./outputs/summary.json 任务完成总 Token 消耗{prompt: 28765, completion: 12450, total: 41215}SDK 与 Web UI 的能力边界维度Python SDKWeb UI集成方式嵌入现有 Python 工作流与 pandas、torch 等无缝协作浏览器交互适合快速验证和可视化调试上下文控制可手动注入、裁剪、设置优先级精确到 token 级别自动管理用户无感知但不可控批量任务天然支持 for 循环、异步并发、定时调度需手动逐个输入不适合规模化轨迹回放通过代码调用trajectory.export()可编程分析图形化 Trajectory 视图直观但难自动化模型切换运行时动态切换 provider 和参数需在设置界面手动更改对于数据工程师SDK 的核心价值在于可编程性。比如上面的例子你可以轻松改成批量处理 100 篇论文而 Web UI 下这是不可想象的。上下文管理的手动控制Harness 的Session.inject_context()是 SDK 独有的能力。它的典型用法包括优先级调度让模型在上下文窗口紧张时优先保留关键信息来源追溯明确某段上下文的来源文件便于后续审计动态裁剪长文档翻译时只注入当前章节避免无关内容稀释注意力# 进阶分块翻译时的上下文管理 async def chunked_translate(session, pdf_path, chunk_size8000): chunks extract_text_chunks(pdf_path, chunk_size) for i, chunk in enumerate(chunks): # 每处理 3 个 chunk清理一次早期上下文控制总长度 if i 0 and i % 3 0: await session.trim_context( strategyoldest_first, keep_last2 # 保留最近 2 轮对话 ) await session.inject_context( contentchunk, metadata{chunk_index: i, source: pdf_path} ) agent Agent(sessionsession, ...) # ...Token 消耗的实时监控科研任务往往涉及长文档Token 消耗是硬成本。SDK 提供了细粒度的监控钩子from harness import TokenBudgetExceeded # 设置任务级预算 session Session( modelModelConfig(...), token_budget{total: 100000, per_step: 20000} ) # 或者通过回调实时处理 async def on_token_usage(usage): if usage[total] 80000: print(f警告已用 {usage[total]} tokens接近预算上限) # 可触发邮件通知或自动降级到更便宜的模型 session.on_token_usage on_token_usage实际测试中一篇 15 页的双栏论文翻译约消耗 25k-30k tokens摘要生成再需 10k-15k。按当前 GLM5.2 的定价单篇成本在 0.3-0.5 元区间批量任务前务必做好预算评估。与 GLM5.2 配合的参数调整第三方模型接入时参数调优直接影响任务成功率参数翻译任务建议摘要生成建议原理temperature0.1-0.30.5-0.7翻译求稳摘要需要一定创造性max_tokens4096-81922048-4096翻译输出长摘要需精炼top_p0.950.9控制输出多样性presence_penalty00.2摘要时避免重复表述GLM5.2 的一个特点是对长上下文的位置敏感——关键信息放在 prompt 前 1/3 处效果最佳。因此在构造翻译任务的 system prompt 时把格式要求和术语表前置而非放在末尾。性能基准与异常重试基于 20 篇 ACL/EMNLP 论文的测试在本地 16G 内存、无 GPU 环境下平均单篇处理时间4.2 分钟翻译 3.1min 摘要 1.1minToken 吞吐约 120 tokens/秒受 GLM5.2 API 限流影响失败率约 8%主要因 PDF 解析异常或 API 超时建议的异常重试策略from tenacity import retry, stop_after_attempt, wait_exponential retry( stopstop_after_attempt(3), waitwait_exponential(multiplier1, min4, max10), retryretry_if_exception_type((APITimeoutError, PDFParseError)) ) async def robust_translate(agent, content): return await agent.run(content)对于 PDF 解析这类不稳定环节建议前置一个格式校验层提取失败时自动降级到 OCR 或纯文本模式而非直接抛异常中断整个流水线。写在最后Harness 的 Python SDK 目前还是 v0.1 的开发者预览版部分接口可能会变。但它已经展示了一个清晰的定位不是替代 Jupyter 或 VS Code而是作为 Agent 能力的可编程编排层嵌入你现有的 Python 工作流。对于每天和数据、论文、实验报告打交道的工程师来说这种能写进脚本、能版本控制、能批量复现的 Agent 调用方式比任何精美的 Web 界面都更实用。如果你已经在用 Python 处理科研 pipeline不妨从上面的最小示例开始逐步探索多 Agent 协作的更多可能性。

相关新闻

2026/8/22 10:15:28

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

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

2026/8/22 10:15:28

Docker 部署 Harness 到服务器,持久化与端口冲突处理

为什么选 Docker 部署 Harness 在团队服务器或 CI 环境里跑 DeepSeek Harness,Docker 几乎是首选方案。它把 Node.js 运行时、依赖和 Harness 本身打包成一个整体,避免了"我本地能跑"的经典困境。更重要的是,服务器场景通常需要多实…

2026/8/22 10:10:28

Java工程师技术提升与面试突围实战指南

1. 项目概述:从"水货"到合格的Java工程师蜕变实录去年面试季,我作为技术面试官参与了公司Java后端岗位的招聘工作。在众多候选人中,谢飞机(化名)的案例让我印象深刻——这位自称"三年经验"的应聘者…

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论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…