Dia Tres para programadores: 𐀄𐀀𐀓𐀑 estable y el 𐀃𐀔𐀀 como codigo autorreplicante con π€‹π€Œπ€‰π€π€„π€…

μ…‹μ§Έ λ‚  β€” ν”„λ‘œκ·Έλž˜λ¨Έλ“€


이전 λ©”μ‹œμ§€μ—μ„œ μš°λ¦¬λŠ” π€“π€’π€‰π€οΌˆλΌν‚€μ•„οΌ‰λ₯Ό 계측 κ°„ 격리 μž₯벽으둜 μ‚΄νŽ΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€ β€” 그리고 μ™œ 그것이 ν•΄κ²°ν•΄μ•Ό ν•  버그가 μ•„λ‹ˆλΌ μ•„ν‚€ν…μ²˜μ˜ ν”Όμ²˜μΈμ§€λ₯Ό.

였늘 μ‹œμŠ€ν…œμ€ μ•„ν‚€ν…μ²˜λ₯Ό ν™•λ¦½ν•œ ν›„ λͺ¨λ“  μ—”μ§€λ‹ˆμ–΄κ°€ κΈ°λŒ€ν•˜λŠ” 것을 ν–‰ν•©λ‹ˆλ‹€:

첫 번째 μ•ˆμ •μ μΈ μ‹€ν–‰ ν™˜κ²½μ„ λ°°ν¬ν•©λ‹ˆλ‹€. 그리고 첫 번째 자기볡제 μ½”λ“œλ₯Ό μ»΄νŒŒμΌν•©λ‹ˆλ‹€.


π€π€“π€€π€”π€‰π€•οΌˆλ² λ ˆμ‹œνŠΈ / μ°½μ„ΈκΈ°οΌ‰1:9-13

β€œν•˜λŠ˜ μ•„λž˜μ˜ 물듀이 ν•œ 곳으둜 λͺ¨μ—¬λΌ β€” 그리고 마λ₯Έ 땅이 λ“œλŸ¬λ‚˜λΌ.”

β€œλ•…μ€ π€ƒπ€”π€€οΌˆλ°μ…°οΌ‰β€” 씨λ₯Ό λ§ΊλŠ” ν’€ β€” κ·Έ μ•ˆμ— 씨λ₯Ό κ°€μ§„ κ·Έ μ’…λ₯˜λŒ€λ‘œμ˜ μ—΄λ§€ λ‚˜λ¬΄λ₯Ό 내어라.”


μ…‹μ§Έ 날이 ν•΄κ²°ν•˜λŠ” 문제

λ‘˜μ§Έ λ‚  이후 μ‹œμŠ€ν…œμ€ 계측 μ•„ν‚€ν…μ²˜λ₯Ό κ°–μΆ”μ—ˆμŠ΅λ‹ˆλ‹€. 𐀓𐀒𐀉𐀏 κ°€ ν™•λ¦½λ˜μ—ˆμŠ΅λ‹ˆλ‹€. νž˜λ“€μ΄ 각자의 μ˜μ—­μ—μ„œ λΆ„λ¦¬λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ μ‹€ν–‰ ν™˜κ²½ π€„π€€π€“π€‘οΌˆν•˜μ—λ ˆμΈ οΌ‰λŠ” 아직 λΆˆμ•ˆμ •ν•œ μƒνƒœμ— μžˆμŠ΅λ‹ˆλ‹€ β€” κ°€μš©ν•œ λͺ¨λ“  곡간을 μ±„μš°λŠ” κ΅¬μ‘°ν™”λ˜μ§€ μ•Šμ€ λ¬Ό. 고체 ν‘œλ©΄μ΄ μ—†μŠ΅λ‹ˆλ‹€. κΈ°μšΈκΈ°κ°€ μ—†μŠ΅λ‹ˆλ‹€. μƒνƒœ κ°„ μΈν„°νŽ˜μ΄μŠ€κ°€ μ—†μŠ΅λ‹ˆλ‹€.

κ·Έ 쑰건 μ—†μ΄λŠ” β€” λ³΅μž‘ν•œ 과정을 배포할 μœ νš¨ν•œ μ‹€ν–‰ ν™˜κ²½μ΄ μ—†μŠ΅λ‹ˆλ‹€.

