
ãåæã¯ãã»ãã¥ãªãã£ããŒã«ã«ãªãããLLMãã°å³éçªå€ç·šã
ããã«ã¡ã¯é»ãã°ã§ãðŸ
ãŸãåãã«ã¿ã€ãã«ã®æ°èèšäºèŠãŸãããïŒããåããªãã§ããïŒ
ãã®æ°èããã³ããã¯ç§ã®çžäºãã©ãã¯ãŒããã®ãããããºã@AI Prompt Architectãããã®èšäº
ãã¡ãã«ããããã³ããã®äœ¿çšèš±å¯ããã ããŸããïŒããããºãæ§æ¬åœã«ããããšãããããŸãïŒðŸ
èå³ã®ããæ¹ã¯æ¯éããããºãæ§ã®èšäºãžè¶³ãéãã§ãã ããïŒ
ããã§ã¯æ¬ç·šã§ãðŸ
å
æ¥ããèšäºãnoteã§èŠãŠãããé©ãã®èšäºããããŸããã
åå¿è
ããåãã®ã³ãŒãèšäºã®äžã«èŠéããªãäžæãçºèŠã
åå¿è
ãããèªãèšäºã ãããããäœèšã«ãã°ããã³ããŒããŠãã®ãŸãŸæ¬çªç°å¢ã«æã£ãŠãã人ãåºãã
ããããã³ãŒãããåãã³ãŒãã§è§£èª¬ïŒããšããŠäžäœã«åºãŠããçŸç¶ã«ãLLMãšã³ãžãã¢ãšããŠéåžžã«å±æ©æãèŠããŸããããããããå±ãªãäºãªãã§ãã
ããå人ã§ã¯ãªãäŒç€Ÿã®ç°å¢ã§ãããã£ãã³ãŒããå®è£
ããå ŽåäžæãããšäŒç€Ÿã®åç¶ãå±ã¶ãŸããã»ã©ã®ãã®ã§ãã
å人ã§ãåãããã«å
šè²¡ç£å€±ããããããŸããã倧è¢è£ã§ã¯ãªãããžã§ã
ãããªãã°ããã®ãã©ãããã°ããããããäŒãããããèããŠãããâŠâŠé ã®äžã«é¿ã声ãâŠ
ããŒãããeval âŠâŠâŠã€ãŒãŽã¡ã«ïŒ äœã ãã©ã£ãã§èããããšããé¿ããâŠ
(âŠâŠãã°ããâŠâŠâŠé»ãã°ããâŠâŠèãããŸããâŠâŠ æãåºãã®ã§ãâŠâŠ ãã®æãâŠâŠâŠ)ãããã®ã¯å±
ãŠã ã®ããã®ã¯å±
ãªã æ¬åœã®æã¯ããã«ãã ã»ã åãæãã€ãªãã§å€§åéºã
ã¯ã£ïŒïŒïŒïŒãããã®ãã¬ã³ãºïŒïŒãµãŒãã«ã¡ããïŒïŒïŒ
# å±éºãªã³ãŒã
result = eval(user_input)
# å®è¡çµæ
# â ãµãŒãã«ãããŒãïŒ ãããŒãïŒ ãã¿ã¯ eval ã§ãããã¬ã³ãºãªãã ãïŒã
âŠåŸ
ã£ãŠããã®åãååããããŸãã

ð¿ ããã®ãã¬ã³ãºã£ãŠäœïŒãšããæ¹ãž
2017幎ã«å€§ãããããã¢ãã¡ã§ããäžçäžã®åç©ãããã¬ã³ãºããšãã人åã®å¥³ã®åã«å€èº«ããŠããžã£ããªããŒã¯ãšããåºå€§ãªæ¥œåã§æ®ãããŠããŸãã
ãã®ã¢ãã¡ã®ç¹åŸŽãããå±éºãªåç©ããæãçãç©ããå
šå¡ãããããã¬ã³ãºã«ãªã£ã¡ãããããšãã©ã€ãªã³ãããããã¿ããªç¬é¡ã§æãã€ãªãã§å€§åéºã
ãããŠããã°ã©ããŒãšãããã¬ã®çžã¯æ·±ãã
ããŒã ã®æäžã®2017幎ããããã¬ã®ã»ãªãã ãã§åãããã°ã©ãã³ã°èšèªãKemonoèšèªãããšã³ãžãã¢ã«ãã£ãŠæ¬åœã«çèªããŸããããããŒã®ããŒïŒãã飿ããŠHello Worldãæžããš1000æåãè¶
ãããã€ã§ããåœæã®ãšã³ãžãã¢ãã¡ã¯ããªã«ãããªã«ããïŒãã£ãŠãªã£ãŠãã
ãããŠåœæããèªãç¶ãããéœåžäŒèª¬ãããã
eval()ãæžããç¬éããµãŒãã«ã¡ãããæ¥ãã
ãããŒãïŒ ãããŒãïŒ ãã¿ã¯ãªãã§ãå®è¡ã§ãããã¬ã³ãºãªãã ãïŒã
ãããã9幎ã2026幎ã®LLMãšãŒãžã§ã³ãæä»£ã«ããã®åããŸã éçã§çæ¯ããŠããã®ã確èªãããŸããã

