
ð€AIãšãŒãžã§ã³ããäœã£ãŠåŠãã â䜿ãåŽâããâåµãåŽâã«ãªããšããããšïŒå ¬åŒããã¥ã«ãªãç¥èãšæ°ã¥ããå®è·µã®ãªã¢ã«ãå šãŠã·ã§ã¢ããŸã
ãAIãšãŒãžã§ã³ãå 幎ããªãä»AIãšãŒãžã§ã³ããªã®ãïŒ
ChatGPTãã¯ãããšãã察話åAIãæ¥éã«æ®åããäžãã調ã¹ããã§ã¯ãªããäžç·ã«èããŠããããAIãžã®ããŒãºãé«ãŸã£ãŠããŸãããããåæã®AIã¢ãã«ã«ã¯åŠç¿ããŒã¿ã®ã«ãããªããããããªã¢ã«ã¿ã€ã ãªæ å ±æäŸãèŠæãšãã課é¡ããããŸããã
ãã®èª²é¡ã解決ããéµãšããŠæ³šç®ãããŠããã®ããå€éšããŒã«ãAPIãæŽ»çšããææ°æ
å ±ãååŸããªããèªåŸçã«æèã»è¡åã§ããAIãšãŒãžã§ã³ãã§ãã
ä»åã¯ãPythonãšsmolagentsãã¬ãŒã ã¯ãŒã¯ã䜿ã£ãŠãç§ãå®éã«æ§ç¯ãããæ±äº¬äº€éæ¡å
ãšãŒãžã§ã³ããã®éçºããã»ã¹ãæ°ã¥ããªã©ã玹ä»ããŸãã
ð€Smolagentsã«åºäŒã£ããã£ãã
ããšããšç§ã¯ãGoogleãçºè¡šããEmbeddingãAIãšãŒãžã§ã³ãã«é¢ãããã¯ã€ãããŒããŒãèªãã§ããããæ¬¡ã«æ¥ãã®ã¯ãæ€çŽ¢ã§ã¯ãªããšãŒãžã§ã³ãã ããšåŒ·ãæããŠããŸããã
ã¡ããã©ãã®ã¿ã€ãã³ã°ã§ãHugging Faceãæ°ãã«ãªãªãŒã¹ãããšãŒãžã§ã³ããã¬ãŒã ã¯ãŒã¯ãsmolagentsãã®ååšãç¥ãããããã ïŒããšæã£ãã®ãéçºã®ãã£ããã§ãã
æ¥é ããHugging Faceã®æŽæ°æ
å ±ãã©ã€ãã©ãªã®ååããã§ãã¯ããŠããããšããããsmolagentsã®èšèšææ³ã軜éãã«æ¹ãããããã«èªåã®ãããžã§ã¯ãã§æŽ»çšããããšã決ããŸããã
ãããŠæåã«åãçµãã ã®ããæ±äº¬ã®å
Œ
±äº€éã«ç¹åããAIãšãŒãžã§ã³ãã®æ§ç¯ã§ãã
ð€ãšãŒãžã§ã³ãã®èšèšææ³
ã©ããªç®çã§ãæ±äº¬ã®äº€éæ¡å ãšãŒãžã§ã³ãããäœã£ãã
æ³å®ãŠãŒã¶ãŒãšãŠãŒã¹ã±ãŒã¹ïŒäŸïŒæ è¡è ãæ¥æ¬èªã»è±èªå¯Ÿå¿ïŒ
ã·ã¹ãã æ§æå³
ãããã®è§£èª¬ã¯ååã®Noteèšäºã«ãŸãšããŠãããŸãã®ã§ããã¡ãã®ãªã³ã¯ããèªãã§ã¿ãŠäžããã
ðå®è£ ããã»ã¹ã®å šè²
ðå°ããªäžæ©ããå§ãŸã£ããæ±äº¬ãšãŒãžã§ã³ãéçºã®éã®ã
ããæ±äº¬ãžæ
è¡ããããšã®ããæµ·å€ã®äººãã¡ãå£ãæããŠèšãã®ãã
æ±äº¬ã®å
Œ
±äº€éç¶²ã¯è€éã§è§£ããã«ãããšããäºã§ããè¿·ã£ãæã¯ãGoogle MapsãYahoo!ç·è·¯æ
å ±ãªã©ã§å
¥åããã°å€§äœæ£ç¢ºãªä¹ææ¡å
ãåºãŠããŸãããããã§ãèªç¶èšèªã§ãã£ãã圢åŒã§æé©ã«ãŒãã ããããªããŠãã®ä»ã®äºçްãªçŸå°æ
å ±ãªã©äŒããŠããããšãŒãžã§ã³ããããã°ãå€åœã®æ¹ãåã¶ã®ã«ãªããšãããããããªæãä»ãããå§ãŸããŸããã
ðå¿ èŠãªã©ã€ãã©ãªãšåæèšå®
ã€ã³ã¹ããŒã«äœæ¥ã¯æ¯èŒçã¹ã ãŒãºã§ãããããsmolagentsãã©ãèšèšããã°ããããã¯ããã¥ã¡ã³ããèªã¿ãªããææ¢ãç¶æ ããšãã«ãšãŒãžã§ã³ããå€éšã®ããŒã«ãåŒã³åºããŠäœ¿ãããã«ã¯ããã®ããŒã«èªäœã颿°ãšããŠå®çŸ©ããªããã°ãªããªãã®ã§ããã®æ§ç¯æ®µéã§è²ã è¿·ããŸããã
ç§ã¯ãæ±äº¬ã®çµè·¯æ€çŽ¢ãã芳å ã¹ãããã®ææ¡ããšãã2ã€ã®åœ¹å²ãæããããã£ãããããããããç¬ç«ããããŒã«ãšããŠå®çŸ©ãããšãŒãžã§ã³ãããã®éœåºŠåŒã³åºããããã«ããŸãããããã§åããŠããããŒã«ã®èšèšã¯ããšãŒãžã§ã³ãã®ç¥èœãã®ãã®ã圢ã¥ãããã®ã ããšå®æããç¬éã§ãã
ð·ââïžCodeAgentã®èšå®ãšã·ã¹ãã ããã³ããèšèš
æ£çŽããã®ãã§ãŒãºãæãé ãæ©ãŸããéšåã§ããããšãŒãžã§ã³ãã·ã¹ãã ã®ã³ã¢ã®éšåã§ãã
CodeAgentã§ã¯ã·ã¹ãã ããã³ãããèªåã§å®çŸ©ã§ããŸããããã®ããã³ããããšãŒãžã§ã³ãã®ãäººæ Œãããæèåè·¯ããæ±ºããŠããŸãã»ã©éèŠã§ããæåã¯ãã³ãã¬ãŒãéãã«é²ããŸãããããã¯ãããŸãããŒã«ã䜿ããªãã£ãããçµè·¯æ¡å
ãšèгå
æ¡å
ãæ··åããããšãæ³å®å€ã®è¡åãåãäºãå€ã
ãããŸããã
ãã®åºŠã«äœåºŠãããã³ãããæžãçŽããŸããã
説æãé·ãããŠç°¡æœãããªããšæ··ä¹±ããã
æç€ºããããŸãã ãšåæã«è§£éããŠããŸãã
éã«çްãããããšè¡åã§ããªããªãã
ããã¯ã·ã¹ãã ããã³ããèšèšã®é£ãããäœæããç¬éã§ããã
ã·ã¹ãã ããã³ããã«ã€ããŠã®è©³ãã解説ã¯ããã¡ãã®Noteèšäºããã©ããã
ð ïžUIã®èšèšãšStreamlitå°å ¥
ãšãŒãžã§ã³ãã®èšèšãäžæã宿ããŠãããããã©ããŠãŒã¶ãŒã«å±ãããã·ãã¥ã¬ãŒã·ã§ã³ããã®ã¯ãŸãå¥ã®åé¡ã§ãããç§ã¯ä»¥åããStreamlitãšããUIãã¬ãŒã ã¯ãŒã¯ã䜿ã£ãäºããã£ãã®ã§ãè¿·ããStreamlitã䜿ã£ãŠå¯Ÿè©±åã®UIãæ§ç¯ããŸããã
ð§ªãã¹ãã©ã³ïŒæåãšå€±æã®çéã§
æåã¯ãã°ããããŸãè¿çãè¿ã£ãŠããããšãé£ããããšãŒãžã§ã³ãã®åãã«è©Šè¡é¯èª€ããæ¥ãç¶ããŸãããåå ãã©ãã«ããã®ããæ¢ãããã«ããLangFuseãšããããŒã«ãã³ãŒãå ã«å°å ¥ããŸãããLangFuseã¯ããšãŒãžã§ã³ãã®æèããã»ã¹ãã³ãŒãå®è¡ãããŒã«åŒã³åºãã®æµããå¯èŠåã»èšé²ããŠãããåªãããããã°ããŒã«ã§ãããã®ããŒã«ã䜿ã£ãŠããã³ããã®å€±æã®æµãã確èªããªããæ¹åãç¶ããŸããã
ðšãéèŠãåŠã³ãšæ°ã¥ãïŒsmolagentsã®è¯ããšããããŠâèŠåŽããããš
Smolagentsã¯ãéåžžã«è»œéã§ã·ã³ãã«ã«å§ãããããšãŒãžã§ã³ããã¬ãŒã ã¯ãŒã¯ã§ããReActããŒã¹ã§èšèšãããŠãããæäœéã®ã³ãŒãã§åŒ·åãªãšãŒãžã§ã³ããæ§ç¯ã§ãããšããç¹ã§ãéåžžã«é åçãªããŒã«ã ãšæããŸãããããããã®äžæ¹ã§ãåŠã¹ã°åŠã¶ã»ã©âèŠããŠããªããã®âã®ååšã«ãæ°ã¥ããŸããã
ð¡ äžçªå€§äºãªã®ã«ãããã¥ã¡ã³ãã«ã»ãšãã©æžãããŠããªããã·ã¹ãã ããã³ãããã®è©±
ç§ã«ãšã£ãп倧ã®å£ãšãªã£ãã®ãããšãŒãžã§ã³ãã®System Promptã®èšèšã§ããäžèšã«ããããŸãããSmolagentsã§ã¯ããšãŒãžã§ã³ãã®èãæ¹ãæ¯ãèããå®çŸ©ããã·ã¹ãã ããã³ããã®ãã³ãã¬ãŒãããã§ã«çšæãããŠããŸããããã©ã«ããã³ãã¬ãŒããããã®ã§ãææªãã·ã¹ãã ããã³ããèªåã§çšæããªããŠããšã©ãŒã¯çºçããŸããããããããã¡ã€ã³ç¹ååãšãŒãžã§ã³ãïŒããšãã°ãæ±äº¬äº€éãã«ç¹åãããã®ïŒãæ§ç¯ããã«ã¯ã©ãããŠãèªåã§ã·ã¹ãã ããã³ãããèšèšããªããã°ãªããªããšæããŸããããããåé¡ã¯ãææ°ããŒãžã§ã³ã®ããã¥ã¡ã³ãã«ã·ã¹ãã ããã³ããã«é¢ããèšè¿°ãã»ãšãã©ãªãããšããªããã®ããã«ãã³ãã¬ãŒããåãããŠããã®ãããããããã©ã飿ºããŠåããŠããã®ããåããããçãã®ãªãææ¢ãç¶æ ã§è©Šè¡é¯èª€ãç¶ããæ¥ã ã§ããã
ð ããã¥ã¡ã³ããèªããšããâåŠã³ã®æè¡â
ç§ã«ã¯æšå¹ŽãŸã§ãœãããŠã§ã¢éçºåéã§æŽ»èºããã¡ã³ã¿ãŒãããŸããã圌ã¯Pythonã®ã«ã³ãã¡ã¬ã³ã¹ã§ãã¹ããŒããããããšãããèåãªããã°ã©ããŒã§ãã圌ãè¯ãç§ã«èšã£ãŠããã®ã¯ã
ãã³ãŒããæžãããšã倧äºã ããããã¥ã¡ã³ããèªãåãåãããã倧äºã ãã
ãã®ãããžã§ã¯ããéããŠå確èªããããšã¯ãããã¥ã¡ã³ããèªãããšèªäœã«ãæè¡ããããšããããšã§ãããªãŒãã³ãœãŒã¹ãããžã§ã¯ãã®ããã¥ã¡ã³ãã«ã¯å ±éãã©ãŒãããã®ãããªãã®ããããšã¯ãããå 容ã®ç²åºŠãæ§æã¯ãããžã§ã¯ãããšã«å€§ããç°ãªããŸããHugging Faceã¯äžå¯§ãªããã¥ã¡ã³ããæäŸããŠãããŠããŸãããããã§ãããã€ã¬ãã«ã®æŠå¿µããšãäœã¬ãã«ã®å®è£ ãã®éã«ãã倧ããªã®ã£ããã¯ãèªåã§åããªããã°ãªããŸãããç¹ã«Smolagentsã®ãããªãŸã çºå±éäžã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãèšèšææ³ãã®ãã®ããŸã ããã¥ã¡ã³ãã«æžãããŠããªãããšãå€ããã³ãŒãããŒã¹ã«é ããæå³ãèªã¿è§£ãå¿ èŠããããšæããŸããããªã®ã§ãããã¥ã¡ã³ããèªããšåæã«ãœãŒã¹ã³ãŒããèªã¿èŸŒãããã«ããŠããŸãããããã³ãããã³ãã¬ãŒãã®å éšæ§é ãCodeAgentã®æåãMemoryã®ä»çµã¿ããããããã£ãå éšå®è£ ãèªãäºã§ãããããããšãŒãžã§ã³ãã®åãããå°ããã€çè§£ã§ããããã«ãªãã®ã§ãã
ðããããäœãæžãããŠããªãã®ãïŒããåžžã«èãã
ããã¥ã¡ã³ããèªããšãã«å€§äºãªã®ã¯ããã èªã¿æã«ãªã£ãŠäœãæžãããŠããããçè§£ããã ãã§ãªãããäœãæžãããŠããªãã®ãããæèããªããèªã¿é²ããŠããäºã§ãã
ãªããã®ãããªèšèšã«ãªã£ãŠããã®ã
æ¬æ¥æžãããã¹ããªã®ã«çç¥ãããŠããã³ã³ã»ããã¯ïŒ
æžãããŠããªãéšåã«ãæé»ã®åæãã«ãŒã«ã¯ååšããªããïŒ
ããã¯èª°åãã«æžããããã®ãªã®ãïŒ
ãã®ãããªçåãåžžã«æã¡ãè¶³ããªãéšåã¯èªåã§è£å ããèŠç¹ãšè¡ååãããšãŒãžã§ã³ãéçºã«éããã©ã®çš®é¡ã®ãããžã§ã¯ãéçºã«ãäžå¯æ¬ ã ãšå確èªãããããŸããã
ðŠŸãªãŒãã³ãœãŒã¹ãžã®è²¢ç®ããèªåãäžæ®µéäžã®ã¬ãã«ã«åŒãäžããŠããã
ç§ã¯AIãšãŒãžã§ã³ããæ§ç¯ããéçšã§ããã åã«åã身ã§ã䜿ãåŽãã ãã«çãŸãããã¯ãããŸããã§ãããSmolagentsã®ããã¥ã¡ã³ããŒã·ã§ã³ããšãŒãžã§ã³ãã®ã³ãŒã¹ã«ç®ãéããªããã
ãããã¯ãã£ãšæ¹åã§ããã¯ãã
ãããã®éšåã¯ãã£ãšããããããèšãæããããã¯ãã
ããã®éšåã®ã³ã³ã»ããã¯ééã£ãŠããããããªããïŒã
ãšãæ°ã¥ããããšãäœåºŠããããŸãããããããæ°ã¥ãããã®ãŸãŸæµãã®ã§ã¯ãªããèªåã®åŠã³ããè²¢ç®ãã«å€ããææŠãšããŠãå®éã«å
¬åŒã®Hugging Face ãšãŒãžã§ã³ãã³ãŒã¹ã®GitHubãªããžããªã«ã³ã³ããªãã¥ãŒãããããšãå§ããŸãããIssueãåºããããPull Requestãéã£ãããã¡ã€ã³ãããŒãšãã£ã¹ã«ãã·ã§ã³ãéãããã
ãã®çµéšãéããŠãïŒã€ã®å€§ããªæ°ã¥ãããããŸããã
â åŠã¶ããšãè²¢ç®ãããã¯äž¡ç«ããïŒã³ãŒã¹ãããªã¢ã«ãããã¥ã¡ã³ãã«ç®ãéããªãããæµ®ããã§ããçåç¹ããã®ãŸãŸæ¹åææ¡ã«çã蟌ãäºã§ãåŠç¿ãšè²¢ç®ãåæã«é²ã¿ãŸãã
â ãªãŒãã³ãœãŒã¹ã¯ãèªãåããããçŽãåãïŒéåã³ãŒããçè§£ããŠçµããããšããåã身ã®å§¿å¢ã§ã¯ãªããããã£ãšè¯ãã§ããªããïŒããšèããèŠç¹ããã³ãŒãåãäžæ°ã«é«ããŠãããŸãã
â è±èªã¯å£ã§ã¯ãªããå ±éèšèªãïŒè±èªãèŠæãªæ¹ã¯ãæåã¯GitHubã¬ããžããªãŒå ã®ãããšãã«ç·åŒµãããããããŸããããããã倧æµã®ãªãŒãã³ãœãŒã¹ã®ãããžã§ã¯ãã¯ã³ãã¥ããã£ãŒããšãŠããªãŒãã³ã§ãåããŠã®è²¢ç®è ãè¿ãå ¥ããäœå¶ãé°å²æ°ãæŽã£ãŠããŸããæè¡ãéãã察話ãæãç«ã€ãšãã宿ãåŸãããã®ã§ããšãŠãè²¢ç®ãç²æããããŸãã
ð©âðãããããšãŒãžã§ã³ããåŠã¶äººãž
ãšãŒãžã§ã³ãã®åŠç¿ãéçºãå§ããã°ããã®æ¹ããããåŠã¶ã ãã§çµãããªããäœéšãããŠã»ãããšæã£ãŠããŸãã
ææãããã¥ã¡ã³ãããœãŒã¹ã³ãŒããåç
§ããã ãã§ã¯ãªãã
èªåãã€ãŸããããã€ã³ããIssueãšããŠå ±æãããã
ä¿®æ£ã§ããããªç®æãPull RequestãšããŠéã£ãŠã¿ã
ããããäžæ©ãèžã¿åºãäºã§ãããªãèªèº«ã®çè§£ãæ·±ãŸãã ãã§ã¯ãªããæªæ¥ã®åŠç¿è
ã®å©ãã«ããªããŸãã
ããããããªãŒãã³ãœãŒã¹ã®ééå³ã§ãã
èªãããšãå®è·µããäºãçãããšããããŠè²¢ç®ããããšã
ãããããªãŒãã³ãœãŒã¹ããæå€§éåŠã¶ããã®ïŒã€ã®èŠç¹ã ãšä¿¡ããŠããŸãã
ðïžåèè³æïŒã¬ããžããªãŒ
Smolagents ããã¥ã¡ã³ããŒã·ã§ã³
Hugging Face ãšãŒãžã§ã³ãã³ãŒã¹
æ±äº¬äº€éæ¡å ãšãŒãžã§ã³ããããŒã¹ã«ãããšãŒãžã§ã³ããã³ãã¬ãŒã
ãããããšãŒãžã§ã³ããå®éã«äœ¿ã£ãŠã¿ãããšãã§ããŸãã