ããã«ã¡ã¯ã25幎æ°å
¥ç€Ÿå¡ã®é«å£ã§ãã ç§ã¯ãæ°äººç ä¿®ã®äžç°ãšããŠ10æã«éçºå宿ã«åå ããŸãããéçºå宿ã«ã€ããŠã¯ä»¥äžã®ããã°ãã芧ãã ããã ä»å¹Žã¯ãã€ããšéãïŒããã«ãœã³å宿ã«è¡ã£ãŠããŸããïŒ@ããããã»ãã€ã³ãºäžæµŠ ãã®æã«ã2025/10/13(ç±³åœæé)ã«äžè¬å
¬éãããAmazon Bedrock AgentCoreã䜿ã£ãŠéçºããŸããããã®ããã°ã§ã¯ããã®ææ³ãå®è£
ã«ã€ããŠè¿°ã¹ãããšæããŸãã Amazon Bedrock AgentCoreãšã¯ Amazon Bedrock AgentCore(以äžAgentCore)ãšã¯ãAIãšãŒãžã§ã³ãã®æ§ç¯ãããããã€ã»éçšãŸã§ã§ããåºç€ã§ããå
·äœçã«ã¯ä»¥äžã®7ã€ã®ãµãŒãã¹ããããŸãã Runtime: ãµãŒãã¬ã¹ã®å®è¡ç°å¢ Identity: ãšãŒãžã§ã³ãã«å¯ŸããèªèšŒæ
å ±(ã¢ãŠãããŠã³ãã»ã€ã³ããŠã³ãäž¡æ¹)ã管çãããã® Memory: ãšãŒãžã§ã³ããäœãèšæ¶ããããå¶åŸ¡ãã Code Interpreter: åé¢ããããµã³ãããã¯ã¹ç°å¢å
ã§ã³ãŒããå®å
šã«å®è¡ãã Browser: ã¯ã©ãŠãããŒã¹ã®ãã©ãŠã¶å®è¡ç°å¢ Gateway: APIãLambda颿°ãªã©ã®æ¢åã®ãµãŒãã¹ããšãŒãžã§ã³ãäºæã®ããŒã«ãžç°¡åã«å€æãã Observability: ãšãŒãžã§ã³ãã®ã¢ãã¿ãªã³ã° ã©ã®ããã«äœ¿çšããã®ã ä»åã¯å®è¡ç°å¢ãšããŠRuntimeã®ã¿äœ¿çšããŠããŸããã¢ããªã±ãŒã·ã§ã³å
šäœã®æ§æã¯æ¬¡ã®å³ã®ãšããã§ããOrchestratorãšãŒãžã§ã³ãã¯ãŠãŒã¶ããã®å
¥åãåãåããCreate_taskãšãŒãžã§ã³ãã¯å
¥åã«åºã¥ããã¿ã¹ã¯ãçæããŠããŸãã詳现ã¯ä»¥äžã®ããã°ãã芧ãã ããã ããã«ãœã³å宿å¶äœèšâ | SolidStartãšAgentCoreã䜿ã£ãAIãšãŒãžã§ã³ãå
èµã¢ããªã±ãŒã·ã§ã³ãäœã£ãŠã¿ã ãšãŒãžã§ã³ãã®äžèº«ã«ã€ã㊠ïŒã€ã®ãšãŒãžã§ã³ãã¯åœ¹å²ãéããŸãããäžèº«ã¯ã»ãšãã©åãã§ãã äž¡è
å
±ã«ãBedrock AgentCore Runtimeãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠãšãŒãžã§ã³ãã®æ¯ãèããå®çŸ©ããŠããŸãã äŸ:OrchestratorãšãŒãžã§ã³ãã®å Žå @app.entrypoint def invoke(payload: Dict[str, Any]) -> str: try: # promptãèªã¿åã request_text = payload.get("prompt", "") if not request_text: return json.dumps({ "status": "error", "message": "ãªã¯ãšã¹ããæå®ãããŠããŸãã" }, ensure_ascii=False) # ãŠãŒã¶ããã®å
¥åãåæããé©åãªãšãŒãžã§ã³ããæ±ºå® agent_decision = analyze_request(request_text) if agent_decision["action"] == "create_task": # Create_taskãšãŒãžã§ã³ããåŒã³åºã result = invoke_create_task_agentcore(request_text) # ã¬ã¹ãã³ã¹ãäœã response = { "orchestrator_analysis": { "recommended_agent": agent_decision["agent"], "reason": agent_decision["reason"], "confidence": agent_decision["confidence"] }, "result": result } return json.dumps(response, ensure_ascii=False) @app.entrypointãšãããã³ã¬ãŒã¿ã§ãã®é¢æ°ãAgentCore Runtimeã®ãšã³ããªãŒãã€ã³ããšããŠç»é²ããŠããŸãã OrchestratorãšãŒãžã§ã³ãã®å Žåã¯ãpromptãèªã¿åããããããé©åãªãšãŒãžã§ã³ããæ±ºå®ããŠããšãŒãžã§ã³ãã«åŠçãæããŠããŸãã AIãšãŒãžã§ã³ãã®ãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠã¯ãæåã«ç°¡åãªåŠçãäœã£ãŠåäœã確èªããŠããStrands AgentsãLangGraphã䜿ãããšæã£ãŠããŸããããã ãæéããªãã£ãã®ã§ãä»åã¯ãããã¯äœ¿çšã§ããŸããã§ãã(ã¯ããããã©ã¡ããã䜿ã£ãŠããã°ããã£ããšæã£ãŠããŸãâŠ)ã ãããã€ã«ã€ã㊠AWSã®ãã¥ãŒããªã¢ã«ã§ã¯ã³ãã³ãã䜿ã£ãŠãããã€ããŠããŸãã https://aws.amazon.com/jp/blogs/startup/5min-ai-agent-hosting/ ã§ãããä»åã¯Pythonã®SDKã䜿ã£ãŠãããã€ããŸãã(Claude Codeã«äœã£ãŠããããŸãã)ã äŸ:OrchestratorãšãŒãžã§ã³ãããããã€ããã³ãŒã import json import os import sys from pathlib import Path from bedrock_agentcore_starter_toolkit.notebook.runtime.bedrock_agentcore import Runtime # ãªãŒãžã§ã³èšå® REGION = "ap-northeast-1" PROJECT_NAME = "task-management" def deploy_orchestrator_agent(): """Orchestrator Agentããããã€""" print("\n Orchestrator Agent ããããã€äž...") # deployment_info.jsonããCreate Task Agentã®ARNãååŸ deployment_file = Path(__file__).parent / "deployment_info.json" if not deployment_file.exists(): print(" deployment_info.jsonãèŠã€ãããŸãã") print("å
ã«Create Task Agentããããã€ããŠãã ãã:") sys.exit(1) with open(deployment_file, "r") as f: deployment_info = json.load(f) create_task_info = deployment_info.get("create_task_agent", {}) create_task_arn = create_task_info.get("agent_arn") if not create_task_arn: print(" Create Task Agentã®ARNæ
å ±ãèŠã€ãããŸãã") print("deployment_info.json:") print(json.dumps(deployment_info, indent=2, ensure_ascii=False)) sys.exit(1) print(f"â Create Task Agent ARN: {create_task_arn}") runtime = Runtime() # Orchestrator Agentã®èšå® config_result = runtime.configure( entrypoint="orchestrator/agent.py", agent_name="orchestrator_agent", requirements_file="orchestrator/requirements.txt", region=REGION, protocol="HTTP", memory_mode="NO_MEMORY", # ã¡ã¢ãªäžèŠ auto_create_execution_role=True, auto_create_ecr=True, disable_otel=False, # OpenTelemetryæå¹ non_interactive=True ) print(f"â èšå®å®äº") print(f" Config: {config_result.config_path}") print(f" Dockerfile: {config_result.dockerfile_path}") # Bedrock AgentCore Runtimeã«ãããã€ïŒlaunchïŒ print(" Bedrock AgentCore Runtimeã«ãããã€äž...") launch_result = runtime.launch( local=False, # ãªã¢ãŒãããã〠local_build=False, auto_update_on_conflict=True, env_vars={ "CREATE_TASK_AGENT_ARN": create_task_arn, "AWS_REGION": REGION } ) print(f"â ãããã€å®äº") print(f" Agent ARN: {launch_result.agent_arn}") if hasattr(launch_result, 'agent_endpoint'): print(f" Agent Endpoint: {launch_result.agent_endpoint}") # ãããã€æ
å ±ãæŽæ° deployment_file = Path(__file__).parent / "deployment_info.json" with open(deployment_file, "r") as f: deployment_info = json.load(f) deployment_info["orchestrator_agent"] = { "agent_name": "orchestrator_agent", "agent_arn": launch_result.agent_arn, "agent_id": getattr(launch_result, 'agent_id', None), "agent_endpoint": getattr(launch_result, 'agent_endpoint', None), "status": "deployed", "create_task_agent_arn": create_task_arn } with open(deployment_file, "w") as f: json.dump(deployment_info, f, indent=2, ensure_ascii=False) print(f"\n ãããã€æ
å ±ãæŽæ°: {deployment_file}") return { "agent_name": "orchestrator_agent", "agent_arn": launch_result.agent_arn, "agent_id": getattr(launch_result, 'agent_id', None), "agent_endpoint": getattr(launch_result, 'agent_endpoint', None), "status": "deployed" } def main(): print(" Orchestrator Agent ãããã€ã¹ã¯ãªãã") print(f"Region: {REGION}") print(f"Project: {PROJECT_NAME}") print() try: orchestrator_info = deploy_orchestrator_agent() print("\n Orchestrator Agent ã®ãããã€ãå®äºããŸããïŒ") print(f"\nAgent ARN: {orchestrator_info['agent_arn']}") if orchestrator_info.get('agent_endpoint'): print(f"Agent Endpoint: {orchestrator_info['agent_endpoint']}") except Exception as e: print(f"\n ãšã©ãŒãçºçããŸãã: {str(e)}") import traceback traceback.print_exc() sys.exit(1) if __name__ == "__main__": main() èŠåŽããããš æ
å ±ãå°ãªã AgentCoreã¯2025幎10æ13æ¥(ç±³åœæé)ã«ãªãªãŒã¹ãããŸãããããã®åã«ãã¬ãã¥ãŒãšããŠäžéšã®ãªãŒãžã§ã³ã§2025幎7æ16æ¥ã«å
¬éãããŠããŸãããããããªãããå
¬éãããŠãã3ã¶æåŒ±ããæéããªããAgentCoreã«é¢ããèšäºãååã«ãããŸããã§ããã ãããªäžã§ããåèã«ãããµã€ããããã€ãããã®ã§å
±æããŸãã https://blog.msysh.me/posts/2025/08/agentcore-runtime-stream-response-via-lambda.html#lambda-ã®ã³ãŒã-1—agentcore-ããã®å¿çããã®ãŸãŸè¿ãå Žå https://aws.amazon.com/jp/blogs/machine-learning/build-multi-agent-site-reliability-engineering-assistants-with-amazon-bedrock-agentcore/ Amazon Bedrock Agentsãšã®éããçè§£ããå¿
èŠããã AWSãæäŸããŠããAIãšãŒãžã§ã³ãç³»ã®ãµãŒãã¹ã§Amazon Bedrock Agents(以äžBedrock Agents)ãšãããã®ããããŸãã https://aws.amazon.com/jp/bedrock/agents/ ãã¡ãã¯ãAmazon Bedrockã®äžéšã§LLMã®ã¢ãã«ãæå®ããã ãã§AIãšãŒãžã§ã³ããäœæããããšãã§ããŸãããã ããæååã®ã¬ã¹ãã³ã¹ãè¿ããããlambdaãªã©ã®é¢æ°ãå®è¡ãããããããšããã§ããªãã®ã§ãèªç±åºŠã¯äœãã§ããäžæ¹ã§ãAgentCoreã¯å®è³ªPythonã³ãŒããåãããŠãããããjsonãè¿ããããè€éãªåŠçãå®è¡ããããšãã§ããŸãããã®éããçè§£ããªããšãéçºéäžã§å€§ããªææ»ããçºçããŠããŸãå¯èœæ§ããããŸãã ä»åã®å Žåã ãšãåãã¯Bedrock Agentsã§éçºããŠããŸããããåŸããæ±ºãŸã£ãã¬ã¹ãã³ã¹ãè¿ãå¿
èŠãããããšãããããŸããããããããã³ãããä¿®æ£ããŠãlambdaãå®è¡ããŠãããªãã£ãããlambdaãžã®å
¥åãéã£ããããã®ã§ãéäžããAgentCoreãçšããŠéçºããŸããã åèçšåºŠã«ãBedrock AgentsãšAgentCoreã®æ¯èŒè¡šãèŒããŸãã Bedrock Agents AgentCore åœ¹å² AIãšãŒãžã§ã³ã AIãšãŒãžã§ã³ããå®è¡ããåºç€ éçºæ¹æ³ AWSãããžã¡ã³ãã³ã³ãœãŒã« Pythonã³ãŒã(ãã¬ãŒã ã¯ãŒã¯) æé Bedrockã®æéäœç³» AgentCoreã®æéäœç³» ããã〠äžèŠ SDKãAgentcore CLI Bedrock AgentsãšAgentCoreã®æ¯èŒ AIãšãŒãžã§ã³ããçµã¿èŸŒãã ãããã¯ããäœãéã®åæç¥èãäžè¶³ããŠãã(ããããªãã£ã) ä»ååããŠAIãšãŒãžã§ã³ããçµã¿èŸŒãã ãããã¯ããäœããŸããããåæç¥èãäžè¶³ããŠãããšæã£ãŠããŸããçç±ãšããŠã¯ãéçºæã«è©°ãŸã£ãéã«ãããããããããªãããããã調ã¹ããããšããããããããããããããªããã©ãããã¯ãããããªããªãã ããšæãããšãå€ããã£ãããã§ããåæç¥èããªããæéãããŸããªãäžã§èª¿ã¹ãªããéçºãããããååã«éçºããããšã¯ã§ããŸããã§ããã ãã®çµéšãããåæç¥èãšããŠä»¥äžã®ãããªãã®ãç¥ã£ãŠããããšãããããããŸãã AIãšãŒãžã§ã³ããçµã¿èŸŒãã ãããã¯ãã«å¯Ÿããããã°ãèšäºãããã å
é§è
ã®ç¥èãçµéšã¯éåžžã«åèã«ãªããšæããŸã LangGraphã Strands Agentsãªã©ã®ãã¬ãŒã ã¯ãŒã¯ã«ã€ã㊠ãã¬ãŒã ã¯ãŒã¯ã®ååã ãç¥ã£ãŠããŠãååã ãšæããŸã ã€ã³ãã©ã«ã€ã㊠AgentCore以å€ã«ãVertex AI Agent BuilderãAzure AI Foundry Agent Serviceãªã©ã®éžæè¢ããããŸã AIãšãŒãžã§ã³ãã®ãã¶ã€ã³ãã¿ãŒã³ã«ã€ããŠ ææ³ AIãšãŒãžã§ã³ãã䜿ã£ããµãŒãã¹ãäœãããéã¯ãBedrock Agentsã«æ¯ã¹ãŠAgentCoreã®æ¹ãæè»ã«éçºã§ããã®ã§ãAgentCoreã䜿ã£ãæ¹ãè¯ããšæããŸãããã ããBedrock Agentsã®æ¹ãæ¯èŒçç°¡åã«äœããã®ã§ãåãã«Bedrock Agentsã§ãããã¿ã€ããäœã£ãŠãããAgentCoreã§æ¬çªéçºããããšããæµãã§ãè¯ããšæããŸãã ãŸããAgentCoreã¯ãããŸã§ãåºç€ãªã®ã§ããã¬ãŒã ã¯ãŒã¯çã§AIãåŒã¶åŠçãæžãããã«ããŸããã(1æ)ã æåŸã«ãAgentCoreã䜿ã£ãéçºã¯æ¥œããã£ãã§ããAIãšãŒãžã§ã³ãã®å¯èœæ§ãæããããšãã§ããŸããããæ
å ±ãããŸããªãäžã§èª¿ã¹ãªããéçºããããšã¯ãšãŠãã¯ã¯ã¯ã¯ããŸããã