ããŒããããã evalã¡ããïŒ ãªãã§ãåãå
¥ãã¡ããã®âŠã ã£ãŠãä¿¡ããŠãããð

ããŠãeval()ãäœè
ãªã®ãã説æããŸãã
ããã°ã©ã ã®äžçã§ã¯ãæåããšãåœä»€ãã¯å¥ç©ã§ãã
ããšãã°ããªããã¬ã¹ãã©ã³ã§ããã³ããŒã°ããšæžããã¡ã¢ãæž¡ãããšããŸããæ®éã®åºå¡ããã¯ãã®ã¡ã¢ãèªãã§ãåšæ¿ã«ããã³ããŒã°äžäžïŒããšäŒããããããæ®éã®ããã°ã©ã ã®åãæ¹ã§ããæåã¯ãããŸã§æåãåœä»€ã¯åœä»€ãã¡ãããšåºå¥ãããŠãã
ã§ãeval()ã¯éãã
ã¡ã¢ã«ãåšæ¿ã®ç«ãå
šéšæ¶ããŠåž°ãããšæžããŠãããã®ãŸãŸåšæ¿ã«åãã£ãŠå«ã³ãŸããæž¡ããããã®ãããªãã§ãããã®ãŸãŸãåœä»€ãšããŠå®è¡ããã

ããã ãèããšã䟿å©ãããããšæããããããªãã
åé¡ã¯ãã¡ã¢ãæž¡ã人ããã人ãšã¯éããªãããšã§ãã
LLMãšãŒãžã§ã³ãïŒAIãèªåŸçã«åãã·ã¹ãã ïŒã§ã¯ãAIãçæããæååããã®ãŸãŸeval()ã«æž¡ãå®è£
ãåºãŠããããšããããŸããã§ãAIã®åºåã£ãŠãå€éšããã®å
¥åãšåãã§ããããã³ããã€ã³ãžã§ã¯ã·ã§ã³ïŒAIãžã®æªæããåœä»€ã®å·®ã蟌ã¿ïŒã§ããã®ã³ãŒããäžç·ã«å®è¡ããŠããšçŽã蟌ãã ãïŒ
evalã¡ããã¯ç¬é¡ã§å®è¡ããŸãã
ã倧äžå€«ãã¿ããªãã人ã ããïŒã

ãããŠã»ãã¥ãªãã£çã®çµè«ã¯ã·ã³ãã«ã§ãã
ãeval()ãå®å
šã«äœ¿ãæ¹æ³ã¯ååšããªãã
ãããã©ãããã°ããã®ïŒãå®ã¯evalã¡ããã«ã¯å¹ŒéŠŽæãããŸãã

ãã®å¹ŒéŠŽæã®ååã¯ãastevalã¡ããã
ãå€ä»£ã®ç¥èã®ã©ã€ãã©ãªïŒå®å
šãªã³ãŒãå®è¡ã®å®è·è
ã
evalã¡ãããšã¯çéã®ãã¬ã³ãºã§ããæž¡ããããã®ãå³å®è¡ããevalã¡ããã«å¯ŸããŠãastevalã¡ããã¯ãŸã**æ§ææšïŒASTïŒ**ã§äžèº«ãå
šéšèª¿ã¹ãŠãã倿ããŸãã
æ§ææšãšããã®ã¯ãã³ãŒãããåœä»€ã®èšèšå³ãã«åè§£ãããã®ã§ãããããã¯è¶³ãç®ã ããããã¯æ°å€ã ããâŠâŠããããã¯ã·ã¹ãã åœä»€ã ãæåŠããšããå
·åã«ãäžåäžåãã§ãã¯ããã

evalã¡ãããçé¢ãå
šéæŸããŠãããšããããastevalã¡ããã¯å
šå¡ã«èº«åèšŒãæ±ããæ€åå®ã§ãã
ãã ãèŠåŽäººã§ãããã
ãã¡ãã£ãšåŸ
ã£ãŠïŒããã確èªããŠããïŒã ãã ããèšã£ããããïŒïŒããªãã§å
ã«å®è¡ããã®ïŒïŒã
evalã¡ããã®é£ã§ãã£ãšããå«ã³ç¶ããŠããããããastevalã¡ããã§ãã
å®éã®ã³ãŒãã§èšããšãããªããŸãã
# evalã¡ããïŒç¡é²åïŒ
result = eval(user_input)
# astevalã¡ããïŒæ€åå®ïŒ
# â»pip install asteval ãå¿
èŠã§ã
from asteval import Interpreter
aeval = Interpreter()
result = aeval(user_input)
# â å±éºãªåœä»€ã¯æ§ææšã®æ®µéã§ãããã¯

