Reconsidered RAG(RRAG)라는 오픈소스 프로젝트가 어떤 질문에서 시작해서, 어떤 답에 도달했는지를 이야기합니다.
요즘 ChatGPT, Claude 같은 AI에게 질문하면 꽤 그럴듯한 답이 돌아옵니다. 하지만 이 AI들이 가진 근본적인 한계가 하나 있습니다. 학습이 끝난 시점 이후의 정보를 모른다는 것입니다. 어제 발표된 회사 내부 보고서, 지난달에 바뀐 사내 규정—이런 것은 아무리 똑똑한 AI라도 알 수 없습니다.
Reconsidered RAG(RRAG)라는 오픈소스 프로젝트가 어떤 질문에서 시작해서, 어떤 답에 도달했는지를 이야기합니다.
요즘 ChatGPT, Claude 같은 AI에게 질문하면 꽤 그럴듯한 답이 돌아옵니다. 하지만 이 AI들이 가진 근본적인 한계가 하나 있습니다. 학습이 끝난 시점 이후의 정보를 모른다는 것입니다. 어제 발표된 회사 내부 보고서, 지난달에 바뀐 사내 규정—이런 것은 아무리 똑똑한 AI라도 알 수 없습니다.
| {$MCP_DOMAIN} { | |
| reverse_proxy mcp-server:8080 | |
| } |
.NET 10 파일 기반 앱 + SQLite + MCP — 빈 폴더에서 AI 도구 서버까지
Azure Foundry에 MCP 서버를 연동하는 에이전트를 만드는 핸즈온랩은 https://gist.github.com/rkttu/96b976f747bf7e5afa48ebf7a18fb796 에서 확인하실 수 있습니다.
| #!/usr/bin/env dotnet | |
| // Copyright 2025 Alexandru Avadanii | |
| // | |
| // Licensed under the Apache License, Version 2.0 (the "License"); | |
| // you may not use this file except in compliance with the License. | |
| // You may obtain a copy of the License at | |
| // | |
| // http://www.apache.org/licenses/LICENSE-2.0 | |
| // |
| #:package BouncyCastle.Cryptography@2.6.2 | |
| using Org.BouncyCastle.Cryptography; | |
| using Org.BouncyCastle.Asn1; | |
| using Org.BouncyCastle.Crypto; | |
| using Org.BouncyCastle.Crypto.Parameters; | |
| using Org.BouncyCastle.OpenSsl; | |
| using Org.BouncyCastle.Pkcs; | |
| using Org.BouncyCastle.Security; | |
| using Org.BouncyCastle.X509; |
| #:sdk NativeSdk@0.5.1 | |
| unsafe | |
| { | |
| const int ArraySize = 10; | |
| // stackalloc으로 스택에 메모리 할당 | |
| int* arr = stackalloc int[ArraySize]; | |
| // 랜덤 값으로 배열 초기화 |
| #!/usr/bin/env dotnet | |
| #:sdk Aspire.AppHost.Sdk@13.0.0 | |
| #:property PublishAot=false | |
| #:package Aspire.Hosting.Garnet@13.0.0 | |
| #pragma warning disable ASPIRECSHARPAPPS001 | |
| using Microsoft.Extensions.Configuration; | |
| // To specify password/secrets: |
| <Project> | |
| <ItemGroup> | |
| <None Include="README.md" Pack="true" PackagePath="\"/> | |
| </ItemGroup> | |
| </Project> |
| #!/usr/bin/env dotnet | |
| #:sdk Microsoft.NET.Sdk.Web | |
| var builder = WebApplication.CreateBuilder(args); | |
| using var app = builder.Build(); | |
| app.UseHttpsRedirection(); | |
| app.MapGet("/", () => "Hello from A").RequireHost("a.dev.localhost"); | |
| app.MapGet("/", () => "Hello from B").RequireHost("b.dev.localhost"); | |
| app.MapGet("/", () => "Hello from Prod"); | |
| app.Run(); |
| #!/usr/bin/env dotnet | |
| Console.WriteLine("Hello, World!"); |