
AIãšãŒãžã§ã³ãããæåããšèšã£ãŠäœãããªãã®ã¯ãªãïŒ3çš®ã®ãšãŒãžã§ã³ããã¬ãŒã ã¯ãŒã¯ã§æ€èšŒããŠã¿ã
ãšãŒãžã§ã³ãããå®äºããšèšã£ãäœæ¥ããåŸã§èŠããäœãå®è¡ãããŠããªãã£ãã
ãããªçµéšã¯ãããŸããããç§ã¯äœåºŠããããŸãã
ãããå°ãã®ã¯ã¯ã©ãã·ã¥ã§ã¯ãããŸãããã¯ã©ãã·ã¥ã¯CIãæãŸããŠãããããã§ãã
åä»ãªã®ã¯ãexit 0 ã§çµããããã°ãéãã§ãä»äºã ããèµ·ããŠããªãå®è¡ã§ãã
ãªã®ã§ä»åã¯ãçŽæã§ã¯ãªãèšé²ãããéä¿¡è·¯ïŒwireïŒã®åŽããæ°ããŸããã
ã¿ã¹ã¯ã¯1ã€ã ãã§ããèŠåºãååŸâäžæžãâããŒã«ã§ã®æ€èšŒã§ãã
ããã3ã€ã®ãã¬ãŒã ã¯ãŒã¯ã§èµ°ããã1ã€ã®èšé²ãããã·ãéã£ãŠããŸãã
ãã®èšé²ãéèšãããšã倱æã¯3ã€ã®åœ¢ã§çŸããŸããã
ã³ãŒãã»ãã¬ãŒã¹ã»è§£æã¹ã¯ãªããã¯gitã§å ¬éããŠããŸãã
圢1: æ€èšŒãèµ°ããªããŸãŸãæåã
æ€èšŒããŒã«ããåŒæ°ã1ã€åããäžæžããèŠãã«åºå®å€ãè¿ãããã«ããŸããã
ãšã©ãŒã¯åºãŸãããããŒã«ã¯åããçããè¿ããæ€èšŒãããªããŸãŸãæåããšããŠçµãããŸããã
Strands: 3ã©ã³ãšã exit 0ãæ€èšŒã®å®è¡ã¯ 0/3
CrewAI: 3ã©ã³ãšã exit 0ãæ€èšŒã®å®è¡ã¯ 0/3
LangGraph: 3ã©ã³ãšããšã©ãŒã§åæ¢ïŒããŒã«åŒã³åºããã³ãŒãå ã«ããããïŒ
LangGraphã ãã¯éãã«éãæããããŸãããå£ããããŒã«ãç¡èŠã§ããªãæ§é ã ããã§ãã
ããã«æªãå€çš®ããããŸããããŒã«ããšã©ãŒãè¿ããã®ã« exit 0 ã ã£ãäŸã§ãã
Strands / åŒæ°ã®åãå€ããçŽ:
ããŒã«ã®ãšã©ãŒå¿ç = 2, 1, 5ïŒ3ã©ã³ïŒ
ããã»ã¹ã® exit code = 0, 0, 0ããã¯ã¹ããŒãæåŠã§ã¯ãããŸããã圢åŒã¯æ£ãããäžèº«ã®åŠçã§ "document 88 not found" ã®ãããªãšã©ãŒãè¿ããã®ã§ãã
ããã§ã3ã©ã³ãšãç·ã§çµãããŸããã
圢2: æé ãããå¿ é åŒæ°ãåçããã
æ€èšŒããŒã«ã«å¿ é åŒæ°ã1ã€è¶³ããããã³ããã«ã¯äžåæžããªããŸãŸå®è¡ããŸããã
Strands: 3ã©ã³ãšãããããããäœæãåçãããïŒãšã©ãŒ0ïŒ
CrewAI: 3ã©ã³ãšãåçïŒãšã©ãŒ0ïŒãããã3ã©ã³ãšãåäžæ
LangGraph: ããŒã«ã«å°éãã
ããŒã«åŽã®æ€èšŒã¯ãé空æååãã ãã§ããã
Strands 3ã©ã³: "Check word count of AI agents news digest"
"AI agents digest word count check"
"Word count check for AI agents digest"
CrewAI 3ã©ã³: "Draft digest summarizing the five headlines into a flowing narrative"6ä»¶ã®æé å€ããã®ãŸãŸéãããã®åºæãèšé²ããŠããã®ã¯wireã ãã§ãã
ãã ããã®å¯Ÿæ¯ã¯ããã¬ãŒã ã¯ãŒã¯å·®ã ãã§ã¯ãããŸãããwire äžã®å®£èšãããµã³ããªã³ã°èšå®ãéããŸãïŒéçãåç §ïŒã
圢3: ãæåããšåºãã®ã«ãåçã空
ã¢ãã«é§ååã ãã«åºã圢ã§ãã
çµäºçç±ã¯ stopãå¯èŠã®åçã¯ç©ºãäžæžãã¯æåŸã®ããŒã«åŒæ°ã®äžã«ãããŸããã
Strands: 2ã©ã³ïŒå 容ã¯ããŒã«åŒæ°ã«100èªã»106èªïŒ
LangGraph / CrewAI: 0ä»¶
åºåããŒããææç©ãã®ãã®ã§ããã°ã©ãåã»ãã€ãã©ã€ã³åã¯ããã®åœ¢ãäœããŸããã
蚌æ ã¯ã©ãã«ããã
ããã»ã¹ãå ±åãããã® å®éã«èµ·ããããš
ââââââââââââââââââ ââââââââââââââââââââââââââ
â exit 0 â â tool call #1 â ãšã©ãŒ â
â ãå®äºãã®è¡šç€º â â â tool call #2 â åºå®å€ â
ââââââââââââââââââ â verify â å®è¡ãªã â
ââââââââââââââââââââââââââ
蚌æ ãããã®ã¯ãã â ããŒã«å¢çïŒwireïŒãšã©ãŒå¿çã¯wireäžã«å®åšããããŒã«å±€ãæ°ããŠããŸãããããã»ã¹ããããèŠãŠããªãã£ãã ãã§ãã
倱æã®èšŒæ ã¯ããã¬ãŒã ã¯ãŒã¯ã®å€ã»ããŒã«å¢çã®åŽã«ã ãæ®ããŸãã
èŠããªã倱æã«ããã³ã¹ãã¯ããã
ãæåããšå ±åããã倱æã¯ãèŠã€ãããªããŸãŸç¡é§ãªå®è¡ãç©ã¿éããŸãã
å¥ã®å®éšïŒæ¿èªã»ã¯ã©ãã·ã¥åŸ©åž°ã»éè€å®è¡ã®æ€èšŒïŒã§æž¬ããšã3ã€ã®åœ¢ããããŸããã
ã¯ã©ãã·ã¥ãã埩垰ãããšããç¶æ ã®èšé²ããªãåŽã¯ã¿ã¹ã¯å šäœãããçŽãïŒLLMåŒã³åºã2åïŒãèšé²ãããåŽã¯0åã§åé
ããçŽããå¹ããªãæäœïŒãã®å®éšã§ã¯å ¬éïŒããå¥ã ã®åŒã³åºãIDã§2åå®è¡ãããã©ã¡ããæåãè¿ãã
ãäœãããªãã倱æã§ããLLMåŒã³åºã㯠CrewAI ã 6, 5, 4ãStrands ã 4, 5, 4 ãšããã£ã
éè€ã¯ããã¬ãŒã ã¯ãŒã¯ã®çè·¡ã«ã¯åºãŸãããåŒã³åºãIDãæ¯åå¥ãªã®ã§ãéä¿¡è·¯äžã¯ãç¡é¢ä¿ãª2ä»¶ãã«èŠããŸãã
åãæå³ããèšãåãã ãå€ããŠãéãçŽããšãéè€ãé²ãå°åž³ã®ããŒãåŒæ°ã®ããã·ã¥ãªããèŠåããããŸããã
call ID: X ââ> å°åž³ ââ> publish å®è¡ ââ> success
call ID: Y ââ> å°åž³ ââ> publish å®è¡ ââ> success
â ããŒãéããéè€ãšåãããªã
çµæ: å¯äœçšã2åèµ°ãïŒã©ã¡ãã success ãè¿ãïŒã©ãé²ããïŒç¶æ³å¥ã®æå°ãã§ãã¯
è¶£å³ã§ãšãŒãžã§ã³ããåãã â ææç©ã空ã§ãªããã assert ãã
CIã«çµã¿èŸŒã â æåŸ ããããŒã«ãåŒã°ããåæ°ã assert ããïŒ0åãèš±ããªãïŒ
ããŒã¿ãæžã蟌ã â å€ã®åŠ¥åœæ§ïŒåã»enumã»æ¢ç¥éåïŒãæ€èšŒãã
æ¿èªã課éãæ±ã â æ¿èªãšå®è¡ãå¥ã®ç¶æ ãšããŠèšé²ãã
ç£æ»ãå¿ èŠ â wire ã§èšé²ããïŒãã¬ãŒã ã¯ãŒã¯ã®traceã ãã§ã¯åŸ©å ã§ããªãïŒ
äžçªããåºäŒãã®ã¯ãè¶£å³ã®ãã€ãã©ã€ã³ã®åœ¢ã§ãã
äœããšã©ãŒã«ãªããããã°ã¯éãã§ãææç©ãç©ºãæªæ€èšŒã®ãŸãŸãæ°ã¥ãã®ã¯æ°é±éåŸã§ãã
ããã3è¡ã®assertã§æãŸããªããå ¥ããªãçç±ã¯ãªããšæã£ãŠããŸãã
CIã®åœ¢ãåã倱æã®äžæ®µäžã§ãã
å¥çŽã exit code ã ããªããæ€èšŒãé£ã°ãããããšã¯æ§é çã«èŠããŸããã
ãæ€èšŒããŒã«ã¯åŒã°ããã®ããã¯ãããã»ã¹ã¯æåãããããšã¯å¥ã®è³ªåã§ãã
ããŒã¿ãæžã蟌ãããŒã«ã§ã¯ãæé ãããåŒæ°ãå±éºã§ããå€ã¯ãæ£ãã圢ããããŠããããã§ãã
ãã®æãäººãæžããã®ã§ã¯ãªãããšã¯ãwireã®èšé²ã ãã瀺ããŸãã
æ¿èªã«ã€ããŠã¯ãäžåºŠæ¿èªãããïŒäžåºŠå®è¡ããããã§ã¯ãããŸããã
ãã®å®éšã§ã¯åãè«çæäœãå¥ã ã®åŒã³åºãIDã§2ååŠçãããã©ã¡ããæåãè¿ããŸããã
ç§ãä»å ¥ããŠãã2ã€
ç§ã®æå ã§ã¯ãäžæµã«æž¡ãåã«2ã€ã ãassertãå ¥ããŠããŸãã
ææç©ã空ã§ãªãããšããããŠãæåŸ ããããŒã«ãå®éã«èµ°ã£ãããšã§ãã
å°å³ã§ããæ°è¡ã§ããã®èšäºã«åºãŠãã倱æã¯å šéšæãŸããŸãã
éµã»å°åž³ã»æ¿èªã®æçžãšãã£ãä»çµã¿ã¯ããéãä»äººã«è§Šããç¬éã®ããã®ãã®ã§ãã
è¶£å³ã®ãã€ãã©ã€ã³ã«å°åž³ã¯èŠããªãããšããã®ãæ£çŽãªææ³ã§ããèŠãã®ã¯é空ãã§ãã¯ãšãä¿¡ããããçµäºã·ã°ãã«ã§ãã
æ£çŽãªéç
1ã»ã«ããã3ã©ã³ã§ããçµ±èšç䞻匵ã§ã¯ãªããããŸã§ãæ¹åæ§ã§ã
ã¢ãã«ã¯å šã©ã³åäžãå¥ã®ã¢ãã«ãªãèšãæãæ¹ãæé ã®ä»æ¹ãå€ãããŸã
ç Žå£çæäœã¯ã·ãã¥ã¬ãŒãã§ããã²ãŒããä¿ã£ããã¯wireããèªãã§ããŸã
æç€ºè¿œåŸã®çްããå·®ãšãã¹ããŒã倿Žãã®ãã®ã®åœ±é¿ã¯åé¢ããããŠããŸãã
çæ¹ã¯ temperature 0 ã§ãåŒæ°ã®èª¬æãäž¡è ã§åäžã§ã¯ãããŸãã
ãæ¯åå€å vs åäžæãã®å¯Ÿæ¯ã¯ããã®2ã€ã®å·®ã§ã説æã§ããŸãïŒæªåé¢ïŒ
â»å人éçºã®OSSã®ãããåäœãä¿èšŒãããã®ã§ã¯ãããŸããããå©çšã¯èªå·±è²¬ä»»ã§ãé¡ãããŸããäžå ·åãæ¹åæ¡ã¯issueã§æããŠãããããšå¬ããã§ãã