ãããªããŒã·ã§ã³ïŒããããªã®å
¥ãããé
ããªã£ã¡ãããïŒã
evalã¡ããã¯ä»æ¥ãç¬é¡ã§ããé£ã§astevalã¡ãããé ãæ±ããŠããŸãã
ããŠããããããæ¬é¡ã§ãã
å
æ¥ããããnoteã§èŠã€ããèšäºã®è©±ãããŸãããFunction Callingå
¥éããšããåå¿è
åãã®èšäºã§ããåãã³ãŒãã§è§£èª¬ïŒããšããã¿ã€ãã«ã§ããã
ãã®èšäºã®äžã«ããããªã³ãŒãã玹ä»ãããŠããŸããã
# å
èšäºã®ã³ãŒãïŒåçŸïŒ
result = eval(llm_output)
evalã¡ãããããŸããã
ãããããããªã³ã¡ã³ãä»ãã§ã
# â»æ¬çªç°å¢ã§ã®äœ¿çšã¯èªå·±è²¬ä»»ã§ãé¡ãããŸã
result = eval(llm_output)
ããã§éèŠãªããšããäŒãããŸãã
ã³ã¡ã³ãã¯ã³ã³ãã€ã©ã«ç¡èŠãããŸãã
ããã°ã©ã ãåããã³ã³ãã¥ãŒã¿ã¯ã#以éã®æåãèªã¿ãŸããããèªå·±è²¬ä»»ã§ãé¡ãããŸãããšæžããŠãã£ãŠããevalã¡ããã¯å
æ°ã«åããŸããå
責ã³ã¡ã³ãã¯ã³ãŒãã®å±éºæ§ããŒãã«ããŸãããèªè
ãžã®èŠåã«ã¯ãªããããããªããã§ãåäœã¯å€ãããªãã
åå¿è
åãã®èšäºã ããäœèšã«ãã°ãã
ãåãã³ãŒãã§è§£èª¬ïŒããšããèšäºãèŠãåå¿è
ãããããã®ã³ãŒããã³ããŒããŠæ¬çªç°å¢ã«è²Œãä»ãããevalã¡ããã¯ç¬é¡ã§åãåããã倧äžå€«ãã¿ããªãã人ã ããïŒã
ãã®èšäºã«ã¯ã»ãã«ãåé¡ããããŸããã
ã²ãšã€ã¯ç¡éã«ãŒãã®ãªã¹ã¯ãAIãããã£ãšèª¿ã¹ãŠããšç¹°ãè¿ãåœä»€ãç¶ãããšããããã°ã©ã ãæ°žé ã«æ¢ãŸããªããªãèšèšã«ãªã£ãŠããŸãããåºå£ã®ãªãè¿·è·¯ãããããèµ°ãç¶ããã€ã¡ãŒãžã§ãã
ããã²ãšã€ã¯ã¹ãããã®äžžããšçç¥ãã3ã¹ãããã§è§£èª¬ïŒããšæžããŠããã®ã«ãå®è£
ã¯2ã¹ãããã§çµãã£ãŠããŸãããçç¥ãããã¹ãããããããAIãšããã°ã©ã ãæ£ããäŒè©±ããããã«å¿
èŠãªéšåã ã£ãã«ããããããã
æªæã¯ãªãã£ããšæããŸãã
ã§ãevalã¡ãããšåãã§ããåæã§ãäžå¯§ã«ããããŠçµæçã«å±éºãªã³ãŒããåºããŠããã

ã§ã¯ãã©ãçŽããã
é»ãã°ãæžãçŽããã³ãŒããããåå¿è
ã®æ¹ã«ãäŒããéšåã ãæç²ããŸãã

ãã®1ïŒevalã¡ãããastevalã¡ããã«äº€ä»£ãã
# â å
èšäº
result = eval(llm_output)
# â
ä¿®æ£åŸ
from asteval import Interpreter
aeval = Interpreter()
result = aeval(llm_output)
ãã£ãããã ãã§ãæ€åå®ãé
眮ãããŸãã
ãã®2ïŒç¡éã«ãŒãã«åºå£ãã€ãã
max_steps: int = 8
while step < max_steps:
  # åŠç
  step += 1