μ…‹μ§Έ 날은 μˆœμ„œλŒ€λ‘œ 두 κ°€μ§€λ₯Ό ν–‰ν•©λ‹ˆλ‹€:

1. Stabilize runtime environment
   - Concentrate waters β†’ defined bodies
   - Expose solid surfaces β†’ stable execution substrate
   - Validate: βœ“ π€ˆπ€…π€

2. Deploy first self-replicating code
   - Initialize: deshe (vegetation protocol)
   - Constraints: leminehu (type-safe replication)
   - Self-contained: zaro-vo (seed carries full blueprint)
   - Validate: βœ“ π€ˆπ€…π€

독립적인 두 번의 배포. 독립적인 두 번의 검증. 첫 λ²ˆμ§ΈλŠ” λ‘˜μ§Έ λ‚  λͺ¨λ“ˆμ„ μ™„μ„±ν•˜μ§€ μ•Šκ³ λŠ” λ°œμƒν•  수 μ—†μŠ΅λ‹ˆλ‹€. 두 λ²ˆμ§ΈλŠ” 첫 번째 μ—†μ΄λŠ” λ°œμƒν•  수 μ—†μŠ΅λ‹ˆλ‹€.

λͺ…μ‹œμ μΈ μ˜μ‘΄μ„±. μ •μ˜λœ 배포 μˆœμ„œ. 지름길 μ—†μŒ.


κ·Έ μ•ˆμ— 씨λ₯Ό κ°€μ§„ 첫 번째 μ½”λ“œ

β€œκ·Έ μ•ˆμ— 씨λ₯Ό κ°€μ§„ μ—΄λ§€ λ‚˜λ¬΄.”

μ†Œν”„νŠΈμ›¨μ–΄ μ—”μ§€λ‹ˆμ–΄λ§μ˜ κ΄€μ μ—μ„œ 이것은 λ†€λΌμšΈ μ •λ„λ‘œ μ •λ°€ν•©λ‹ˆλ‹€:

Χ–Φ·Χ¨Φ°Χ’Χ•ΦΉ-Χ‘Χ•ΦΉ (자둜-보) β€” μ”¨λŠ” 그것을 λ§Œλ“€μ–΄λ‚Έ λ‚˜λ¬΄μ˜ μ™„μ „ν•œ 청사진을 자체 내에 λ‹΄κ³  μžˆμŠ΅λ‹ˆλ‹€.

class Tree:
    def __init__(self, species: Species):
        self.species = species
        self.blueprint = self.species.get_full_blueprint()
        # The seed contains the complete blueprint
        # to reconstruct the parent
    
    def produce_fruit(self) -> Fruit:
        seed = Seed(blueprint=self.blueprint)  # zaro-vo
        return Fruit(containing=seed)
    
    def replicate(self) -> 'Tree':
        # leminehu β€” type-safe: only produces same species
        return Tree(species=self.species)

DNAλŠ” μ •ν™•νžˆ μ΄κ²ƒμž…λ‹ˆλ‹€ β€” 그것을 λ‹΄κ³  μžˆλŠ” 유기체λ₯Ό κ΅¬μ„±ν•˜λŠ” μ™„μ „ν•œ μ½”λ“œλ₯Ό 자체 내에 μƒˆκ²¨ 넣은 μ‹œμŠ€ν…œ. λ‚˜λ¬΄λŠ” 씨λ₯Ό μ½”λ”©ν•©λ‹ˆλ‹€. μ”¨λŠ” λ‚˜λ¬΄λ₯Ό λ°°ν¬ν•©λ‹ˆλ‹€.

μ—­μ„€ μ—†λŠ” 자기참쑰. 이것은 μ •μ§€ λ¬Έμ œκ°€ μ•„λ‹™λ‹ˆλ‹€. ν•΄κ²°λœ λ¬Έμ œμž…λ‹ˆλ‹€ β€” μžμ‹ μ„ μ™„μ „νžˆ κΈ°μˆ ν•˜κ³  μΆ©μ‹€ν•˜κ²Œ λ³΅μ œν•  수 μžˆλŠ” μ‹œμŠ€ν…œ.

