ã¯ããã«
ãC#ã®å
¥éæžãäžéãèªã¿çµããã®ã«ãã©ãã«ãã¢ã€ã¢ã€ãæ®ãââãããªçµéšã¯ãããŸãããããã®é£èŒã§ã¯ãC#ã®ã€ãŸãããããæŠå¿µããçæAIïŒChatGPTãGeminiãªã©ïŒãšã®å¯Ÿè©±ãéããŠæ»ç¥ããŠãããŸãã
ããã€ã³ãã¯ãAIã«ãæããŠããããå§¿å¢ã§ããããããªãããšãçŽ çŽã«ã¶ã€ããæ·±æãããã³ãŒããæžãããæ€èšŒããããã®æµãã身ã«ã€ããã°ãã©ããªæŠå¿µã§ãAIã䜿ã£ãŠèªåã§åŠã¹ãããã«ãªããŸãã
ã第1åã®ããŒãã¯ãifæå°çããifæå°çããªããããªãã®ããæ¹åããææ®µã¯ã©ããããã®ããAIã䜿ã£ãŠæ»ç¥ããŠãããŸãã
ãŸãã¯ã³ãŒããèŠããŠãäœãåé¡ïŒããšèã
ãåŠç¿ã®åºçºç¹ã¯ãããã®ã³ãŒããäœããŸããæ°ãããããšããéåæã§ãã
ãããªãã¯ãã³ã³ããã®ã¬ãžã·ã¹ãã ãéçºããŠããŸããæåã¯ã¯ã¬ãžããã«ãŒãã ã察å¿ããã°ããã£ãã®ã§ãããé»åãããŒãQRã³ãŒã決æžãããšèŠæãå¢ããŠããŸãããæ¥ãã§å¯Ÿå¿ããã³ãŒãããã¡ãã§ãã
public void ProcessPayment(string paymentType, decimal amount)
{
if (paymentType == "CreditCard")
{
Console.WriteLine($"ã¯ã¬ãžããã«ãŒãã§ {amount}å ãæ±ºæžããŸãã");
}
else if (paymentType == "ElectronicMoney")
{
Console.WriteLine($"é»åãããŒã§ {amount}å ãæ±ºæžããŸãã");
}
else if (paymentType == "QRCode")
{
Console.WriteLine($"QRã³ãŒã決æžã§ {amount}å ãæ±ºæžããŸãã");
}
}
ãçŽ çŽãªã³ãŒãã§ããããã®ãŸãŸæ±ºæžææ®µãå¢ãç¶ãããã©ããªãã§ãããïŒ
ã5çš®é¡ã10çš®é¡ãšå¢ããŠãããšãã¡ãœãããè¥å€§ããæ°ãããŸãããã®éåæããAIã«ã¶ã€ããŠã¿ãŸãããã
AIã«åé¡ç¹ãèã
ãæ¬¡ã®ããã³ããã«ç¶ããŠãå ã»ã©ã®ã³ãŒãããã®ãŸãŸå ¥åããŠã¿ãŸãããã®éãåã«ãåé¡ç¹ãæããŠããšèããšãå€ãã®äºæãåæãããã©ããéèŠãªã®ãèŠãã¥ãããªããã¡ã§ããåçãåºããããããšãã¯ãæ°ãçµã£ããïŒã²ãšã€ã ãæããŠïŒã芳ç¹ãæå®ãããïŒä¿å®ããç«å Žã§å°ãããšã¯ïŒïŒãããšå¹æçã§ãã ãããã§ã¯æåããããã£ãšãåé¡ã«ãªããããªããšãšéå®ããŠèããŠã¿ãŸãã
次ã®C#ã³ãŒããèŠãŠãã ãããä»ã¯3çš®é¡ã®æ±ºæžææ®µã§ãããä»åŸ5çš®é¡ã10çš®é¡ãšå¢ããŠããäºå®ã§ãããã£ãšãåé¡ã«ãªããããªããšãã²ãšã€æããŠãã ããã
ïŒããã»ã©ã®ã³ãŒãããã®ãŸãŸå
¥åïŒ
ããããããšããã£ãšãéèŠã§æ¬è³ªçãªåçãè¿ã£ãŠããŸããïŒChatGPTã§ã®åçäŸã§ãïŒã
ãã£ãšãåé¡ã«ãªããããªã®ã¯ ãæ±ºæžææ®µã远å ãããã³ã«ããã®ã¡ãœãããæ¯åç·šéããªããšãããªããªãïŒå€æŽã«åŒ±ãïŒã ããšã§ãã
æ¯æãææ®µã 5â10â⊠ãšå¢ããã»ã© if / else if ã䌞ã³ãŠãããä¿®æ£ç®æãåžžã«ããã«éäžããŸãã
ãã®çµæã远å ã®ãã³ã« æ¢åã®åå²ãå£ãïŒæŒããåºãïŒãã¹ãç¯å²ãåºãã ãšãã圢ã§äºæ
ãããããªããŸãïŒä»¥äžãç¥ïŒ
ãAIã¯ãæ±ºæžææ®µã远å ãããã³ã«ããã®ã¡ãœãããæ¯åç·šéããªããšãããªããªãããšãããã£ãšãåé¡ã ãšææããŠãããŸããããããããããããifæå°çãã®æ£äœã§ãã
ãã§ã¯ãã©ãçŽãã°ããã®ã§ãããããããã»ã©ã®åçã«ã解決æ³ãå«ãŸããŠãããããããŸãããããããããŠèããŠã¿ãŸãã
解決çãèã
ãåçãããã¿ã«åºãããªããããææãããåé¡ã«çµã£ãŠã解決çãèããŠã¿ãŸãããã
ãæ±ºæžææ®µã远å ãããã³ã«ããã®ã¡ãœãããæ¯åç·šéããªããšãããªããªãããšããåé¡ã解決ããããã«ããã£ãšãããæ¹æ³ãæããŠãã ããã
ãChatGPTã§ã¯ã次ã®ãããªåçã§ããã
ãã¡ã°ãçãããã®ã¯ Strategyãã¿ãŒã³ïŒïŒDIïŒã§ãæ±ºæžææ®µããšã®åŠçããã¯ã©ã¹ã«åé¢ããåŒã³åºãåŽã¯"éžã¶ã ã"ã«ããæ¹æ³ã§ãã
ãããããš æ°ããæ±ºæžææ®µã远å ããŠãæ¢åã®ProcessPaymentã¯åºæ¬çã«è§Šããªãã§æžã¿ãŸãïŒOCP: éæŸ/ééååïŒã
äŸïŒã€ã³ã¿ãŒãã§ãŒã¹ïŒå®è£
ã¯ã©ã¹ïŒã¬ãžã¹ããª
ïŒä»¥äžãã³ãŒãäŸãããã£ãšããããçç±ãç¶ãïŒ
ãGeminiã§ã䌌ããããªå 容ã§ãã€ã³ã¿ãŒãã§ãŒã¹ã«ãããã¹ãã©ããžãŒãã¿ãŒã³ïŒStrategy PatternïŒã®å°å ¥ããææ¡ããŠãããŸããããã ãæ£çŽãã³ãšæ¥ãŸãããããå°ãæ·±æãããŠã¿ãŸãããã
ããã£ãšããããããããšæ·±æããã
ãæè¡çšèªãåºãŠããŠçè§£ãæ¢ãŸã£ãããããšã話ãå³è§£ãæ±ããã®ã广çã§ãã
ããšãè©±ãæ±ãã
ãæœè±¡çãªæŠå¿µãã身è¿ãªç©ã«ããšããŠããããŸãã
ã¹ãã©ããžãŒãã¿ãŒã³ãããããããŸããã身è¿ãªç©ã«ããšããŠèª¬æããŠããããŸããïŒ
ãGeminiã§ã¯ã次ã®ãããªåçã§ããïŒåçå 容ã¯ãé©å®èŠçŽããŠããŸãïŒã
ã»ãUSB Type-C ããŒããã«ããšãã
PCåŽã¯ãæ¿ããããã®ãäœã§ããã詳ããç¥ããªããŠãããUSBèŠæ ŒïŒã€ã³ã¿ãŒãã§ãŒã¹ïŒã«æ²¿ã£ãŠããããšããããšããåããã°ãéä¿¡ã éå§ã§ããŸãã
ã¹ãã©ããžãŒãã¿ãŒã³ãšã¯ããå
±éã®æ¥ç¶å£ïŒã€ã³ã¿ãŒãã§ãŒã¹ïŒããäœã£ãŠãããäžèº«ïŒå
·äœçãªåŠçïŒãåŸããããã©ã°ã€ã³ãã®ããã«ä»ãæ¿ãå¯èœã«ããä»çµã¿ã®ããšã§ãã
ãä»ã«ãã黿ºã³ã³ã»ã³ããæ±ºæžç«¯æ«ãªã©ãããã€ãã®ããšããææ¡ããŠãããŸãããæåã®ã³ãŒãããŸãã«æ±ºæžã·ã¹ãã ã®è©±ãªã®ã§ããã£ãšã身è¿ãªã決æžç«¯æ«ãã®ããšãã§å³è§£ãäœã£ãŠããããŸãããã
å³è§£ãäŸé Œãã
ãä»åã¯ãé«å質ã®å³è§£ãåŸããããGemini 3 Pro ImageïŒNano Banana ProïŒã䜿ããŸãããGeminiã®ã¢ãã«ã§ããæèã¢ãŒããããProããéžæããæ¬¡ã®ãããªããã³ããã詊ããŠã¿ãŸãã
ã³ã³ããã®ã決æžç«¯æ«ãã®ããšãã䜿ã£ãŠãã¹ãã©ããžãŒãã¿ãŒã³ã®æŠå¿µã説æããå³è§£ãã·ã³ãã«ãªã€ã©ã¹ãã§äœæããŠãã ããã
ãæ±ºæžç«¯æ«ãšè€æ°ã®æ±ºæžææ®µãæãããŸããããã¡ããããã¯äžäŸã§ãAIã¯ããŸããŸãªå³è§£ãäœæããŠãããã¯ãã§ããä»åã®å³è§£ã ãšãã©ããã€ã³ã¿ãŒãã§ãŒã¹ã§ãã©ããã¯ã©ã¹ãªã®ãã察å¿é¢ä¿ããããã«ããã§ããã
äžæç¹ã確èªãã
ãããå°ãå ·äœçã«æç€ºããŠã¿ãŸããããæ¬¡ã®ããã«èããŠã¿ãŸãã
ãã®å³ã§ããã€ã³ã¿ãŒãã§ãŒã¹ãã¯å
·äœçã«ã©ã®éšåã«å¯Ÿå¿ããŠããŸããïŒ ãã®éšåããã£ãšåŒ·èª¿ããŠããããŸããïŒ
ãAIã¯ãå ±éã®å·®èŸŒå£ãã€ã³ã¿ãŒãã§ãŒã¹ã«å¯Ÿå¿ããããšèª¬æãããã®éšåã匷調ããå³ãçæããŠãããŸãããããã§ãã€ã³ã¿ãŒãã§ãŒã¹ïŒå ±éã®å·®èŸŒå£ããšããã€ã¡ãŒãžãã€ãããŸããã
ãå¢ãããã©ããªãïŒããšèã
ãæåã®åé¡ã¯ããæ±ºæžææ®µãå¢ãããã³ã«ä¿®æ£ãå¿ èŠãã§ãããã§ã¯ããã®ããšãã§ã¯ã©ããªãã®ã§ããããïŒ
æ°ãããé¡èªèšŒæ±ºæžãã远å ããããããã®å³ã¯ã©ãå€ãããŸããïŒ
ãå³ãèŠããšãé¡èªèšŒæ±ºæžã远å ãããŠãã端æ«åŽã¯ãŸã£ããå€ãã£ãŠããŸãããæ°ããæ±ºæžææ®µã¯ãå ±éã®å·®èŸŒå£ã«åãåœ¢ã§æ¥ç¶ãããã ãããããã€ã³ã¿ãŒãã§ãŒã¹ã®åŒ·ã¿ã§ãããã®ãå³è§£ã§æ¡åŒµæ§ã確èªããã¹ãããã¯ãåŸã»ã©ã³ãŒãã§ãæ€èšŒããŸãã ãå³è§£ã§ã€ã¡ãŒãžãã€ãããŸãããæ¬¡ã¯ããããã³ãŒãã§ç¢ºèªããŠã¿ãŸãããã
ãã³ãŒãã§æžããšã©ããªãïŒããšAIã«çæããã
ãå³è§£ã§çè§£ã§ããããæ¬¡ã¯ã³ãŒããèããŠã¿ãŸãããããããŸã§ã®åçã«ã³ãŒããå«ãŸããŠãããããããŸãããããããããŠAIã«äŸé ŒããŠã¿ãŸãã
ã³ãŒããçæããã
ãããã§ãAIã¯ãæ¡åŒµæ§ãå®å
šæ§ãªã©ãèæ
®ããã³ãŒããäœæããå ŽåããããŸããããã¯ããã§æçšãªãã®ã§ãããããæ¬è³ªçãªããšãçè§£ããããã«ãæå°éã®ã³ãŒãã§ããšãã£ãæç€ºãå ããŸãã
ãå
ã»ã©ã®ããã£ãšãããæ¹æ³ãèããåŸãªããæ¬¡ã®ããã«ãªãã§ãããã
ãã®ããã£ãšãããæ¹æ³ãçšããŠãæåã®åé¡ã³ãŒããæ¹åããŠãã ãããæå°éã®ã³ãŒãã§ãé¡ãããŸãã
ãå³è§£ãçæããåŸãªãããå³ãã³ãŒãã«ãããªãã©ããªããŸããïŒæåã®åé¡ã³ãŒããïœããšããããã³ããã§ãããã§ãããã
ãAIã¯æ¬¡ã®ãããªã³ãŒããçæããŠãããŸããïŒå®éã®åºåã¯ç°ãªãå ŽåããããŸãïŒã
// å
±éã®ã€ã³ã¿ãŒãã§ãŒã¹ïŒå³ã®ãå
±éã®æ¥ç¶å£ãïŒ
// ããã® Payæ©èœ ããæã£ãŠããã°ãã©ããªã«ãŒãã§ãåãä»ããŸãããšããã«ãŒã«
public interface IPayment
{
void Pay(decimal amount);
}
// åæ±ºæžææ®µïŒã€ã³ã¿ãŒãã§ãŒã¹ãå®è£
ããã¯ã©ã¹ïŒ
public class CreditCard : IPayment
{
public void Pay(decimal amount) => Console.WriteLine($"ã¯ã¬ãžããã«ãŒãã§ {amount}å ãæ±ºæžããŸãã");
}
public class ElectronicMoney : IPayment
{
public void Pay(decimal amount) => Console.WriteLine($"é»åãããŒã§ {amount}å ãæ±ºæžããŸãã");
}
public class QRCode : IPayment
{
public void Pay(decimal amount) => Console.WriteLine($"QRã³ãŒãã§ {amount}å ãæ±ºæžããŸãã");
}
// 決æžç«¯æ«ïŒæ¹åãããã¯ã©ã¹ïŒ
// 以åã®ãã㪠if (paymentType == "CreditCard") ... ãšããåå²ã¯æ¶æ»
ããŸããã
public class ShopSystem
{
public void ProcessPayment(IPayment paymentCard, decimal amount)
{
// 端æ«ã¯ãå·®ã蟌ãŸããã«ãŒãã®ãã¿ã³ãæŒãã ãïŒ
// äžèº«ãã¯ã¬ã«ãªã®ãQRãªã®ãã¯æ°ã«ããŸããã
paymentCard.Pay(amount);
}
}
class Program
{
static void Main()
{
ShopSystem terminal = new ShopSystem();
// ã¯ã¬ã«ã䜿ããããªããã¯ã¬ã«ãäœã£ãŠæž¡ãïŒå·®ã蟌ãïŒ
IPayment myCard = new CreditCard();
terminal.ProcessPayment(myCard, 1000);
// QRã䜿ããããªããQRãäœã£ãŠæž¡ãïŒå·®ã蟌ãïŒ
IPayment myPhone = new QRCode();
terminal.ProcessPayment(myPhone, 500);
}
}
ãå®è¡ãããšã次ã®ããã«åºåãããŸãã
ã¯ã¬ãžããã«ãŒãã§ 1000å ãæ±ºæžããŸãã
QRã³ãŒãã§ 500å ãæ±ºæžããŸãã
ãShopSystemã¯ã©ã¹ã¯ãæž¡ãããæ±ºæžææ®µãã¯ã¬ãžããã«ãŒããªã®ãQRã³ãŒããªã®ããç¥ããŸãããããã§ããIPaymentã€ã³ã¿ãŒãã§ãŒã¹ã®Payã¡ãœãããåŒã¶ã ãã§ãæ£ããåŠçãå®è¡ãããŸãã
ãã³ãŒãã®æ§é ãæŽçããŠãããŸãããããŸããIPaymentã€ã³ã¿ãŒãã§ãŒã¹ããå
±éã®å·®èŸŒå£ãã«åœãããŸããPayã¡ãœãããæã€ããšã ããå®çŸ©ããŠãããå®è£
ïŒã¡ãœããã®äžèº«ïŒã¯ãããŸããã
ãCreditCardãElectronicMoneyãQRCodeã®åã¯ã©ã¹ãããã®å·®èŸŒå£ã«åããåæ±ºæžææ®µãã§ãããããããã: IPaymentãšæžãããšã§IPaymentãå®è£
ããPayã¡ãœããã®äžèº«ãå
·äœçã«æžããŠããŸããã=>ãã¯ã1è¡ã§æžãã¡ãœããã®çç¥èšæ³ã§ãïŒäžæ¬åŒ§ã§æžããŠãåãïŒã
ãShopSystemã¯ã©ã¹ããæ±ºæžç«¯æ«ãã§ããåŒæ°ã®åãIPaymentã€ã³ã¿ãŒãã§ãŒã¹ã«ããŠãããããå
·äœçãªæ±ºæžææ®µãç¥ããªããŠããPayã¡ãœãããåŒã³åºãã ãã§æ±ºæžã§ããŸãã
ã³ãŒãã®æå³ã確èªãã
ãã³ãŒãã¯çæãããŸãããããªãããã§åé¡ã解決ããã®ãã確èªããŠãããŸãããã
ãã®ã³ãŒãã§ãæåã®åé¡ïŒæ±ºæžææ®µãå¢ãããã³ã«ä¿®æ£ãå¿
èŠïŒãã©ã解決ãããã®ãã説æããŠãã ããã
ãAIã®èª¬æãèŠçŽãããšã次ã®ãããªå 容ã§ããã
- ãæ¡ä»¶åå²ïŒifæïŒããæ¶æ» ãã
- å ·äœçãªåŠçããå€ãã«åºã
- ã倿Žãã§ã¯ãªãã远å ãã§å¯Ÿå¿ã§ããããã«ãªã£ã
é¡èªèšŒæ±ºæžã远å ããŠæ€èšŒãã
ãå³è§£ã®ãšããšåæ§ã«ãæ¬åœã«ä¿®æ£äžèŠããã³ãŒãã§ã詊ããŠã¿ãŸãããã
é¡èªèšŒæ±ºæžã远å ããã³ãŒããæžããŠãã ããã
ããã®åçã§ã¯ã次ã®ãããªã¯ã©ã¹ã远å ããã ãããšããåçã«ãªããŸããã
// é¡èªèšŒæ±ºæžã远å ïŒæ°ããã¯ã©ã¹ãäœãã ãïŒ
public class FaceAuthPayment : IPayment
{
public void Pay(decimal amount) => Console.WriteLine($"é¡èªèšŒã§ {amount}å ãæ±ºæžããŸãã");
}
ãæ°ããã¯ã©ã¹ã1ã€äœãã ãã§ãShopSystemã¯ã©ã¹ã«ã¯äžåæãå ããŠããŸããã䜿ããšãã¯ãMainã¡ãœããã«æ¬¡ã®ããã«æžãã ãã§ãã
IPayment myFace = new FaceAuthPayment();
terminal.ProcessPayment(myFace, 2000);
ãæåã®ifæå°çãšæ¯ã¹ãŠã¿ãŸãããã
- æ¹ååïŒæ±ºæžææ®µã远å ãããã³ã«ãProcessPaymentã¡ãœãããç·šéããïŒæ¢åã³ãŒãã«æãå ¥ããïŒ
- æ¹ååŸïŒæ°ããã¯ã©ã¹ã远å ããã ãïŒæ¢åã³ãŒãã«ã¯è§ŠããªãïŒ
ãæ¬åœã«è§£æ±ºããïŒããšçåãã¶ã€ãã
ãããã§1ã€çåãæµ®ãã³ãŸãããAIã«èããŠã¿ãŸãã
ã§ãçµå±ãã©ã®IPaymentå®è£
ã¯ã©ã¹ã䜿ããéžã¶ãšãã«ãifæãå¿
èŠã«ãªããŸãããïŒ æ¬åœã«ããã§åé¡ã¯è§£æ±ºããã®ã§ããããïŒ
ãAIã¯ã次ã®ãããªèšèããåçãè¿ããŠããŸããã
ãã®ããã³ããããªãæ žå¿ã§ããçµè«ããèšããšã
ãifæïŒåå²ïŒããŒãã«ãããã®ãç®çãããªããŠããåå²ãâå¢ããªãå Žæâã«éã蟌ãããã®ãç®çã§ãã
ïŒä»¥äžã説æãç¶ãïŒ
ãåçãé·ãã®ã§ããåçãæç²ãã圢ã§ãèŠçŽããŠããšæç€ºãããšã次ã®ãããªåçã§ããã
ã»åå²ã¯ããŒãã«ãããã®ãç®çã§ã¯ãªããå¢ããªãå Žæã«éã蟌ããã®ãç®çã
ã»å
ã³ãŒãã¯æ±ºæžææ®µè¿œå ã®ãã³ã« ProcessPayment ãç·šéããif/else ãè¥å€§åããŠå£ããããã
ã»è¿œå æã«ããã®ã¯ æ°ã¯ã©ã¹è¿œå + ç»é²ïŒèšå®ïŒãæ¢åã®éèŠããžãã¯ãè§Šããã«æžãã®ã§å®å
šã§ãã¹ããããããã
ã»ãåé¡ã解決ããããšã¯ã倿Žç®æã屿åããŠã远å ãæ¢åã³ãŒãæ¹é ã«ãªããªãç¶æ
ã«ã§ããããšããæå³ã
ãAIã¯ãifæã¯æ®ããã倿Žã®åœ±é¿ç¯å²ãéå®ããããšèª¬æããŠãããŸããã ã確ãã«ããŠãŒã¶ãŒã®éžæã«å¿ããŠã©ã®ã¯ã©ã¹ãçæããããæ±ºããéšåã«ã¯ãäœããã®åå²ãæ®ããŸããããããéèŠãªã®ã¯ã決æžåŠçã®æ¬äœã§ããShopSystemã¯ã©ã¹ããifæãæ¶ããããšã§ããifæããŒãã«ããããšãç®çã§ã¯ãªãã倿Žç®æã屿åããŠå€æŽã«åŒ·ãèšèšã«ããããšãç®çãšããããã§ãã
ã誰ãéžã¶ã®ïŒããšããã«æ·±æããã ããã1ã€çåãåºãŠããŸããã
ShopSystemã¯ã©ã¹ã¯å
·äœçãªæ±ºæžã¯ã©ã¹ãç¥ããªããšã®ããšã§ãããã§ã¯ãã©ã®æ±ºæžã¯ã©ã¹ã䜿ããã¯èª°ã決ããã®ã§ããïŒ
ãAIã¯ãå€éšããæ³šå ¥ãããšããèãæ¹ã説æããŠãããŸããã
決ããã®ã¯ShopSystemã§ã¯ãªããå€åŽã®ãæ§ææ
åœãã§ãã
å
·äœçã«ã¯ãããããéžã³æ¹ã¯3ã€ãããŸãã
1) DIã³ã³ãããæ±ºããïŒãã¡ã°ãå€ãïŒ
2) èšå®ãã¡ã€ã«ïŒappsettingsçïŒã決ãã
3) FactoryïŒå·¥å Žåœ¹ïŒã決ãã
ïŒä»¥äžãå
·äœçãªèª¬æãç¶ãïŒ
ãå ã»ã©ã®ã³ãŒãã§ããMainã¡ãœããã®äžã§IPaymentã®å®è£ ã¯ã©ã¹ãçæããShopSystemã®ProcessPaymentã¡ãœããã«æž¡ããŠããŸãããããããŸãã«ãå€éšããæ³šå ¥ãã圢ã§ãããã®èãæ¹ãçºå±ããããã®ãããäŸåæ§æ³šå ¥ïŒDIïŒããšåŒã°ããèšèšãã¿ãŒã³ã§ããèå³ãããæ¹ã¯ãããã«æ·±æãããŠã¿ãŠãã ããã
äŸåæ§æ³šå
¥ãåããããã«ãå
ã»ã©ã®æ±ºæžç«¯æ«ã®å³è§£ã倿ŽããŠããããŸããïŒ
ããŸããäŸåæ§æ³šå ¥ã䜿ã£ãã³ãŒãäŸãäœæããŠãããã®ãããã§ãããã ããã®ããã«ã1ã€ã®çåããæ¬¡ã®æŠå¿µãžãšèªç¶ã«ã€ãªãã£ãŠãããŸããä»ååŠãã ã質åâæ·±æãã®æµãã§ãã©ãã©ãçè§£ãåºããŠãã£ãŠãã ããã
ããã«åŠã³ããæ¹ãž
ãä»åã¯ifæå°çã®è§£æ±ºçãšããŠãã€ã³ã¿ãŒãã§ãŒã¹ã䜿ã£ãã¹ãã©ããžãŒãã¿ãŒã³ãåŠã³ãŸããããã®å ã®ããŒãã«ã€ããŠããAIãšå¯Ÿè©±ããŠã¿ãŸããããæ¬æã§è§ŠãããäŸåæ§æ³šå ¥ïŒDIïŒãã¯ãèª°ãæ±ºæžã¯ã©ã¹ãéžã¶ã®ãããšããçåãçªãè©°ããå ã«ããèšèšãã¿ãŒã³ã§ãããŸããã€ã³ã¿ãŒãã§ãŒã¹ãšäŒŒãããã¿ã«ãæœè±¡ã¯ã©ã¹ãããããŸããã©ã¡ããå ±éã®åãå®çŸ©ããç¹ã¯åãã§ããã䜿ãã©ãããç°ãªããŸãã ãããšãã°ãæœè±¡ã¯ã©ã¹ãšã®éãã¯ã次ã®ããã«èããŠã¿ãŠãã ããã
C#ã®ã€ã³ã¿ãŒãã§ãŒã¹ãšæœè±¡ã¯ã©ã¹ã®éããæããŠãã ãããä»åã®æ±ºæžã·ã¹ãã ã®äŸã§ã¯ãã©ã¡ãã䜿ãã¹ãã§ããïŒ
AIãšå¯Ÿè©±ãããšãã®ã³ã
ãä»åã®åŠç¿ããµãããããªããã察話ã®ã³ããæŽçããŠã¿ãŸãããã
STEP1ïŒéåæãã¶ã€ãã
ãããã®ã³ãŒããäœãåé¡ïŒããšèããåçãåºããããããšãã¯ãæ°ãçµãïŒã²ãšã€ã ãæããŠïŒã芳ç¹ãæå®ããïŒä¿å®ããç«å Žã§å°ãããšã¯ïŒïŒãæ§é åãããïŒéèŠåºŠé ã«3ã€ãäžèšãã€ïŒãšãã£ã工倫ãæå¹ã§ãã
STEP2ïŒè§£æ±ºçãèã
ããã©ãçŽãã°ããïŒããšèããSTEP1ãšåæ§ãéžæè¢ãå€ããããšãã¯ããã£ãšãããæ¹æ³ã1ã€ãšçµããšè¿·ããªããç¥ããªãæŠå¿µãåºãŠããŠãããŸãã¯åãæ¢ããã
STEP3ïŒããããªããã°æ·±æããã
ãããã£ãšãããããããã身è¿ãªç©ã«ããšããŠããå³ã§èª¬æããŠããšèãã
STEP4ïŒã³ãŒãã«èœãšã
ããã³ãŒãã§æžããšã©ããªãïŒããšèããåŠç¿æ®µéã§ã¯ãæå°éã®ã³ãŒãããã£ãšãã·ã³ãã«ãªã³ãŒãã§ããªã©ãšæ·»ãããšãæ¬è³ªãšé¢ä¿ãªãèŠçŽ ãçãããçè§£ãããããªãã
STEP5ïŒæ€èšŒãã
ããæ¬åœã«ããã§è§£æ±ºããïŒãããªãïŒããšèããçæãããã³ãŒãã¯å®éã«åãããŠç¢ºèªããã
è£è¶³ïŒAIã®åçãéµåã¿ã«ããªã
ãAIã®åçã¯åžžã«æ£ãããšã¯éããŸãããåäœããã³ãŒãã§ãã£ãŠããæ¥åã®ãããžã§ã¯ãã§æšå¥šãããã¹ã¿ã€ã«ãšç°ãªãå ŽåããããŸãããæ¬åœã«ããã§æ£ããã§ããïŒããä»ã®æžãæ¹ã¯ãããŸããïŒããšèãè¿ãããšã倧åã§ãã
ãããã«
ãä»åã¯ãAIãšã®å¯Ÿè©±ãéããŠãifæå°çã®è§£æ±ºçãšããŠã€ã³ã¿ãŒãã§ãŒã¹ã䜿ã£ãã¹ãã©ããžãŒãã¿ãŒã³ãåŠã³ãŸãããã質åâæ·±æãâã³ãŒãçæâæ€èšŒãã®æµãã¯ãã©ããªæŠå¿µãåŠã¶ãšãã«ã䜿ããŸãããã²ããèªèº«ã§AIãšå¯Ÿè©±ããªãã詊ããŠã¿ãŠãã ãããæ¬¡åã¯ãasync/awaitãåãäžããŸããç»é¢ãåºãŸãåé¡ããAIãšã®å¯Ÿè©±ã§è§£æ¶ããŠãããŸãããã
WINGSãããžã§ã¯ã 髿± è³¢ïŒèïŒå±±ç°ç¥¥å¯ïŒç£ä¿®ïŒ
æéäŒç€Ÿ WINGSãããžã§ã¯ããéå¶ããããã¯ãã«ã«å·çã³ãã¥ããã£ïŒä»£è¡šå±±ç°ç¥¥å¯ïŒãäž»ã«Webéçºåéã®æžç±ïŒèšäºå·çã翻蚳ãè¬æŒçãå¹ åºãæããããçŸåšãå·çã¡ã³ããŒãåéäžãèå³ã®ããæ¹ã¯ãã©ãã©ãå¿åé ããããèæžãèšäºå€æ°ã
RSS
X:@WingsPro_infoïŒå ¬åŒïŒã@WingsPro_info/wingsïŒã¡ã³ããŒãªã¹ãïŒïŒèè ã«ã€ããŠïŒ
ããœã³ã³é»ææããããã°ã©ãã³ã°ã®é²åã远ããWebã»ã¢ãã€ã«ã»IoTã»AIãŸã§å€æ§ãªéçºçŸå Žãé§ãæããã
çŸåšãæ ªåŒäŒç€Ÿæ°è±¡å·¥åŠç ç©¶æã§æ°è±¡ÃITã®æåç·ã«ç«ã¡ã€ã€ãå·çã³ãã¥ããã£ãWINGSãããžã§ã¯ããã®ã¡ã³ããŒãšããŠæŽ»åäžã



