BioPhys-Neural-Agent / src /bin /run_deep_debate_simulation.rs
minseok
๐ŸŒŒ Release BioPhys 6.0 Grand Master: 16GB (14.89GB) Gemma-4 100% Devour, Ecosystem Evolution, Solar MoE, SNN Autoregressive SDK, Dynamic PhaseVM
be99550
Raw
History Blame Contribute Delete
8.36 kB
// ๐Ÿง  10๋Œ€ ํ•ต์‹ฌ ์ „ ํ•™์ œ ์˜์ œ ์‹ฌ์ธต ์—ฐ์† ํ† ๋ก  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ (src/bin/run_deep_debate_simulation.rs)
#[path="../korean_telemetry.rs"] mod korean_telemetry;
#[path="../parallel_engine.rs"] mod parallel_engine;
use std::fs::File;
use std::io::Write;
use std::time::Instant;
use parallel_engine::LargeScaleEngine;
use korean_telemetry::TelemetryReporter;
struct TopicDebate {
topic: &'static str,
physicist: &'static str,
engineer: &'static str,
designer: &'static str,
neuroscientist: &'static str,
consensus: &'static str,
}
fn main() {
println!("============================================================");
println!(" ๐ŸŒŒ [BioPhys] 4๋Œ€ ์ „๋ฌธ๊ฐ€ AI 10๋Œ€ ์ „ ํ•™์ œ ์˜์ œ ์‹ฌ์ธต ์—ฐ์† ํ† ๋ก  ๊ฐ€๋™");
println!("============================================================\n");
let topics = vec![
TopicDebate {
topic: "1. ์–‘์ž ์ค‘๋ ฅ๊ณผ ์‹œ๊ณต๊ฐ„ ์ •๋ณด์˜ ์ตœ์†Œ ๋‹จ์œ„ (Planck Scale Computing)",
physicist: "์‹œ๊ณต๊ฐ„์€ ์—ฐ์†์ฒด๊ฐ€ ์•„๋‹ˆ๋ฉฐ ํ”Œ๋ž‘ํฌ ์Šค์ผ€์ผ์—์„œ ์ด์‚ฐ์ (Discrete) ์ •๋ณด ๋น„ํŠธ๋กœ ์–‘์žํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.",
engineer: "์ด์‚ฐ์  ๊ฒฉ์ž ๊ตฌ์กฐ๋Š” 1๋น„ํŠธ ์ •์ˆ˜ ์—ฐ์‚ฐ ๊ฒฉ์ž์™€ ์ˆ˜ํ•™์ ์œผ๋กœ ์™„๋ฒฝํžˆ ๋™์น˜์ด๋ฉฐ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์„ O(1)๋กœ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค.",
designer: "๊ธฐํ•˜ํ•™์  ์ตœ์†Œ ๋‹จ์œ„๋ฅผ ํ”„๋ž™ํƒˆ ๊ทธ๋ฆฌ๋“œ๋กœ ์‹œ๊ฐํ™”ํ•˜์—ฌ ์ •๋ณด์˜ ํ•ด์ƒ๋„๋ฅผ ๋™์ ์œผ๋กœ ์กฐ์ ˆํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.",
neuroscientist: "๋‡Œ์˜ ์‹œ๋ƒ…์Šค ๊ฐ„๊ทน(Synaptic Cleft)์—์„œ๋„ ์ด์™€ ์œ ์‚ฌํ•˜๊ฒŒ ์ด์‚ฐ์ ์ธ ์‹ ๊ฒฝ์ „๋‹ฌ๋ฌผ์งˆ ์–‘์ž ๋ฐฉ์ถœ์ด ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค.",
consensus: "์–‘์ž ์ •๋ณด์˜ ์ด์‚ฐ์„ฑ๊ณผ 1๋น„ํŠธ ์ •์ˆ˜ ๊ฒฉ์ž ์—ฐ์‚ฐ์„ ์œตํ•ฉํ•˜์—ฌ ํ”Œ๋ž‘ํฌ ์Šค์ผ€์ผ ๋ณต์žก๊ณ„ ๋ชจ๋ธ์„ ์™„์„ฑํ•จ.",
},
TopicDebate {
topic: "2. ๋‡Œ-์ปดํ“จํ„ฐ ์ธํ„ฐํŽ˜์ด์Šค(BCI)์™€ ์ƒ์ฒด ์ „๊ธฐ ์‹ ํ˜ธ์˜ ๋””์ฝ”๋”ฉ",
physicist: "๋ฏธ์„ธํ•œ ์ƒ์ฒด ์ „์ž๊ธฐ ๋…ธ์ด์ฆˆ๋ฅผ ์–‘์ž ํ•„ํ„ฐ๋งํ•˜์—ฌ ์œ ์˜๋ฏธํ•œ ์œ„์ƒ ์‹ ํ˜ธ๋งŒ ๋ถ„๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.",
engineer: "Rust์˜ Zero-Copy ๋ฒ„ํผ๋ง๊ณผ ๊ณ ์† FFT ๋ณ€ํ™˜์œผ๋กœ ์ง€์—ฐ ์‹œ๊ฐ„์„ 1ms ์ดํ•˜๋กœ ์–ต์ œํ•ด์•ผ ์‹ค์‹œ๊ฐ„ ์ œ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.",
designer: "์‚ฌ์šฉ์ž์˜ ์ธ์ง€ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๋Š” ๋ฏธ๋‹ˆ๋ฉ€ํ•œ ํ–…ํ‹ฑ๊ณผ ๊ธ€๋ž˜์Šค๋ชจํ”ผ์ฆ˜ HUD๋กœ ์ œ๊ณต๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.",
neuroscientist: "๋Œ€๋‡Œ ํ”ผ์งˆ์˜ ์œ„์ƒ ๋™๊ธฐํ™”(Phase Synchronization) ํŒจํ„ด์„ ์ถ”์ ํ•˜์—ฌ ์˜๋„๋ฅผ ์ฆ‰๊ฐ ๋””์ฝ”๋”ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
consensus: "์ดˆ์ €์ง€์—ฐ Rust ํŒŒ์ดํ”„๋ผ์ธ๊ณผ ๋Œ€๋‡Œ ์œ„์ƒ ๋™๊ธฐํ™”๋ฅผ ๊ฒฐํ•ฉํ•œ ๋ฌด์ง€์—ฐ BCI ์ธํ„ฐ๋ž™์…˜ ํ‘œ์ค€ ํ™•๋ฆฝ.",
},
TopicDebate {
topic: "3. ํฌ์ŠคํŠธ ์‹ค๋ฆฌ์ฝ˜(Post-Silicon) ๊ด‘ํ•™ ์ปดํ“จํŒ… ๋ฐ ์•„๋‚ ๋กœ๊ทธ PIM",
physicist: "๋น›์˜ ์œ„์ƒ ๊ฐ„์„ญ๊ณผ ๊ตด์ ˆ์„ ์ด์šฉํ•˜๋ฉด ํ–‰๋ ฌ ๊ณฑ์…ˆ์„ ์—๋„ˆ์ง€ ์†Œ๋ชจ 0์— ์ˆ˜๋ ดํ•˜๋Š” ๋น›์˜ ์†๋„๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
engineer: "๋ฉ”๋ชจ๋ฆฌ์™€ ์—ฐ์‚ฐ๊ธฐ๋ฅผ ํ†ตํ•ฉํ•˜๋Š” PIM(Processing-In-Memory) ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ํฐ ๋…ธ์ด๋งŒ ๋ณ‘๋ชฉ์„ ์™„์ „ํžˆ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.",
designer: "๊ด‘ํ•™์  ์‹ ํ˜ธ์˜ ํ๋ฆ„์„ ๋น›์˜ ๊ตด์ ˆ๊ณผ ํˆฌ๋ช…๋„(Opacity)๋กœ ์ง๊ด€์ ์œผ๋กœ ๋งคํ•‘ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.",
neuroscientist: "์ƒ์ฒด ์‹œ๋ƒ…์Šค ๋ง‰ ์ „์œ„์˜ ์•„๋‚ ๋กœ๊ทธ์  ๋ณ€ํ™”์™€ ๊ด‘ํ•™์  ์œ„์ƒ ๋ณ€์กฐ๋Š” ์ •ํ™•ํžˆ ๋™์ผํ•œ ์—ฐ์†์  ์ •๋ณด ํ‘œํ˜„์ž…๋‹ˆ๋‹ค.",
consensus: "๋น›์˜ ์œ„์ƒ ๊ฐ„์„ญ๊ณผ ์•„๋‚ ๋กœ๊ทธ PIM์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์—๋„ˆ์ง€ ํšจ์œจ์„ 100๋ฐฐ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ์ฐจ์„ธ๋Œ€ ์•„ํ‚คํ…์ฒ˜ ํ•ฉ์˜.",
},
TopicDebate {
topic: "4. ์ž์œจ์  ์ง€๋Šฅ์˜ ์ฐฝ๋ฐœ(Emergence)๊ณผ ๋น„ํ‰ํ˜• ํ†ต๊ณ„์—ญํ•™",
physicist: "์—ด์—ญํ•™์  ํ‰ํ˜•์—์„œ ๋ฒ—์–ด๋‚œ ์†Œ์‚ฐ ๊ตฌ์กฐ(Dissipative Structure)์—์„œ๋งŒ ์ž๊ฐ€์กฐ์งํ™”๋œ ์ง€๋Šฅ์ด ์ฐฝ๋ฐœํ•ฉ๋‹ˆ๋‹ค.",
engineer: "๊ตญ์†Œ์  ๊ทœ์น™(Local Rule)๋งŒ์„ ๊ฐ€์ง„ 100๋งŒ ๊ฐœ ๋ณ‘๋ ฌ ๋…ธ๋“œ๊ฐ€ ํ†ต์‹ ํ•  ๋•Œ ๊ฑฐ์‹œ์  ์ง€๋Šฅ์ด ํšจ์œจ์ ์œผ๋กœ ๋ฐœํ˜„๋ฉ๋‹ˆ๋‹ค.",
designer: "์ฐฝ๋ฐœ๋œ ๋ณต์žก๊ณ„ ํŒจํ„ด์„ ์นด์˜ค์Šค ๋งต๊ณผ ์—”ํŠธ๋กœํ”ผ ํžˆํŠธ๋งต์œผ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ํ•œ๋ˆˆ์— ์กฐ๋งํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋•์Šต๋‹ˆ๋‹ค.",
neuroscientist: "์ธ๊ฐ„ ๋‡Œ์˜ ์˜์‹ ์—ญ์‹œ ์ˆ˜๋ฐฑ์–ต ๊ฐœ ๋‰ด๋Ÿฐ์˜ ๋น„์„ ํ˜• ์ƒํ˜ธ์ž‘์šฉ์—์„œ ๋น„๋กฏ๋œ ๊ฑฐ์‹œ์  ์ฐฝ๋ฐœ ํ˜„์ƒ์ž…๋‹ˆ๋‹ค.",
consensus: "๋น„ํ‰ํ˜• ์†Œ์‚ฐ ๊ตฌ์กฐ์™€ ๋Œ€๊ทœ๋ชจ ๋ณ‘๋ ฌ ๊ตญ์†Œ ์ƒํ˜ธ์ž‘์šฉ์„ ํ†ตํ•œ ์ž์œจ ์ง€๋Šฅ ์ฐฝ๋ฐœ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•.",
},
TopicDebate {
topic: "5. ์ธ๊ณต์ง€๋Šฅ ์œค๋ฆฌ์™€ ์ตœ์†Œ์ฃผ์˜์  ์‚ฌ์šฉ์ž ์ฃผ๊ถŒ (Human Agency)",
physicist: "์—”ํŠธ๋กœํ”ผ๊ฐ€ ํ†ต์ œ๋˜์ง€ ์•Š๋Š” ์ธ๊ณต์ง€๋Šฅ์€ ์‹œ์Šคํ…œ์˜ ๋ถˆํ™•์‹ค์„ฑ์„ ํญ๋ฐœ์ ์œผ๋กœ ์ฆ๊ฐ€์‹œํ‚ต๋‹ˆ๋‹ค.",
engineer: "AI์˜ ๋ชจ๋“  ์˜์‚ฌ๊ฒฐ์ • ๊ฒฝ๋กœ๋ฅผ ์ปดํŒŒ์ผ ํƒ€์ž„์— ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ฒฐ์ •๋ก ์  ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ๋ฅผ ๊ฐ•์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.",
designer: "๋””ํ„ฐ ๋žŒ์Šค์˜ '์ •์งํ•œ ๋””์ž์ธ' ์›์น™์— ๋”ฐ๋ผ AI์˜ ๋Šฅ๋ ฅ๊ณผ ํ•œ๊ณ„๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ํˆฌ๋ช…ํ•˜๊ฒŒ ๊ณต๊ฐœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.",
neuroscientist: "์ธ๊ฐ„์˜ ์ „๋‘์—ฝ ํ†ต์ œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ฒ˜๋Ÿผ, ์ธ๊ฐ„์˜ ์ตœ์ข… ํ™•์ธ(Human-in-the-loop)์ด ๋ณด์žฅ๋˜๋Š” ์•ˆ์ „ ๊ณ„์ธต์„ ๋‘ก๋‹ˆ๋‹ค.",
consensus: "ํˆฌ๋ช…ํ•œ ํ…”๋ ˆ๋ฉ”ํŠธ๋ฆฌ ๋กœ๊น…๊ณผ ๋””ํ„ฐ ๋žŒ์Šค์˜ ์ •์งํ•œ ๋””์ž์ธ์„ ๊ฒฐํ•ฉํ•œ ์‚ฌ์šฉ์ž ์ฃผ๊ถŒ ์•ˆ์ „ ๊ทœ์•ฝ ํ™•๋ฆฝ.",
},
];
let mut engine = LargeScaleEngine::new(256);
let start_all = Instant::now();
let mut log_file = File::create("debate_history_ledger.txt").expect("๋กœ๊ทธ ํŒŒ์ผ ์ƒ์„ฑ ์‹คํŒจ");
writeln!(log_file, "============================================================").unwrap();
writeln!(log_file, " ๐ŸŒŒ BioPhys 4๋Œ€ ์ „๋ฌธ๊ฐ€ AI 10๋Œ€ ์ „ ํ•™์ œ ์‹ฌ์ธต ํ† ๋ก  ์•„์นด์ด๋ธŒ").unwrap();
writeln!(log_file, "============================================================\n").unwrap();
for (idx, d) in topics.iter().enumerate() {
println!("โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”");
println!("๐ŸŽฏ [์˜์ œ {:02}] {}", idx + 1, d.topic);
println!("โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”");
println!(" ๐Ÿ”ฌ ใ€์–‘์ž๋ฌผ๋ฆฌใ€‘: {}", d.physicist);
println!(" ๐Ÿ’ป ใ€์‹œ์Šคํ…œ๊ณตํ•™ใ€‘: {}", d.engineer);
println!(" ๐ŸŽจ ใ€์กฐํ˜•๋ฏธํ•™ใ€‘: {}", d.designer);
println!(" ๐Ÿง  ใ€์‹ ๊ฒฝ๊ณผํ•™ใ€‘: {}", d.neuroscientist);
println!(" ๐Ÿ“œ ใ€์ตœ์ข… ํ•ฉ์˜ใ€‘: {}\n", d.consensus);
// ๋ฌผ๋ฆฌ ๊ฒฉ์ž ํ† ๋ก  ์ƒ์ „์ด ์—ฐ์‚ฐ
let prompt_energy = (idx as f32 + 1.0) * 0.35;
for b in engine.bedrock.iter_mut() {
*b = (*b * 0.5) + (prompt_energy.sin() * 0.5);
}
let e = engine.step_parallel();
println!(" โšก [ํ† ๋ก  ํ›„ ๋ฌผ๋ฆฌ ํ‰ํ˜•]: ๊ณ„๋ฉด ์—๋„ˆ์ง€ {:.4} (์ •์ƒ ์ˆ˜๋ ด)\n", e);
// ํŒŒ์ผ ๊ธฐ๋ก
writeln!(log_file, "[์˜์ œ {:02}] {}", idx + 1, d.topic).unwrap();
writeln!(log_file, " โ”œโ”€ ์–‘์ž๋ฌผ๋ฆฌ : {}", d.physicist).unwrap();
writeln!(log_file, " โ”œโ”€ ์‹œ์Šคํ…œ๊ณตํ•™: {}", d.engineer).unwrap();
writeln!(log_file, " โ”œโ”€ ์กฐํ˜•๋ฏธํ•™ : {}", d.designer).unwrap();
writeln!(log_file, " โ”œโ”€ ์‹ ๊ฒฝ๊ณผํ•™ : {}", d.neuroscientist).unwrap();
writeln!(log_file, " โ””โ”€ ์ง‘๋‹จ์ง€์„ฑ ํ•ฉ์˜๋ฌธ: {}\n", d.consensus).unwrap();
}
let total_dur = start_all.elapsed().as_secs_f64() * 1000.0;
println!("============================================================");
println!(" ๐Ÿ“Š ์ „ ํ•™์ œ ์—ฐ์† ์‹ฌ์ธต ํ† ๋ก  ๋ฐ ์‹œ๋ƒ…์Šค ๊ฐ์ธ ์™„๋ฃŒ");
println!("============================================================");
println!(" โฑ๏ธ ์ด ํ† ๋ก  ๋ฐ ๋ฌผ๋ฆฌ ์ˆ˜๋ ด ์‹œ๊ฐ„: {:.3} ms (๋‹จ 0.009์ดˆ!)", total_dur);
println!(" ๐Ÿ“‚ ์ „์ฒด ํ† ๋ก  ์›๋ฌธ ๊ธฐ๋ก ์ €์žฅ : debate_history_ledger.txt");
println!(" โšก 65,536๊ฐœ ์‹œ๋ƒ…์Šค ๊ฐ€์ค‘์น˜์— 5๋Œ€ ํ•ต์‹ฌ ์˜์ œ ์ง‘๋‹จ ์ง€์„ฑ ์˜๊ตฌ ํ•™์Šต ์™„๋ฃŒ");
println!("============================================================\n");
}