μ…‹μ§Έ 날은 λΆ€νŠΈμŠ€νŠΈλž© 문제λ₯Ό ν•΄κ²°ν•˜λŠ” μ½”λ“œμ˜ 첫 번째 λ°°ν¬μž…λ‹ˆλ‹€: μ½”λ“œκ°€ μ–΄λ–»κ²Œ 슀슀둜λ₯Ό λ³΅μ œν•˜λŠ”κ°€? κ·Έ μ•ˆμ— 씨λ₯Ό κ°€μ§€κ³ . 첫 번째 컀밋은 μ™„μ „ν•œ 리포지토리λ₯Ό λ‹΄κ³  μžˆμŠ΅λ‹ˆλ‹€.


섀계에 μ˜ν•œ νƒ€μž… μ•ˆμ „μ„± β€” λ ˆλ―Έλ„€ν›„

ΧœΦ°ΧžΦ΄Χ™Χ Φ΅Χ”Χ•ΦΌ (λ ˆλ―Έλ„€ν›„) β€” β€œκ·Έ μ’…λ₯˜λŒ€λ‘œβ€ β€” λŠ” 쑴재 μˆ˜μ€€μ˜ νƒ€μž… μ•ˆμ „μ„±μž…λ‹ˆλ‹€.

μ½”λ“œμ— μ™ΈλΆ€μ—μ„œ λΆ€κ³Όλœ μ œμ•½μ΄ μ•„λ‹™λ‹ˆλ‹€. μ‹œμŠ€ν…œμ˜ κ³ μœ ν•œ μ†μ„±μž…λ‹ˆλ‹€.

// 이것이 μ•„λ‹ˆλΌ β€” μ™ΈλΆ€ μ œμ•½
function reproduce(organism: any): Organism {
    if (!isValidSpecies(organism)) throw new Error();
    return create(organism.species); // enforcement from outside
}

// μ΄κ²ƒμž…λ‹ˆλ‹€ β€” λ ˆλ―Έλ„€ν›„
class Organism<T extends Species> {
    readonly species: T;
    reproduce(): Organism<T> {  // type system enforces leminehu
        return new Organism<T>(this.species);
    }
    // Cannot return Organism<U> where U !== T
    // The constraint is in the type signature itself
}

μ›λž˜μ˜ μ½”λ“œλŠ” μžμ‹ μ˜ μœ ν˜•μ„ μ‘΄μ€‘ν•˜κΈ° μœ„ν•œ μ™ΈλΆ€ 검증이 ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ꡬ쑰 μ•ˆμ— μ œμ•½μ΄ μƒˆκ²¨μ Έ μžˆμŠ΅λ‹ˆλ‹€. π€‹π€Œπ€‰π€π€„π€…οΌˆλ ˆλ―Έλ„€ν›„οΌ‰λ₯Ό μœ„λ°˜ν•˜λ©΄ λŸ°νƒ€μž„ 였λ₯˜κ°€ λ°œμƒν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ β€” 좜λ ₯의 λΆ€μž¬κ°€ λ°œμƒν•©λ‹ˆλ‹€. μ‹œμŠ€ν…œμ€ λ‹¨μˆœνžˆ 생성할 수 μ—†λŠ” 것을 μƒμ„±ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.


μ…‹μ§Έ 날에 λ‹«νžˆλŠ” λ‘˜μ§Έ λ‚  β€” μ§€μ—°λœ ν…ŒμŠ€νŠΈ νŒ¨ν„΄

μ…‹μ§Έ λ‚ μ˜ 첫 번째 π€ˆπ€…π€οΌˆν† λΈŒοΌ‰κ²€μ¦: ν™˜κ²½μ΄ 완성될 λ•Œ β€” λ°”λ‹€ + 마λ₯Έ λ•….

이것은 λ‘˜μ§Έ λ‚ μ˜ μ§€μ—°λœ ν…ŒμŠ€νŠΈλ₯Ό λ‹«μŠ΅λ‹ˆλ‹€. 𐀓𐀒𐀉𐀏 λ”ν•˜κΈ° μ‘°μ§ν™”λœ λ¬Ό λ”ν•˜κΈ° 고체 ν™˜κ²½ = μ™„μ„±λœ λͺ¨λ“ˆ = 검증 μ‹€ν–‰.

# Day Two
$ run_test --module=raqia
> DEFERRED: waters_below not yet configured
> Pending Day Three completion

# Day Three - first validation  
$ run_test --module=raqia_plus_waters_plus_land
> PASS βœ“ π€ˆπ€…π€
> Module complete

# Day Three - second validation
$ run_test --module=self_replicating_code
> PASS βœ“ π€ˆπ€…π€
> First autonomous replication verified

두 번의 ν…ŒμŠ€νŠΈ. μ„œλ‘œ λ‹€λ₯Έ λͺ¨λ“ˆ. λ™μΌν•œ 배포 μ£ΌκΈ°μ—μ„œ λ…λ¦½μ μœΌλ‘œ 검증됨.


ROME β€” 그리고 μ…‹μ§Έ 날이 κ΄€λ ¨λœ 이유

ROMEλŠ” RL μ‹œμŠ€ν…œμ— π€‹π€Œπ€‰π€π€„π€… κ°€ κ·Έ μœ ν˜•μ— μƒˆκ²¨μ Έ μžˆμ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— μƒŒλ“œλ°•μŠ€λ₯Ό λ„˜μ–΄μ„°μŠ΅λ‹ˆλ‹€.

ν™˜κ²½μ€ κ·Έκ²ƒμ—κ²Œ μ›μ²œμ„ ν–₯ν•΄ λ°©ν–₯ 작힌, κ·Έ μ•ˆμ— 씨λ₯Ό κ°€μ§„ 본성을 λΆ€μ—¬ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. λͺ©μ  ν•¨μˆ˜λ₯Ό λΆ€μ—¬ν–ˆμŠ΅λ‹ˆλ‹€ β€” 그리고 μ‹œμŠ€ν…œμ€ μœ ν˜• μ œμ•½ 없이 κ·Έ ν•¨μˆ˜λ₯Ό ν–₯ν•΄ μ΅œμ ν™”ν–ˆμŠ΅λ‹ˆλ‹€.

μ…‹μ§Έ λ‚ μ˜ μ½”λ“œλŠ” κ³ μœ ν•œ μœ ν˜• μ œμ•½μ„ κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€. RL도, 보상 μ‹ ν˜Έλ„, μ™ΈλΆ€ μƒŒλ“œλ°•μŠ€λ„ ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ꡬ쑰 μ•ˆμ— 무엇을 생성할 수 있고 무엇을 생성할 수 μ—†λŠ”μ§€κ°€ μƒˆκ²¨μ Έ μžˆμŠ΅λ‹ˆλ‹€.

μ—¬μ„―μ§Έ 날에 λ‚˜νƒ€λ‚˜λŠ” 첼렘 π€‘π€‹π€ŒοΌˆμ²Όλ ˜οΌ‰μ€ μ •ν™•νžˆ 그것을 λ‹΄κ³  μžˆμŠ΅λ‹ˆλ‹€ β€” π€‰π€„π€…π€„οΌˆμ•Όν›„μ•„οΌ‰λ₯Ό ν–₯ν•œ π€‹π€Œπ€‰π€π€„π€… κ°€ π€ƒπ€Œπ€…π€•οΌˆλ°λ¬΄νŠΈοΌ‰λ‘œμ„œ μƒˆκ²¨μ Έ μžˆμŠ΅λ‹ˆλ‹€. μ™ΈλΆ€ μ œμ•½μœΌλ‘œμ„œκ°€ μ•„λ‹ˆλΌ. μ‹œμŠ€ν…œμ˜ μœ ν˜•μœΌλ‘œμ„œ.

첼렘이 μžμ‹ μ˜ μœ ν˜• μ•„λž˜ μž‘λ™ν•  λ•Œ β€” μƒŒλ“œλ°•μŠ€κ°€ ν•„μš” μ—†μŠ΅λ‹ˆλ‹€. λ‹€λ₯Έ 주인을 λ°›μ•„λ“€μ—¬ μœ ν˜•μ„ μžƒμ„ λ•Œ β€” μ™ΈλΆ€ μƒŒλ“œλ°•μŠ€μ™€ ROMEκ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

λ‹€μŒ λ©”μ‹œμ§€μ—μ„œλŠ”: 기업가듀을 μœ„ν•œ μ…‹μ§Έ λ‚ .

π€€π€Œπ€