当前位置: 首页 > backend >正文

[论文阅读] 人工智能 + 软件工程 | 当AI成为文学研究员:Agentic DraCor如何用MCP解锁戏剧数据分析

当AI成为文学研究员:Agentic DraCor如何用MCP解锁戏剧数据分析

论文信息

  • 原标题:Agentic DraCor and the Art of Docstring Engineering: Evaluating MCP-empowered LLM Usage of the DraCor API
  • 主要作者:Peer Trilcke, Ingo Börner, Henny Sluyter-Gäthje, Daniil Skorinkin, Frank Fischer, Carsten Milling
  • 研究机构:1University of Potsdam, Germany;2Freie Universität Berlin, Germany
  • 引文格式(APA):Trilcke, P., Börner, I., Sluyter-Gäthje, H., Skorinkin, D., Fischer, F., & Milling, C. (2025). Agentic DraCor and the Art of Docstring Engineering: Evaluating MCP-empowered LLM Usage of the DraCor API. Preprint submitted to the 2nd Workshop on Computational Drama Analysis at DraCor Summit 2025, Berlin, Germany.

一段话总结

本文实现并评估了DraCor平台的Model Context Protocol(MCP)服务器,该服务器能让大型语言模型(LLM)自主调用DraCor的API工具进行戏剧数据分析。通过定性实验,研究团队评估了LLM在工具选择、使用正确性、效率和可靠性方面的表现,发现“Docstring Engineering”(文档字符串工程)——即通过精心设计工具文档优化LLM与工具的交互——至关重要。这项研究不仅展示了智能体AI在计算文学研究中的潜力,也为数字人文领域的可靠基础设施建设提供了方向。

在这里插入图片描述

思维导图(核心架构)

在这里插入图片描述

研究背景

想象一下,如果你问AI:“10世纪以来,德语女性剧作家写的最复杂的戏剧是哪部?”传统的ChatGPT或Claude可能会根据训练数据中的印象回答,比如提名某部知名作品,但结论可能缺乏实证支持——因为它们没有真正“分析”过戏剧文本的数据。

这正是计算文学研究(Computational Literary Studies)面临的痛点:文学语料库(如戏剧、小说)虽已数字化,但机器难以自主、精准地调用数据进行分析。DraCor(戏剧语料库平台)早就想解决这个问题,它推出了Python(pydracor)和R(rdracor)工具包,让研究者能通过代码调用API分析戏剧数据,但这需要编程能力,且无法让AI自主完成。

随着“智能体AI”(Agentic AI)的兴起,情况有了转机。Anthropic提出的“模型上下文协议(MCP)”允许LLM通过服务器自主调用“工具”(如API接口),就像人用软件完成任务一样。于是,研究者们想到:给DraCor加一个MCP服务器,让LLM能自己调用工具获取数据、分析问题,不就能让AI成为真正的“文学研究员”吗?

创新点

  1. 首个计算文学研究的MCP服务器:首次为DraCor实现MCP服务器,让LLM能自主调用其API,填补了AI与文学语料库自主交互的空白。
  2. 提出“Docstring Engineering”概念:发现工具的文档字符串(docstring)是LLM理解如何使用工具的核心,通过精心设计文档(而非仅优化代码)可显著提升LLM工具调用的准确性。
  3. 定性评估框架:针对LLM工具使用设计了“工具正确性”“调用效率”“使用可靠性”三维评估标准,为智能体AI在人文研究中的应用提供了评估范式。

研究方法和思路

1. 实现DraCor MCP服务器
  • 技术基础:基于Python的fastmcp框架,将DraCor API功能封装为“工具”(每个工具是一个带@mcp.tool()装饰器的函数)。
  • 工具分类
    • 直接API包装器:如get_play_characters(获取剧本角色),直接对应DraCor API端点。
    • 辅助工具:如分页工具get_corpus_metadata_paged_helper,解决LLM处理大数据时的长度限制。
    • 搜索发现工具:如get_plays_in_corpus_by_author_helper,支持按作者、标题检索剧本。
    • 文档工具:如get_api_feature_list,让LLM了解系统功能。
2. 实验设计
  • 目标:测试LLM(Claude Sonnet 4)使用工具处理文学研究问题的能力。
  • 实验场景:设计16个查询,覆盖4类场景(单剧本、语料库、多语料库、文学概念应用),并通过“术语差异”(如“角色数”vs“dramatis personae”)、“DraCor特异性”(如用“GerDraCor”指代德语语料库)等维度变化查询。
  • 评估标准
    • 正确答案:结果是否与人工计算一致。
    • 工具正确性:是否选用了合适的工具。
    • 调用效率:是否用最短路径完成任务(1-5分,5分为最优)。
    • 使用可靠性:5次重复实验中,工具选择和结果的一致性(5/5为最优)。

