开发与工程 vietnamese-nlpword-segmentationtext-classificationdependency-parsinga2a-protocolmulti-providerpython

Underthesea - 越南语智能体工具包

零依赖的多提供商AI智能体框架,内置越南语NLP处理能力,支持OpenAI、Azure、Anthropic和Gemini。

FollowAgents 评估 · FARS-2.1
不推荐
47/ 100 五分制 2.4 / 5
1 2 3 4 5 6
1信任安全7 / 29 · 1.2/5

证据显示:Agent 默认工具包含 shell 和 python exec,权限较大,但未提供最小权限配置或用户确认机制;数据流透明度有限,仅提及自动追踪到 ~/.underthesea/traces/,但未说明数据流向;敏感数据处理未明确;依赖安全未提供锁定或审计;外部影响包括网络请求和文件写入,但未说明用户确认;回滚机制未提及;来源归属仅通过作者信息,未验证。扣分原因:缺少权限控制、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响控制、回滚机制。

2可靠稳定8 / 14 · 2.9/5

证据显示:README 与 pyproject.toml 描述一致,Agent 模块声称零外部依赖,但 pyproject 中 agent 可选依赖为空,与声明一致;依赖可用性方面,核心依赖如 requests、PyYAML 等常见,但未提供锁定版本;失败消息未在文档中说明。扣分原因:失败消息未说明,依赖版本未锁定。

3适用触发10 / 18 · 2.8/5

证据显示:README 明确面向开发者,提供多种使用场景(快速开始、流式、工具调用、多会话、追踪、服务);能力边界通过工具列表和架构图说明;触发精度方面,工具调用示例明确,但未说明触发条件;环境适配方面,支持 Python 3.10+,多操作系统,但未说明特定环境要求。扣分原因:触发精度未详细说明。

4规范维护10 / 18 · 2.8/5

证据显示:信息架构清晰,README 有目录;安装说明简单;命名稳定,版本号明确;示例丰富,有快速开始和工具调用示例;已知限制未明确列出;许可证为 Apache-2.0;版本变更日志未提供;维护责任通过作者和贡献指南说明。扣分原因:已知限制未列出,版本变更日志缺失。

5有效结果9 / 13 · 3.5/5

证据显示:输出可用性方面,示例展示了清晰的输出格式;边际价值方面,提供多提供商支持和内置工具,具有独特价值;成本效益方面,零外部依赖降低安装成本,但未提供性能数据。扣分原因:未提供性能或成本数据。

6证据核验3 / 8 · 1.9/5

证据显示:README 中的声明(如零外部依赖)可在 pyproject.toml 中部分验证;跨来源验证有限,仅依赖 README 和 pyproject;事实与推断分离方面,README 区分了功能描述和示例,但未明确标注推断。扣分原因:跨来源验证不足,事实与推断分离不明确。

证据充分度: 评估于 2026年8月11日 审查版本 0fd222c1d892
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
源码中未见的安全控制:执行前用户确认、回滚或恢复路径
使用前请注意
  • 默认工具包含 shell 和 python exec,权限较大,需谨慎使用。
  • 未提供用户确认机制,Agent 可能自动执行高权限操作。
  • 数据流透明度有限,自动追踪可能记录敏感信息。
  • 依赖未锁定版本,存在供应链风险。
  • 未提供回滚机制,操作不可逆。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Underthesea是一个开源的智能体AI工具包,集成了越南语自然语言处理模块。它提供了无需外部依赖的AI智能体功能,仅用Python标准库(urllib和json)与各大LLM提供商API通信。该工具包包含Agent类、支持多会话(Session)和工具调用(Tool),并提供12个内置工具,如计算器、Web搜索和文件操作。此外,它还支持通过A2A协议暴露智能体服务,具有完整的AgentCard和可选的聊天UI。同时,它包含丰富的越南语NLP功能,包括词切分、命名实体识别和情感分析。所有智能体操作自动记录到本地跟踪文件。

该仓库实现了一个Python库,用于构建和运行AI智能体。它支持通过环境变量或API密钥配置多个提供商(OpenAI、Azure OpenAI、Anthropic、Gemini)。Agent类负责与LLM API通信,处理工具调用和流式输出。Session类允许长期运行的智能体,支持上下文重置和任务交接。Agent还可以通过A2A协议(JSON-RPC over HTTP+SSE)暴露为服务,提供可选的Web UI。同时,它提供了完整的越南语NLP管道,如word_tokenize、pos_tag、ner、sentiment等函数,可直接用于文本处理。

  1. 需要集成多个LLM提供商(OpenAI、Anthropic等)的开发者,只需切换Provider类即可。
  2. 需要构建长期运行的多会话智能体,例如研究助手,可跨会话保持上下文。
  3. 需要将智能体暴露为HTTP服务以支持异步请求的团队,可使用A2A协议。
  4. 希望在不安装额外依赖的情况下使用Python标准库构建智能体的开发者。
  5. 研究越南语NLP的用户,可利用现成的分词、NER和情感分析功能。

这个 Agent 有哪些优点和局限?

优点
  • 零外部依赖,仅使用Python标准库,减少安装负担。
  • 支持多个主流LLM提供商,切换方便。
  • 内置A2A协议服务,方便集成到现有系统。
  • 整合越南语NLP功能,适合越南语场景。
  • 自动跟踪功能,便于调试和监控。
局限
  • 仅支持指定的提供商,不支持其他如Cohere等。
  • A2A服务需要额外安装依赖。
  • 多会话功能需要手动管理进度文件。
  • 高级功能(如Langfuse)需要额外安装。
  • 文档可能不完整,需参考README和NLP.md。

如何安装或部署这个 Agent?

通过pip安装:pip install underthesea。该库支持Python 3.10至3.14。对于服务功能,可安装额外依赖:pip install 'underthesea[agent-server]'(包括uvicorn和starlette)。

如何使用这个 Agent?

设置环境变量(如OPENAI_API_KEY或ANTHROPIC_API_KEY)或直接传入API密钥。然后创建Agent并调用:

from underthesea.agent import Agent, LLM
agent = Agent(name="assistant", provider=LLM())
agent("Hello!")

对于流式输出,使用agent.stream()。要启用工具调用,定义函数并使用Tool包装,传递给Agent。对于多会话,创建Session并运行任务。

这个 Agent 与同类方案有什么区别?

与Anthropic Harness模式相比,它提供了类似的长期运行智能体功能,但更专注于多提供商和NLP集成。

常见问题

是否支持Azure OpenAI?
支持,提供AzureOpenAI类,需要API密钥、端点和部署名称。
如何启用流式输出?
使用agent.stream()方法,会生成文本块。
能否在无网络环境中使用?
不能,需要连接LLM API。
如何添加自定义工具?
定义函数,用Tool包装,并传递给Agent的tools参数。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents