{ "schema_version": "ai_technology_watch_sources_v1", "updated_at": "2026-07-10", "cadence": { "near_real_time_watch": "每 6 小時執行一次只讀 primary-source 檢查,偵測主流 AI 技術版本、文件與 release 變更。", "daily_triage": "每日彙整變更技術,依商業適用性、依賴風險、成本風險與資安風險分組。", "weekly_scorecard": "每週刷新技術 scorecard,判斷是否值得進入 sandbox、offline replay 或 adapter design。", "monthly_strategy_review": "每月策略檢討,決定技術應納入 roadmap、維持 watch-only 或從監控清單移除。" }, "policy": { "read_only": true, "raw_chat_history_synced": false, "sdk_installation_approved": false, "paid_api_calls_approved": false, "production_routing_approved": false, "workflow_modification_approved": false, "telegram_send_approved": false, "model_provider_switch_approved": false, "host_write_approved": false, "github_sources_allowed": false, "github_freeze_policy": "GitHub / gh / GitHub API / GitHub search disabled; use vendor docs, PyPI, npm, and committed offline metadata only." }, "coverage_contract": { "scope": [ "agent_frameworks", "model_providers", "rag_and_vector", "mcp_and_a2a", "evaluation_and_observability", "coding_agents", "multimodal_generation" ], "must_not_do": [ "安裝新 SDK", "呼叫付費模型 API", "修改 provider routing", "修改 production prompts", "發送 Telegram 指令", "寫入主機", "在缺少 replay / shadow / canary 證據時替換 OpenClaw" ] }, "candidates": [ { "candidate_id": "openai_agents_sdk", "display_name": "OpenAI Agents SDK", "technology_area": "agent_frameworks", "integration_surface": "agent_handoff_tracing_guardrails", "awoooi_role": "協調者、handoff、tool tracing、guardrail 候選", "evaluation_priority": "p0", "requires_cost_approval": true, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "openai_agents_python_pypi", "type": "pypi", "url": "https://pypi.org/pypi/openai-agents/json", "reference_version": "0.18.1" }, { "source_id": "openai_agents_typescript_npm", "type": "npm", "url": "https://registry.npmjs.org/%40openai%2Fagents", "reference_version": "0.13.1" }, { "source_id": "openai_agents_docs", "type": "docs", "url": "https://developers.openai.com/api/docs/guides/agents" } ] }, { "candidate_id": "nvidia_nemotron_nemo", "display_name": "NVIDIA Nemotron + NeMo Agent Toolkit", "technology_area": "agent_frameworks", "integration_surface": "offline_replay_evaluator_smoke_gate", "awoooi_role": "NemoTron replay / evaluator / synthetic data gate", "evaluation_priority": "p0", "requires_cost_approval": true, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "nvidia_nemotron_developer_page", "type": "docs", "url": "https://developer.nvidia.com/topics/ai/nemotron" }, { "source_id": "nvidia_nemo_agent_toolkit_docs", "type": "docs", "url": "https://docs.nvidia.com/nemo/agent-toolkit/latest/index.html" }, { "source_id": "nvidia_nemo_agent_toolkit_pypi", "type": "pypi", "url": "https://pypi.org/pypi/nvidia-nat/json", "reference_version": "1.8.0" }, { "source_id": "nvidia_nemotron_3_ultra_blog", "type": "docs", "url": "https://developer.nvidia.com/blog/nvidia-nemotron-3-ultra-powers-faster-more-efficient-reasoning-for-long-running-agents/" } ] }, { "candidate_id": "langgraph_runtime", "display_name": "LangGraph", "technology_area": "agent_frameworks", "integration_surface": "durable_workflow_human_in_loop", "awoooi_role": "事件處理與可恢復 workflow kernel 候選", "evaluation_priority": "p0", "requires_cost_approval": false, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "langgraph_pypi", "type": "pypi", "url": "https://pypi.org/pypi/langgraph/json", "reference_version": "1.2.9" }, { "source_id": "langgraph_docs", "type": "docs", "url": "https://docs.langchain.com/oss/python/langgraph/overview" } ] }, { "candidate_id": "google_adk_stack", "display_name": "Google Agent Development Kit", "technology_area": "agent_frameworks", "integration_surface": "gemini_enterprise_agent_stack", "awoooi_role": "Gemini/Vertex agent stack watch-only 候選", "evaluation_priority": "p1", "requires_cost_approval": true, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "google_adk_pypi", "type": "pypi", "url": "https://pypi.org/pypi/google-adk/json", "reference_version": "2.4.0" }, { "source_id": "google_adk_docs", "type": "docs", "url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/adk" } ] }, { "candidate_id": "microsoft_agent_framework", "display_name": "Microsoft Agent Framework", "technology_area": "agent_frameworks", "integration_surface": "enterprise_mcp_a2a_workflow", "awoooi_role": "MCP/A2A enterprise workflow watch-only 候選", "evaluation_priority": "p1", "requires_cost_approval": true, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "microsoft_agent_framework_docs", "type": "docs", "url": "https://learn.microsoft.com/en-us/agent-framework/overview/" }, { "source_id": "microsoft_autogen_migration_docs", "type": "docs", "url": "https://learn.microsoft.com/en-us/agent-framework/migration-guide/from-autogen/" } ] }, { "candidate_id": "crewai_flows", "display_name": "CrewAI Flows + Crews", "technology_area": "agent_frameworks", "integration_surface": "multi_agent_prototype", "awoooi_role": "快速 prototype / non-production 評估候選", "evaluation_priority": "p2", "requires_cost_approval": false, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "crewai_pypi", "type": "pypi", "url": "https://pypi.org/pypi/crewai/json", "reference_version": "1.15.2" }, { "source_id": "crewai_docs", "type": "docs", "url": "https://docs.crewai.com/" } ] }, { "candidate_id": "llamaindex_agent_workflows", "display_name": "LlamaIndex AgentWorkflow / Workflows", "technology_area": "agent_frameworks", "integration_surface": "rag_document_agent_workflow", "awoooi_role": "RAG / 文件型 Agent workflow 與 ingestion orchestration 候選", "evaluation_priority": "p1", "requires_cost_approval": false, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "llamaindex_agent_workflows_docs", "type": "docs", "url": "https://developers.llamaindex.ai/python/examples/agent/agent_workflow_basic/" }, { "source_id": "llamaindex_workflows_docs", "type": "docs", "url": "https://developers.llamaindex.ai/python/llamaagents/workflows/" }, { "source_id": "llama_index_core_pypi", "type": "pypi", "url": "https://pypi.org/pypi/llama-index-core/json", "reference_version": "0.14.23" } ] }, { "candidate_id": "pydantic_ai_agents", "display_name": "Pydantic AI", "technology_area": "agent_frameworks", "integration_surface": "type_safe_agent_structured_output", "awoooi_role": "type-safe tool agent、structured output 與 validation-first workflow 候選", "evaluation_priority": "p1", "requires_cost_approval": true, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "pydantic_ai_overview_docs", "type": "docs", "url": "https://pydantic.dev/docs/ai/overview/" }, { "source_id": "pydantic_ai_agents_docs", "type": "docs", "url": "https://pydantic.dev/docs/ai/core-concepts/agent/" }, { "source_id": "pydantic_ai_pypi", "type": "pypi", "url": "https://pypi.org/pypi/pydantic-ai/json", "reference_version": "2.8.0" } ] }, { "candidate_id": "aws_strands_agents", "display_name": "AWS Strands Agents", "technology_area": "agent_frameworks", "integration_surface": "aws_native_model_first_agent_sdk", "awoooi_role": "AWS-native agent SDK watch / sandbox candidate,需成本與 provider gate", "evaluation_priority": "p1", "requires_cost_approval": true, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "strands_agents_docs", "type": "docs", "url": "https://strandsagents.com/docs/user-guide/quickstart/overview/" }, { "source_id": "aws_strands_prescriptive_guidance", "type": "docs", "url": "https://docs.aws.amazon.com/prescriptive-guidance/latest/agentic-ai-frameworks/strands-agents.html" }, { "source_id": "strands_agents_pypi", "type": "pypi", "url": "https://pypi.org/pypi/strands-agents/json", "reference_version": "1.46.0" }, { "source_id": "strands_agents_typescript_npm", "type": "npm", "url": "https://registry.npmjs.org/%40strands-agents%2Fsdk", "reference_version": "1.8.0" } ] }, { "candidate_id": "autogen_legacy_migration", "display_name": "AutoGen Legacy Migration", "technology_area": "agent_frameworks", "integration_surface": "legacy_multi_agent_migration_signal", "awoooi_role": "AutoGen legacy usage stays migration signal; Microsoft Agent Framework is the enterprise successor path.", "evaluation_priority": "p2", "requires_cost_approval": false, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "autogen_docs", "type": "docs", "url": "https://microsoft.github.io/autogen/stable//index.html" }, { "source_id": "autogen_to_agent_framework_migration_docs", "type": "docs", "url": "https://learn.microsoft.com/en-us/agent-framework/migration-guide/from-autogen/" }, { "source_id": "autogen_agentchat_pypi", "type": "pypi", "url": "https://pypi.org/pypi/autogen-agentchat/json", "reference_version": "0.7.5" } ] }, { "candidate_id": "modelcontextprotocol_sdk", "display_name": "Model Context Protocol SDK", "technology_area": "mcp_and_a2a", "integration_surface": "tool_registry_interoperability", "awoooi_role": "read-only tool registry / MCP adapter 候選", "evaluation_priority": "p0", "requires_cost_approval": false, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "mcp_typescript_sdk_npm", "type": "npm", "url": "https://registry.npmjs.org/%40modelcontextprotocol%2Fsdk", "reference_version": "1.29.0" }, { "source_id": "mcp_specification_2025_06_18", "type": "docs", "url": "https://modelcontextprotocol.io/specification/2025-06-18" }, { "source_id": "mcp_roadmap", "type": "docs", "url": "https://modelcontextprotocol.io/development/roadmap" } ] }, { "candidate_id": "a2a_protocol", "display_name": "Agent2Agent Protocol", "technology_area": "mcp_and_a2a", "integration_surface": "agent_to_agent_interop", "awoooi_role": "跨 Agent 溝通協定 watch-only 候選", "evaluation_priority": "p1", "requires_cost_approval": false, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "a2a_protocol_docs", "type": "docs", "url": "https://a2a-protocol.org/latest/" } ] }, { "candidate_id": "opentelemetry_genai_semconv", "display_name": "OpenTelemetry GenAI Semantic Conventions", "technology_area": "evaluation_and_observability", "integration_surface": "agent_llm_trace_semantic_conventions", "awoooi_role": "Agent / LLM / MCP trace 欄位標準與日週月報可觀測基礎", "evaluation_priority": "p1", "requires_cost_approval": false, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "otel_genai_attributes", "type": "docs", "url": "https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/" } ] }, { "candidate_id": "openai_model_platform", "display_name": "OpenAI Model Platform", "technology_area": "model_providers", "integration_surface": "model_capability_cost_routing", "awoooi_role": "模型能力、成本與 routing scorecard 來源", "evaluation_priority": "p0", "requires_cost_approval": true, "requires_dependency_approval": false, "requires_security_review": true, "sources": [ { "source_id": "openai_models_docs", "type": "docs", "url": "https://platform.openai.com/docs/models" }, { "source_id": "openai_python_pypi", "type": "pypi", "url": "https://pypi.org/pypi/openai/json" }, { "source_id": "openai_node_npm", "type": "npm", "url": "https://registry.npmjs.org/openai" } ] }, { "candidate_id": "anthropic_claude_platform", "display_name": "Anthropic Claude Platform", "technology_area": "model_providers", "integration_surface": "model_capability_cost_routing", "awoooi_role": "Claude model / coding agent / remediation watch source", "evaluation_priority": "p0", "requires_cost_approval": true, "requires_dependency_approval": false, "requires_security_review": true, "sources": [ { "source_id": "anthropic_models_docs", "type": "docs", "url": "https://docs.anthropic.com/en/docs/about-claude/models/overview" }, { "source_id": "anthropic_sdk_npm", "type": "npm", "url": "https://registry.npmjs.org/%40anthropic-ai%2Fsdk" }, { "source_id": "claude_agent_sdk_docs", "type": "docs", "url": "https://code.claude.com/docs/en/agent-sdk/overview" } ] }, { "candidate_id": "google_gemini_platform", "display_name": "Google Gemini Platform", "technology_area": "model_providers", "integration_surface": "model_capability_cost_routing", "awoooi_role": "Gemini model capability / cost watch source", "evaluation_priority": "p1", "requires_cost_approval": true, "requires_dependency_approval": false, "requires_security_review": true, "sources": [ { "source_id": "gemini_models_docs", "type": "docs", "url": "https://ai.google.dev/gemini-api/docs/models" }, { "source_id": "google_genai_pypi", "type": "pypi", "url": "https://pypi.org/pypi/google-genai/json" } ] }, { "candidate_id": "llamaindex_rag", "display_name": "LlamaIndex", "technology_area": "rag_and_vector", "integration_surface": "rag_indexing_connectors", "awoooi_role": "RAG ingestion / indexing / connector watch source", "evaluation_priority": "p1", "requires_cost_approval": false, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "llama_index_core_pypi", "type": "pypi", "url": "https://pypi.org/pypi/llama-index-core/json" }, { "source_id": "llama_index_docs", "type": "docs", "url": "https://developers.llamaindex.ai/python/framework/" } ] }, { "candidate_id": "langchain_runtime", "display_name": "LangChain", "technology_area": "rag_and_vector", "integration_surface": "llm_app_runtime_connectors", "awoooi_role": "LLM app integration connector watch source", "evaluation_priority": "p2", "requires_cost_approval": false, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "langchain_pypi", "type": "pypi", "url": "https://pypi.org/pypi/langchain/json" }, { "source_id": "langchain_docs", "type": "docs", "url": "https://docs.langchain.com/" } ] }, { "candidate_id": "pgvector_vector_store", "display_name": "pgvector", "technology_area": "rag_and_vector", "integration_surface": "postgres_vector_index", "awoooi_role": "現有 Postgres/pgvector 能力與版本 freshness 來源", "evaluation_priority": "p1", "requires_cost_approval": false, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "pgvector_pgxn", "type": "docs", "url": "https://pgxn.org/dist/vector/" } ] }, { "candidate_id": "qdrant_vector_store", "display_name": "Qdrant", "technology_area": "rag_and_vector", "integration_surface": "dedicated_vector_database", "awoooi_role": "專用 vector DB 候選,只能 sandbox 評估", "evaluation_priority": "p2", "requires_cost_approval": false, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "qdrant_client_pypi", "type": "pypi", "url": "https://pypi.org/pypi/qdrant-client/json" }, { "source_id": "qdrant_docs", "type": "docs", "url": "https://qdrant.tech/documentation/" } ] }, { "candidate_id": "chromadb_vector_store", "display_name": "ChromaDB", "technology_area": "rag_and_vector", "integration_surface": "local_vector_database", "awoooi_role": "本機 / sandbox vector store 候選", "evaluation_priority": "p3", "requires_cost_approval": false, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "chromadb_pypi", "type": "pypi", "url": "https://pypi.org/pypi/chromadb/json" }, { "source_id": "chromadb_docs", "type": "docs", "url": "https://docs.trychroma.com/" } ] }, { "candidate_id": "ragas_eval", "display_name": "Ragas", "technology_area": "evaluation_and_observability", "integration_surface": "rag_eval_metrics", "awoooi_role": "RAG / LLM app evaluation metrics 候選", "evaluation_priority": "p1", "requires_cost_approval": false, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "ragas_pypi", "type": "pypi", "url": "https://pypi.org/pypi/ragas/json" }, { "source_id": "ragas_docs", "type": "docs", "url": "https://docs.ragas.io/en/stable/" } ] }, { "candidate_id": "langfuse_observability", "display_name": "Langfuse", "technology_area": "evaluation_and_observability", "integration_surface": "llm_observability_tracing", "awoooi_role": "LLM trace / prompt / eval observability 候選", "evaluation_priority": "p1", "requires_cost_approval": true, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "langfuse_pypi", "type": "pypi", "url": "https://pypi.org/pypi/langfuse/json" }, { "source_id": "langfuse_docs", "type": "docs", "url": "https://langfuse.com/docs" } ] }, { "candidate_id": "huggingface_tgi", "display_name": "Hugging Face Text Generation Inference", "technology_area": "model_serving", "integration_surface": "self_hosted_model_serving", "awoooi_role": "自託管模型 serving 能力與版本 freshness 來源", "evaluation_priority": "p2", "requires_cost_approval": true, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "tgi_docs", "type": "docs", "url": "https://huggingface.co/docs/text-generation-inference/index" } ] }, { "candidate_id": "vllm_serving", "display_name": "vLLM", "technology_area": "model_serving", "integration_surface": "self_hosted_llm_inference", "awoooi_role": "自託管 LLM inference 候選,需 GPU/成本/安全 gate", "evaluation_priority": "p2", "requires_cost_approval": true, "requires_dependency_approval": true, "requires_security_review": true, "sources": [ { "source_id": "vllm_pypi", "type": "pypi", "url": "https://pypi.org/pypi/vllm/json" }, { "source_id": "vllm_docs", "type": "docs", "url": "https://docs.vllm.ai/en/latest/" } ] } ], "discovery_sources": [] }