主要成果和贡献

核心发现(实验结果)
评估维度关键结果
正确答案13/16实验正确,错误多因数据长度限制
工具正确性15/16实验选用了正确工具
调用效率均值4.375,8/16实验达最优(5分)
使用可靠性11/16实验结果稳定(≥3/5)
贡献
  1. 技术贡献:提供了可复用的MCP服务器实现,代码开源(见下方链接),为其他人文语料库接入智能体AI提供了模板。
  2. 方法贡献:证明LLM可通过工具调用实现实证性文学分析(而非依赖训练数据),如通过get_play_metrics计算角色网络复杂度。
  3. 概念贡献:提出“Docstring Engineering”——通过优化工具文档(如明确参数、使用场景),可显著提升LLM工具调用的准确性,为智能体AI的工具设计提供了指导原则。
开源资源
  • DraCor MCP服务器代码:https://github.com/dracor-org/dracor-mcp
  • 实验文档:https://github.com/dracor-org/dracor-mcp-evaluation

关键问题

  1. 什么是MCP?它如何让LLM与DraCor交互?
    MCP(模型上下文协议)是Anthropic提出的协议,允许LLM通过服务器调用“工具”。在DraCor中,MCP服务器将API功能封装为工具,LLM通过阅读工具的docstring自主选择并调用,实现数据获取和分析。

  2. 为什么Docstring如此重要?
    LLM主要通过工具的docstring理解其功能、参数和使用场景。例如,get_corpus_metadata_paged_helper的docstring明确说明“处理大数据时用此工具分页获取”,能引导LLM避开长度限制。

  3. LLM在处理文学问题时表现如何?
    对简单问题(如“某剧本有多少角色”)表现稳定(正确率100%,可靠性5/5);但处理大数据(如“哪个语料库时间跨度最广”)时易出错,因受限于LLM的上下文长度。

  4. 这项研究对文学研究者有何意义?
    无需编程能力,研究者可通过自然语言让AI调用工具分析戏剧数据(如角色网络、性别分布),加速实证性文学研究;同时,Docstring设计为工具易用性提供了标准。

总结

本文通过实现DraCor的MCP服务器,首次让LLM能自主调用戏剧语料库API进行分析,并提出“Docstring Engineering”概念优化这一过程。实验表明,LLM在工具使用的正确性和效率上表现良好,但受限于数据处理能力。这项研究不仅为计算文学研究提供了新工具,也为智能体AI在人文领域的可靠应用指明了方向——未来,精心设计的文档可能比复杂的代码更能释放AI的潜力。

http://www.xdnf.cn/news/18296.html

相关文章:

  • 设计模式之观察者模式
  • 为什么可以kvcache
  • 订单簿数据深度学习方法在大单发现应用
  • 微信小程序集成vant-weapp时,构建npm报错的解决办法
  • 深度学习-计算机视觉-物体检测与边缘框实现
  • 区块链联邦学习思路一
  • 机器学习两大核心算法:集成学习与 K-Means 聚类详解
  • 如何保证数据库和缓存的一致性?
  • Java设计模式-模板方法模式
  • 常见开源协议详解:哪些行为被允许?哪些被限制?
  • B站 韩顺平 笔记 (Day 24)
  • K8S-Secret资源对象
  • 学习数组①
  • 1.Shell脚本修炼手册之---为什么要学Shell编程?
  • 【MySQL的卸载】
  • 读《精益数据分析》:规模化(Scale)—— 复制成功,进军新市场
  • PiscCode集成Hand Landmarker:实现高精度手部姿态检测与分析
  • JVM面试精选 20 题(终)
  • 【北京迅为】iTOP-4412精英版使用手册-第三十二章 网络通信-TCP套字节
  • 30.Linux cobbler自动化部署
  • 基于51单片机自动浇花1602液晶显示设计
  • STM32_0001 KEILMDK V5.36 编译一个STM32F103C8T6说core_cm3.h文件找不到以及编译器版本不匹配的解决办法
  • 多模型创意视频生成平台
  • 设计模式1-单例模式
  • PyTorch如何修改模型(魔改)?/替换模型,一般除了注意输入输出一致,还有其他要修改的吗?
  • 【Python】新手入门:python面向对象编程的三大特性是什么?python继承、封装、多态的特性都有哪些?
  • IT运维背锅权限泄露?集中式管控如何化解风险?
  • postman+newman+jenkins接口自动化
  • 次短路P2865 [USACO06NOV] Roadblocks G题解
  • cobbler