åºå£ã®ãªãè¿·è·¯ã«ãéåžžå£ãã€ããã€ã¡ãŒãžã§ãã
ãã®3ïŒã¿ã€ã ã¢ãŠããã€ãã
1ç§ä»¥å
ã«çããåºãªããã°åŠçãæ¢ããä»çµã¿ãå
¥ããŸãããevalã¡ããããã¡ãã£ãšåŸ
ã£ãŠãŠïŒããšèšããªããæ°žé ã«æ»ã£ãŠããªãäºæ
ãé²ããŸãã
ä¿®æ£ã³ãŒãã®å
šæãšæ®ãã®æ¹åç¹3ã€ã¯ããã®èšäºã®äžã«ããæè¡è£éºPDFã§è§£èª¬ããŠããŸãã
ããã§å°ãç«ã¡æ¢ãŸããŸãã
ãèªå·±è²¬ä»»ã§ãé¡ãããŸãããšããã³ã¡ã³ããæžãã人ã¯ããã¶ãæªæããªãã£ããããã芪åå¿ããæžããã¯ãã§ããã§ãããã°ã©ã ã®äžçã§ã¯ãå®å
šã¯ã³ãŒãã§æžããã®ã§ããã³ã¡ã³ãã§æžããã®ã§ã¯ãããŸããã
# â ã³ã¡ã³ãã§èª€éåã
# â»æ¬çªç°å¢ã§ã®äœ¿çšã¯èªå·±è²¬ä»»ã§ãé¡ãããŸã
result = eval(llm_output)
# â
ã³ãŒãã§é²ã
from asteval import Interpreter
# â»pip install asteval ãå¿
èŠã§ã
aeval = Interpreter()
result = aeval(llm_output)
èŠåã¯ã³ã¡ã³ãã«æžããªããé²åŸ¡ã¯ã³ãŒãã«æžããããã ãã§ãã

ãã®evalã¡ããã¯ããããã¬ãã°å³éã第1å·ã§ãã
AIãããã°ã©ã ã®äžçã«ã¯ããŸã ãŸã éçã®ãã¬ã³ãºãæœãã§ããŸããnoteã®ãµãã³ããæ©ããŠãããšã仿¥ãã©ããã§æ°ããªçæ
ã芳枬ãããŸãã
çºèŠãããå ±åããŸãã
次ã®ãã¬ã³ãºãäœã«ãªããã¯ããã£ãŒã«ãã¯ãŒã¯æ¬¡ç¬¬ã§ãðŸ

ãã£ãšè©³ããç¥ããããã¬ã³ãºã¯ãã¡ãâ
ãå
責ã³ã¡ã³ãã£ãŠãããªã«ç¡æå³ãªã®ïŒã ãastevalã¡ããã§ãçªç Žã§ããæ»æãããã£ãŠæ¬åœïŒã ããµã³ãããã¯ã¹ã£ãŠäœïŒã ãä¿®æ£ã³ãŒãã®å
šæãèŠããã
ãããããã¬ã³ãºã®ããã«ã峿žé€šãçšæããŸããã
ð æè¡è£éºPDFãevalã¡ããã®æ£äœãšãå®å
šãªã³ãŒãå®è¡ã®èšèšã
ä¿¡é Œå¢çã®è©±ã»æ»æã®æ§é ã»astevalå®è£
ã®è©³çްã»ä¿®æ£ã³ãŒãv2å
šæãåé²ããŠããŸããé£ãããšããã¯å
šéšãã£ã¡ã«çœ®ããŠãããŸãã
[æè¡è£éºPDFã¯ãã¡ã]
æåŸã«ã
evalã¡ããã¯æªãåãããããŸããã
åæã§ãå
šåã§ãæž¡ããããã®ãå®è¡ããŠããã ãã§ããã§ã2026幎ã®LLMãšãŒãžã§ã³ãæä»£ã«ãæ€åãªãã§å
šéšåãå
¥ããèšèšã¯ãåæããšçãããŸãã
é£ã§astevalã¡ããã仿¥ãå«ãã§ããŸãã
ãã ããèšã£ããããïŒïŒã
ã¿ãªããã®ã³ãŒãã«ãastevalã¡ãããã
ãæèŠãææ³ãåŸ
ã¡ããŠããŸãðŸ

â ïžãã®èšäºã¯ç¹å®ã®èšäºãäœè
ãæ¹å€ãããã®ã§ã¯ãããŸããã
ð€ãã®èšäºã¯æç« èæ¡ãé»ãã°100%ãç·šéãopusã¡ãããå·çãé»ãã°70% ææã¡ãæ ¡æ£ãopusã¡ãã30%
PDFè£éºãæç« é»ãã°80% PDFç·šéopusã¡ãã100%ã§ãéãããŸããã
#LLMãã°å³é
#LLMãšãŒãžã§ã³ã
#ããã°ã©ãã³ã°
#AIãšã³ãžãã¢
#ããã®ãã¬ã³ãº
#AI #åå¿è
åã
#note
#ä»é±ã®note