A distributed multi-agent system for orchestrating Live2D character animation production, including storyboarding, modeling, voice generation, animation, and video rendering
L2MAS exhibits critical definition gaps across all five tools. While input schemas are present with typed parameters, descriptions are minimal (10-20 chars, well below the 50-200 char baseline for LLM-optimized tools). Parameter descriptions exist but are generic and lack actionable constraints (e.g., no enum for 'emotion', no format specs for 'resolution'). Output schemas are completely undocumented, LLMs cannot infer what fields to expect from tool responses. No error handling guidance, no recovery paths, and no indication of which operations are destructive or idempotent. Tool names follow verb_noun convention (positive), but lack clarity on mutual exclusivity and chaining requirements. The codebase shows agent-to-agent communication via A2A protocol, but MCP tool definitions are skeletal.
从文本描述生成完整的Live2D角色模型
为单个镜头生成动画片段
从剧本和角色信息创建分镜脚本
将多个镜头合成最终视频
为台词生成配音,支持情感调整
Output schemas completely undocumented. LLMs cannot infer response structure (e.g., what fields does motion.generate return beyond video_path?). Breaks tool chaining and forces agents to guess downstream field names.
Tool descriptions are 10 - 20 characters (e.g., 'Generate animation clips for each shot'). Baseline is 50 - 200 chars. Descriptions lack WHEN to use, WHAT it returns, and prerequisites. LLMs cannot reliably select the right tool.
Parameter constraints missing. 'emotion' accepts free-form strings (should be enum: happy|sad|excited|thinking|surprised|neutral). 'resolution' is a string with no format spec (should be pattern: \d+x\d+ or enum). 'quality' in model.live2d.generate has no valid values listed.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | <=2025-11-25 | v2 |
No error handling guidance. Tools do not document what happens on failure (e.g., invalid model_path, missing audio file, unsupported resolution). No recovery hints for LLMs (e.g., 'If model not found, call list_available_models first').
No destructive operation markers. Tools like model.live2d.generate and video.compose modify state (create files, consume compute), but descriptions do not indicate this. Agents cannot distinguish safe reads from irreversible writes.