ðããã«ããšãŒãžã§ã³ãAIãã¬ãŒã ã¯ãŒã¯ ãã¹ã5éžãð
ããã«ã¡ã¯ãã¿ãªããïŒä»åã¯ãAIéçºã®æªæ¥ãæ¯ãã5ã€ã®ãã«ããšãŒãžã§ã³ãAIãã¬ãŒã ã¯ãŒã¯ãã玹ä»ããŸãïŒãããã®ãã¬ãŒã ã¯ãŒã¯ã䜿ãã°ãè€éãªã¿ã¹ã¯ãç°¡åã«èªååããç¬èªã®AIãšãŒãžã§ã³ããäœæããããšãã§ããŸãããããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãç¹ã«äŒæ¥ã®èªååãããžã§ã¯ããå人ã®ç 究ãããžã§ã¯ãã«ãé©çšå¯èœã§ãæè»ã§åŒ·åãªããŒã«ãæäŸããŸããããã§ã¯ãäžç·ã«åŠã³ãŸãããïŒâš
1. ãšãŒãžã§ã³ããšã¯ïŒð€
ãšãŒãžã§ã³ããšã¯ã倧èŠæš¡èšèªã¢ãã«ïŒLLMïŒã䜿ã£ãŠè€éãªã¿ã¹ã¯ãèªååããAIã¢ã·ã¹ã¿ã³ãã®ããšã§ãããšãŒãžã§ã³ãã¯ããŠãŒã¶ãŒãšã®å¯Ÿè©±ã管çããããå€éšããŒã¿ãœãŒã¹ãšéä¿¡ããããç¹å®ã®ã¿ã¹ã¯ãå®è¡ããæ©èœãåããŠããŸããäŸãã°ãã¬ã¹ãã©ã³ã®äºçŽãååã®ãªã³ã©ã€ã³æ³šæããããžã§ã¯ãã®ãµããŒããªã©ãå€å²ã«ããã圹å²ãæ ãããšãã§ããŸããããã«ããã人éãè¡ãã«ãŒãã³ã¿ã¹ã¯ããšãŒãžã§ã³ãã«ä»»ããããšã§ãå¹çåãå³ããã¯ãªãšã€ãã£ããªæŽ»åã«éäžããããšãå¯èœã«ãªããŸãããŸãããšãŒãžã§ã³ãã¯é²åãç¶ããŠãããçŸåšã§ã¯èªç¶èšèªã§ã®äŒè©±ã«å ããç»åãé³å£°ã®åŠçãããã«ã¯è€éãªææ決å®ãæ¯æŽããããšãã§ããŸãã
2. ãã¬ãŒã ã¯ãŒã¯ã䜿ãçç± ð¡
ãŒãããAIãšãŒãžã§ã³ããæ§ç¯ããã«ã¯ãå€ãã®åŽåãå¿ èŠã§ãããããããšãŒãžã§ã³ããã¬ãŒã ã¯ãŒã¯ã䜿ãã°ã以äžã®ãããªã¡ãªããããããŸãïŒ
éçºã¹ããŒãã®åäž: å¿ èŠãªããŒã«ãæ©èœããããããããã±ãŒãžåãããŠããŸããããã«ãããéçºè ã¯ãšãŒãžã§ã³ãã®åºæ¬æ§é ããã°ããæ§ç¯ããç¹å®ã®ã¿ã¹ã¯ã«å°å¿µããããšãã§ããŸãã
ã«ã¹ã¿ãã€ãºã®èªç±åºŠ: åçš®ããŒã«ãè¿œå ããŠãç¹å®ã®ã¿ã¹ã¯ãç°¡åã«å®è¡ãããããšãã§ããŸããããšãã°ãéèããŒã¿ã®åæã顧客察å¿ã®èªååãªã©ãããŸããŸãªãŠãŒã¹ã±ãŒã¹ã«å¿ããŠã«ã¹ã¿ãã€ãºãå¯èœã§ãã
è€éãªãšã³ãžãã¢ãªã³ã°ã®ç°¡ç¥å: ã¡ã¢ãªç®¡çãå€éšã·ã¹ãã ãšã®çµ±åã容æã«ãããã«ãããã·ã¹ãã å šäœã®è€éæ§ãäœæžãããããžã§ã¯ãã®ç®¡çããããããªããŸããéçºè ã¯ã¢ã«ãŽãªãºã ã®èšèšã«éäžããæè¡çãªèª²é¡ã«æéãå²ãå¿ èŠãæžããŸãã
ã¹ã±ãŒã©ããªãã£: ãã¬ãŒã ã¯ãŒã¯ã¯ããããã¿ã€ããã倧èŠæš¡ãªå®éçšã·ã¹ãã ãžã®ã¹ã±ãŒã«ã¢ããã容æã«ããŸããããã«ãããå°èŠæš¡ãªå®éšããå§ããåŸã ã«æ¬æ Œçãªã·ã¹ãã ãžãšé²åãããããšãå¯èœã§ãã
3. ãã«ããšãŒãžã§ã³ãAIãã¬ãŒã ã¯ãŒã¯ ãã¹ã5 ð
3.1 Phidata ð§
Phidataã¯ã倧èŠæš¡èšèªã¢ãã«ããšãŒãžã§ã³ããšããŠç°¡åã«å€æããããã®PythonããŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã§ããAWSãšã®ã·ãŒã ã¬ã¹ãªçµ±åã«ãããã¯ã©ãŠãã§ã®ãšãŒãžã§ã³ãã®å®è¡ãå¯èœã§ããç¹ã«ãã«ã¹ã¿ã ããŒã«ãè¿œå ããŠæ©èœãæ¡åŒµã§ããã®ã匷ã¿ã§ããPhidataã®ããäžã€ã®å€§ããªç¹åŸŽã¯ããã®ãã«ãã€ã³ã®UIãµããŒãã§ããããã«ããããšãŒãžã§ã³ããããžã§ã¯ãã®ç®¡çã容æã«ãªãããšãŒãžã§ã³ããšçŽæ¥å¯Ÿè©±ããããã®ã·ã³ãã«ã§çŽæçãªã€ã³ã¿ãŒãã§ãŒã¹ãæäŸãããŸãããŸããPhidataã¯ããŒã¿ããŒã¹çµ±åãåŸæã§ãPostgresãPineconeãªã©ã®ããŒã¿ã¹ãã¬ãŒãžãšé£æºããŠãããŒã¿ã®æ°žç¶åããµããŒãããŸãã
ã³ãŒãäŸ:
from phidata.agent import PhidataAgent
# ãšãŒãžã§ã³ãã®åæå
agent = PhidataAgent(name="MyAgent")
# ã«ã¹ã¿ã ããŒã«ã®è¿œå
agent.add_tool(tool_name="DataAnalyzer", tool_function=my_data_analysis_function)
# ãšãŒãžã§ã³ãã®èµ·å
agent.run()
3.2 OpenAI Swarm ð
Swarmã¯è»œéãªãã«ããšãŒãžã§ã³ãã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãã¬ãŒã ã¯ãŒã¯ã§ããšãŒãžã§ã³ãéã®ããã³ããªããïŒã¿ã¹ã¯ã®åŒãç¶ãïŒãç°¡åã«è¡ããèšèšã§ãã軜éã§ã¹ã±ãŒã©ããªãã£ãé«ããããéçºè ã«ãšã£ãŠäœ¿ãããããã¬ãŒã ã¯ãŒã¯ã§ããSwarmã®æ倧ã®åŒ·ã¿ã¯ããã®ã·ã³ãã«ãã«ãããŸããå€ãã®ãã¬ãŒã ã¯ãŒã¯ãè€éãªèšå®ãå¿ èŠãšããäžãSwarmã¯æå°éã®ã³ãŒãã§è¿ éã«ãã«ããšãŒãžã§ã³ãã·ã¹ãã ãæ§ç¯ã§ããŸãããŸããSwarmã¯ã¯ã©ã€ã¢ã³ããµã€ãã§åäœãããããããŒã¿ã®ãã©ã€ãã·ãŒãä¿ããããããšããå©ç¹ããããŸããæè²çšéããããã¿ã€ãéçºã«ã¯æé©ã§ãããååŠè ããçµéšè±å¯ãªéçºè ãŸã§å¹ åºãå©çšã§ããŸãã
ã³ãŒãäŸ:
from swarm import SwarmAgent
# ãšãŒãžã§ã³ãã®äœæ
agent1 = SwarmAgent(name="Agent1")
agent2 = SwarmAgent(name="Agent2")
# ãšãŒãžã§ã³ãéã®ã¿ã¹ã¯åŒãç¶ã
agent1.set_next_agent(agent2)
# ãšãŒãžã§ã³ãã®å®è¡
agent1.run_task(task_data="ããŒã¿åŠç")
3.3 CrewAI ð¥
CrewAIã¯ãå€ãã®äŒæ¥ã䜿çšãã人æ°ã®é«ããšãŒãžã§ã³ããã¬ãŒã ã¯ãŒã¯ã§ã700以äžã®ã¢ããªã±ãŒã·ã§ã³ãšçµ±åå¯èœã§ãããã¶ã€ããŒã¯ããŒã³ãŒãç°å¢ã§ãšãŒãžã§ã³ããäœæããéçºè ã¯ã³ãŒãããŒã¹ã䜿ã£ãŠã«ã¹ã¿ã ãšãŒãžã§ã³ããæ§ç¯ã§ããŸããCrewAIã¯ãšã³ã¿ãŒãã©ã€ãºåãã®æ©èœãå å®ããŠãããäŸãã°ããšãŒãžã§ã³ãã®ããã©ãŒãã³ã¹ããªã¢ã«ã¿ã€ã ã§ã¢ãã¿ãªã³ã°ããããã·ã¥ããŒããæäŸããŠããŸããããã«ãããããžãã¹ããŒãºã«å¿ããŠãšãŒãžã§ã³ãã®åäœãæé©åããçµæãšããŠãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®åäžãå³ãããšãã§ããŸãããŸããCrewAIã®ãã¬ãŒãã³ã°ããŒã«ã䜿ãã°ããšãŒãžã§ã³ãã®ã¹ãã«ã»ãããæ¡åŒµããå¹çãé«ããããã®ã«ã¹ã¿ã ãã¬ãŒãã³ã°ãå¯èœã§ããããã«ããã顧客ã®èŠæ±ã«ç確ã«å¿ãããšãŒãžã§ã³ããäœæããããšãã§ããŸãã
ã³ãŒãäŸ:
from crewai import CrewAgent
# ããŒã³ãŒãç°å¢ã§ãšãŒãžã§ã³ãã®èšå®ïŒäŸïŒ
agent = CrewAgent(name="SupportAgent")
agent.integrate_app("Slack")
agent.integrate_app("Salesforce")
# ãªã¢ã«ã¿ã€ã ã¢ãã¿ãªã³ã°ããã·ã¥ããŒãã®èšå®
agent.enable_monitoring()
# ãšãŒãžã§ã³ãã®ãã¬ãŒãã³ã°
agent.train_skill(skill_name="顧客察å¿", training_data=my_training_data)
3.4 Autogen ð
Autogenã¯ãPythonã.NETã§ãšãŒãžã§ã³ããæ§ç¯ããããã®ãªãŒãã³ãœãŒã¹ãã¬ãŒã ã¯ãŒã¯ã§ããç¹ã«ããŒã«ã«ç°å¢ã§ãšãŒãžã§ã³ããåäœãããããšãã§ããããããã©ã€ãã·ãŒä¿è·ã®é¢ã§ãåªããŠããŸããAutogenã¯éåæã¡ãã»ãŒãžã³ã°ããµããŒãããŠãããè€æ°ã®ãšãŒãžã§ã³ããåæã«ã¿ã¹ã¯ãå®è¡ã§ããã®ãç¹åŸŽã§ããããã«ããããšãŒãžã§ã³ãéã®å¹ççãªã³ãã¥ãã±ãŒã·ã§ã³ãå®çŸãããã¿ã¹ã¯ã®éè¡é床ãåäžããŸãããŸããAutogenã¯ã¹ã±ãŒã©ãã«ãªãããã¯ãŒã¯ãæ§ç¯ããããã®æ©èœãåããŠãããç°ãªãçµç¹éã§åæ£åãšãŒãžã§ã³ããããã¯ãŒã¯ãæ§ç¯ããããšãå¯èœã§ããéçºè ã¯ããã掻çšããŠãè€æ°ã®ãšãŒãžã§ã³ããååãåããããé«åºŠãªã¿ã¹ã¯ãéæããä»çµã¿ãç°¡åã«èšèšã§ããŸãã
ã³ãŒãäŸ:
from autogen import AutogenAgent
import asyncio
# ãšãŒãžã§ã³ãã®å®çŸ©
agent = AutogenAgent(name="LocalAgent")
# éåæã¿ã¹ã¯ã®å®çŸ©
async def main_task():
await agent.run_task(task_data="ããŒã«ã«ããŒã¿åŠç")
# éåæå®è¡
asyncio.run(main_task())
3.5 LangGraph ð§©
LangGraphã¯ãLangChainãšã³ã·ã¹ãã å ã§åäœããã°ã©ãããŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã§ãããšãŒãžã§ã³ãã®è¡åããããŒãããšããŠå®çŸ©ããã¯ãŒã¯ãããŒãç°¡åã«èšèšã§ããŸããã¹ã±ãŒã©ãã«ã§ããšã³ã¿ãŒãã©ã€ãºç°å¢ã«ãé©ããŠããŸããLangGraphã¯ãåãšãŒãžã§ã³ãã®ç¶æ ãã°ã©ãã«ä¿åããæ©èœãæã¡ãã¯ãŒã¯ãããŒã®éäžã§å®è¡ãäžæåæ¢ããåŸããåéããããšãå¯èœã§ãããŸããLangGraphã¯ããŒã¯ã³ããšã®ã¹ããªãŒãã³ã°ãµããŒããåããŠããããšãŒãžã§ã³ããåé¡ã解決ããéã®ããã»ã¹ãéäžè¡šç€ºããããšãã§ããŸãããã®æ©èœã¯ããšãŒãžã§ã³ããã©ã®ããã«ããŠçµè«ã«è³ã£ãã®ããå¯èŠåããã®ã«åœ¹ç«ã¡ãç¹ã«è€éãªã¿ã¹ã¯ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã«ãããŠæçšã§ãããŸããLangSmithãšã®é£æºã«ããã倧èŠæš¡ãªãšãŒãžã§ã³ãã·ã¹ãã ãç£èŠãããã®ããã©ãŒãã³ã¹ãæé©åããããšãã§ããŸãã
ã³ãŒãäŸ:
from langgraph import LangGraphAgent
# ãšãŒãžã§ã³ããšããŒãã®äœæ
agent = LangGraphAgent(name="GraphAgent")
agent.add_node(node_name="ããŒã¿åé", task=my_data_collection)
agent.add_node(node_name="ããŒã¿åŠç", task=my_data_processing)
# ã¯ãŒã¯ãããŒã®å®è¡
agent.execute_workflow(start_node="ããŒã¿åé")
4. ãšãŒãžã§ã³ãã®éçãšèª²é¡ â
AIãšãŒãžã§ã³ãã®æŽ»çšã«ã¯éçããããŸãã
å質ã®ã°ãã€ã: ããŸããŸãªç¶æ³ã«ãããŠãé«å質ãªçµæãæäŸã§ããªãå ŽåããããŸãããšãŒãžã§ã³ãã¯ãããã質åã«å¯ŸããŠäžèœã§ã¯ãªããç¹ã«èšç·ŽãããŠããªãé åã§ã®ç²ŸåºŠãäœäžããããšããããŸããããã«ãããç¹å®ã®ã·ããªãªã§ã¯äººéã®ä»å ¥ãå¿ èŠã«ãªãå ŽåããããŸãã
ã³ã¹ãã®åé¡: ãã¬ãŒãã³ã°ãã¹ã±ãŒãªã³ã°ã«ãããã³ã¹ãã倧ããã§ããç¹ã«ãææ°ã®LLMã䜿çšããå Žåãèšç®ãªãœãŒã¹ã®æ¶è²»ãéåžžã«å€§ãããªããŸããå ããŠãããŒã¿ã®ãã¬ãŒãã³ã°ã«ã¯å°éçãªç¥èãšå€§éã®ããŒã¿ãå¿ èŠã§ãããããã«äŒŽãã³ã¹ããé«ããªããŸãã
ãªã¢ã«ã¿ã€ã æ§ã®èª²é¡: ã¬ã€ãã³ã·ãŒãé«ããšããªã¢ã«ã¿ã€ã ã®é¡§å®¢å¯Ÿå¿ã«åœ±é¿ãåºãå¯èœæ§ããããŸããããšãã°ãã©ã€ããã£ãããé³å£°ã¢ã·ã¹ã¿ã³ããšããŠãšãŒãžã§ã³ãã䜿çšããå Žåãå¿çæéãé ãããšãŠãŒã¶ãŒã®äœéšã«æªåœ±é¿ãäžããããšããããŸãããã®ããããªã¢ã«ã¿ã€ã ã¢ããªã±ãŒã·ã§ã³ã§ã®å©çšã«ã¯ãã·ã¹ãã å šäœã®æé©åãå¿ èŠã§ãã
ã»ãã¥ãªãã£ãšãã©ã€ãã·ãŒã®æžå¿µ: ç¹ã«äŒæ¥ç°å¢ã«ãããŠãAIãšãŒãžã§ã³ããæ±ãããŒã¿ã®ãã©ã€ãã·ãŒãšã»ãã¥ãªãã£ã¯å€§ããªæžå¿µäºé ã§ããé©åãªã¢ã¯ã»ã¹ç®¡çãããŒã¿æå·åã®å®è£ ãå¿ èŠã§ãã
5. ãŸãšã âš
ä»åã玹ä»ãã5ã€ã®ãã¬ãŒã ã¯ãŒã¯ã䜿ãã°ãAIãšãŒãžã§ã³ããå¹æçã«æ§ç¯ããèªååãããã·ã¹ãã ãç°¡åã«éçºããããšãå¯èœã§ããããããã®ãã¬ãŒã ã¯ãŒã¯ã«ã¯ç¹åŸŽãããããããžã§ã¯ãã«å¿ããŠéžæããããšãéèŠã§ããäŸãã°ãã·ã³ãã«ãªãããã¿ã€ããçŽ æ©ãäœãããå Žåã«ã¯Swarmãããšã³ã¿ãŒãã©ã€ãºã¬ãã«ã§å€§èŠæš¡ã«å±éãããå Žåã«ã¯CrewAIãLangGraphãéžã¶ãšè¯ãã§ãããããšãŒãžã§ã³ãã®åã掻çšããŠãããªãã®ããžãã¹ããããžã§ã¯ãã次ã®ã¬ãã«ãžåŒãäžããŸãããïŒð
ã©ãã§ãããïŒãããã®ãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠãã£ãšç¥ãããããšãããã°ããã²ã³ã¡ã³ãã§æããŠãã ãããïŒð¬âš